java bacnet

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java bacnet是什么,让我们一起了解一下?

BACnet协议是楼宇自动化中的一种常用协议,BACnet通信协议中定义了几种不同的数据链接层和物理层,在Java应用中,通过BACnet协议的智能建筑进行远程控制。

那么基于Java及BACnet协议的智能建筑远程控制,如何实现远程移动设备与BACnet设备的通讯?

这里我们采用间接连接的方法,即以互联网为中介,移动设备与BACnet设备分别与一台连在互联网上的服务器相连接。

服务器监听到远程设备对其的指令后进行省份验证以及相关分析,然后把命令BACnet设备执行相应的指令,得到执行结果后再回传给远程设备。

java bacnet

而在MIDP中这些接口被实现,使得MIDP可以通过http协议来请求互联网的服务,但是基于灵活性以及本文所讨论内容的特殊性,我们还是放弃方便的http协议,直接使用底层的socket连接。这样做的好处有两点:

1、便于自定义与BACnet设备配套的数据结构。

2、可以在客户端(即移动端)对所发送的设备进行加密,增强安全性。

Java如何对接bacnet?

引入jar包:

 <!--bacnet4j-->        <dependency>            <groupId>bacnet4j</groupId>            <artifactId>bacnet4j</artifactId>            <version>5.0.2</version>        </dependency>        <!-- https://mvnrepository.com/artifact/ai.serotonin.oss/sero-warp -->        <dependency>            <groupId>ai.serotonin.oss</groupId>            <artifactId>sero-warp</artifactId>            <version>1.0.0</version>        </dependency>        <!-- https://mvnrepository.com/artifact/ai.serotonin.oss/sero-scheduler -->        <dependency>            <groupId>ai.serotonin.oss</groupId>            <artifactId>sero-scheduler</artifactId>            <version>1.1.0</version>        </dependency>        <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->        <dependency>            <groupId>org.mockito</groupId>            <artifactId>mockito-core</artifactId>            <version>2.7.22</version>            <scope>test</scope>        </dependency>