古天乐代言太阳娱乐app-20071.com太阳城-2138.com 
首页 > 服务中心 > 晶控教室 >
太阳集团游戏2138网站

运用http和谈编程近程掌握KC868-H8掌握盒

2019-01-10 14:57
分享到:
经由过程浏览第一期和第二期的文章,我们曾经进修了KC868-H8智能掌握盒的通信协议,同时,也正在局域网形式中,能够对掌握盒停止了继电器的开、闭操纵。之前,我们也有提到过,一些关于近程掌握时,所用到的指令参数区分,今天我们将为掌握盒插上近程掌握的同党,让您可以或许在任何有网络情况的状况下,能够天真操控掌握盒,实现继电器开关的掌握,和输入状况的读取。

  起首,我们来看一下通讯道理,我们之前是正在局域网内去掌握掌握盒,我们把掌握盒的网络参数设置成“TCP服务器”形式,从字面明白,掌握盒作为服务器运用,客户端经由过程点对点的体式格局去和掌握盒竖立衔接,并停止数据交互的通讯。但因为我们接入公网时的IP地点被ISP所分派到的都是静态的,以是,出设施长时间让通讯两边能够竖立恒久的衔接(除非您分配给掌握盒的衔接公网的IP地点是流动的),因而,我们经由过程云服务器的架设,让掌握盒和客户端之间可以或许架起一道桥梁,停止近程的数据交互通讯。客户端经由过程网络和云服务器相连;掌握盒硬件装备也经由过程网络和云服务器相连,因而,掌握盒和客户端相互皆能够经由过程云服务器实现相互之间的数据通信了。

  接下来,我们便来看一下,当掌握盒处于近程掌握形式时,它的一些网络参数和通信协议指令,会有哪些区分。

  起首,我们将掌握盒的网络参数中的“事情形式”停止修正,设置成“UDP形式”,同时,将“目标IP或域名”那栏设置成我们的云服务器地点“sdk.hificat.com”,“目标端口”为“5555”,掌握盒的“IP形式”发起能够设置成“静态获得”,即由路由器DHCP动态分配IP地点,条件是路由器上要开启“DHCP动态分配IP”的效劳,一样平常路由器默许都是开启的。
古天乐代言太阳娱乐app

  设置完成网络参数后,掌握盒上电,便会主动衔接到云服务器上,衔接胜利后,网心灯会酿成“绿色”。

20071.com太阳城

  然后,我们便能够运用下令去停止相干的掌握了。我们举个最简朴的例子,我们经由过程网络浏览器发送http下令串去翻开第一起继电器开关。起首,我们看一下经由过程近程体式格局发送http下令串的下令构造。.
 
  接口地点:http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action
 
  接口参数:
deviceCode - KC868-H8/KC868-H32智能掌握盒序列号
command - 要传送的通信协议下令
 
  示例:
  HTTP 恳求:
  http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action?deviceCode=56a890e6888793c97ed33f17&command=RELAY-SET-1,1,1
  云服务器返回:
  {
    "message":"Command: RELAY-SET-1,1,1 was sent to device:
    56a890e6888793c97ed33f17 successfully.",
    "result":"RELAY-SET-1,1,1,OK\u0000",
    "status":"0"
  }
 
deviceCode为智能掌握盒的序列号,外壳上会有粘二维码和序列号,若是找不到序列号,也能够运用读取序列号的通信协议去得到。
Command 前面跟的和谈下令就是我们之前所讲的掌握盒通信协议,包孕掌握继电器开关,查询继电器状况和读取输入端状况的和谈内容。

  注重:当我们正在停止http和谈近程掌握掌握盒的时刻,之前我们引见的掌握盒通信协议中,通常有“包序号”的字节参数,正在每次发下令是,参数停止自删赋值,局限为1--255。如第一条下令发送的参数为1,第二条为2,第三条为3,以此类推,刚参数为255时,下一个参数为1最先,继承停止自删。

  上面是我们正在网络浏览器中输入下令串,实行后的现实结果,能够看到浏览器的有数据返回,同时,掌握盒第1路所接的灯胆被点亮。

http和谈

2138.com

  我们例举几条常用的通信协议下令,如:
 
1.零丁掌握某一路继电器的开取闭:
发送:RELAY-SET-x(1字节pack_num),x(1字节继电器序号),x(1字节行动0/1)
返回:RELAY-SET-x(1字节pack_num),x(1字节继电器序号),x(1字节行动0/1),OK/ERROR
 
近程掌握下令串为:
http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action?deviceCode=56a890e6888793c97ed33f17&command=RELAY-SET-1,1,1  示意近程掌握翻开第1路继电器,注重:包序号为1
http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action?deviceCode=56a890e6888793c97ed33f17&command=RELAY-SET-2,1,0  示意近程掌握封闭第1路继电器,注重:包序号为2,停止了自删
 
2.零丁查询某一路继电器当前开关状况:
发送:RELAY-READ-x(1字节pack_num),x(1字节继电器序号)
返回:RELAY-READ-x(1字节pack_num),x(1字节继电器序号),x(1字节状况0/1),OK/ERROR
 
近程掌握下令串为:
http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action?deviceCode=56a890e6888793c97ed33f17&command=RELAY-READ-3,1  示意近程查询第1路继电器状况,注重:包序号为3
 
3.查询触发输入端状况:
发送:RELAY-GET_INPUT-x(1字节pack_num)
返回:RELAY-GET_INPUT-x(1字节pack_num),x(1字节状况),OK/ERROR
 
近程掌握下令串为:
http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action?deviceCode=56a890e6888793c97ed33f17&command=RELAY-GET_INPUT-4  示意近程查询触发输入端状况,注重:包序号为4
 
4.一次掌握多路继电器的开取闭:
KC868-H8:
发送:RELAY-SET_ALL-x(1字节pack_num),D0
返回:RELAY-SET_ALL-x(1字节pack_num),D0,OK/ERROR
 
KC868-H32:
发送:RELAY-SET_ALL-x(1字节pack_num),D3,D2,D1,D0
返回:RELAY-SET_ALL-x(1字节pack_num),D3,D2,D1,D0,OK/ERROR
 
近程掌握下令串为:
http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action?deviceCode=56a890e6888793c97ed33f17&command=RELAY-SET_ALL-5,255  示意近程掌握8路继电器悉数为“翻开”,注重:包序号为5
 
5.一次读取多个继电器当前开关状况:
发送:RELAY-STATE-x(1字节pack_num)
返回:
KC868-H32:RELAY-STATE-x(1字节pack_num),D0,OK/ERROR
KC868-H8:RELAY-STATE-x(1字节pack_num),D3,D2,D1,D0,OK/ERROR
 
近程掌握下令串为:
http://sdk.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/sendCommand.action?deviceCode=56a890e6888793c97ed33f17&command=RELAY-STATE-5  示意近程查询8路继电器确当前状况,注重:包序号为5
 
前面我们曾经看了查询继电器状况的通信协议,那是按某一路停止查询的。我们也能够停止一次读取多个继电器状况的体式格局去停止查询。好比:发送“RELAY-STATE-1”,那么凭据掌握盒差别型号的状况,会有两种返回状况的字符串,若是掌握盒是KC868-H8的型号,那会返回“RELAY-STATE-1,255,OK”,“255”则示意掌握盒8路继电器确当前状况,将十进制数“255”转成二进制数为“11111111”,“1”示意“翻开”状况,前面我们曾经提到过,以是,那8路继电器确当前状况均为“翻开”。一样,若是获得的数转成二进制后,某一位是数字“0”的话,那么代表该路的继电器当闭的状况为“封闭”状况。

到行,我们曾经周全进修并把握了智能掌握盒的近程掌握及查询状况的要领,经由过程写顺序能够对异地的装备实现近程掌握,正在以后的连载教程中,我们会为人人引见一下若是经由过程输入端获得状况从而实现智能化联动掌握的实例,那也是智能家居现在对照常见的运用,也是人工智能的根蒂根基功用。