首页 > 最新动态 > 晶控课堂 >

基于TCPClient模式的32路继电器盒二次开发

2017-10-28 09:53
分享到:
首选第一步,我们需要晶控的32路控制继电器一个,电脑,网线等。
再从官网上下载我们提供的war包(relay-tcpClient-32.war),导入开发工具(eclipse等);
我这里使用的是eclipse;
把war包导入eclipse 这边就不演示了,
我们先把32路控制盒 通上电源和插上网线
32路继电器控制
然后我们在电脑上打开ZLVirCom4软件,
网络参数设置 
 
找到我们的继电器点进去,修改,工作模式选为tcp客户端,即我们的32路控制盒相当于tcp客户端,目标ip是我本机的ip,端口选为9999,这个我在程序里设置为9999,改完之后点击修改,再点击重启设备
 
 
主机ip设置 
 
 
 
代码中我绑定监听端口为9999;
智能家居主机端口设置 
这里我开了一个线程去监听
网关通信 
 
之后在eclipse导入relay-tcpClient-32.war包之后 运行,因为32路控制盒我们已经设置过了,所以他会主动来连我们的服务器,当32路控制盒连接上的时候,在我们的console中我们可以看到
通信线程 
表示已连接成功,连接成功之后我们已经跟继电器发了2次数据了
继电器控制 
多线程通信 
之后在我们的浏览器中可以控制了,
智能家居web控制页 
我点击第6路继电器,这时候我们的服务器即我们的本机电脑给32路控制盒发的指令是
控制继电器指令 
这里的id代表的是第几路开关,command代表是是开关,1代表开,0代表关;
 
我们截取console中的信息,
控制协议 
 
32路控制盒返回给我们的指令OK代表的是指令正确,控制完成,现在我们的第11路继电器已经通电,我再多点击几个开关之后,刷新页面,
 
控制盒协议 
 
刷新页面后,上面的开关按钮会重置,现在我们不清楚每路继电器的开关情况,
控制页面 
 
我们可以点击下面的 查询按钮,
控制web 
会显示目前继电器的通电情况, 发送的指令是
发送指令 
 
我们在console中可以看到,1在这里是没有意义的,20,0,36,16是有用的,转换为2进制为10100,0,100100,10000注意,要从右往左,这里第5路,第11路,第14路,第27路,第29路是通电的。
继电器通信协议