bacnet,java
<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设备执行相应的指令,得到执行结果后再回传给远程设备。
而在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>