软网关方式 - 设备控制
所有设备配置完成后,即可尝试对设备进行控制。
1. 编程控制
在编写程序前,可在软网关的接口页面,按照引导来测试控制设备,
以便了解接口工作机制。
接口请求:
{"device":设备ID,"order":{命令}}
软网关启动后,将开放HTTP接口供三方应用调用。
向设备下发命令的接口地址为:
http://软网关IP地址:端口号/api/control
如果为网关设置了密码,则需要在请求地址中携带sign参数。
http://软网关IP地址:端口号/api/control
例如:网关的IP地址为:192.168.1.123,端口为1982
那么请求地址为:http://192.168.1.123:1982/api/control
那么请求地址为:http://192.168.1.123:1982/api/control
如果为网关设置了密码,则需要在请求地址中携带sign参数。
例如:如果为设备指定了密码pwd“123”,那么请求地址应为:
http://192.168.1.123:1982/api/control?sign=202cb962ac59075b964b07152d234b70
sign=md5(pwd),所以sign的值为md5("123")
http://192.168.1.123:1982/api/control?sign=202cb962ac59075b964b07152d234b70
sign=md5(pwd),所以sign的值为md5("123")
请求协议:HTTP;请求方式:POST;数据格式为JSON,具体如下:
{"device":设备ID,"order":{命令}}
例如:打开ID为88888的智能墙壁开关,POST的数据为:
{"device":88888,"order":{"power":1}}
产品支持的命令,请参阅每款产品的产品手册,有详细描述
特别要注意的是:
对于语音播报类产品:设备不支持utf-8字符集,
因此:
在向设备下发播报命令{"play:gbk:16":"content"}时,
需要将 content 转码为gbk或gb2312字符集,再转16进制转码后再发送。
例如:
{"play:gbk:16":"你好"},
“你好”转码后的结果为:c4e3bac3,发送给设备的命令应为:
{"play:gbk:16":"c4e3bac3"}
接口返回信息:
请求成功后,设备将返回如下信息。
返回示例:
请求成功后,设备将返回如下信息。
参数 / 名称 | 说明 |
---|---|
状态码code |
1. 设备正确响应返回200; 2. 设备未正确响应返回>200; |
数据data |
1. code==200时,设备在data中返回执行后的消息内容 2. code!=200时:没有data返回 |
消息msg |
1. code==200时,返回 ok 2. code!=200时:返回相应的异常信息 |
返回示例:
2. 远程控制
如果需要在软网关所在网络外,远程控制设备,
可以通过对软网关所在网络的路由进行设置,将外网的请求,映射到软网关的IP以及端口。