总体说明
本功能是通过保持一个TCP长连接实现在互联网上对无公网IP设备的及时反向控制,并返回控制的结果。
注意:
如果想保持住链接,请保证在1分钟内有数据发送过去(发送用户网关数据或者上传数据都可以),否则服务器端会主动断开连接。
如果只想反向控制,仅需要定时发送网关数据,并及时响应服务器发来的各种请求即可。
如果需要上传测量设备数据,需要在首次连接时发送网关数据,然后定时上传测量设备数据。
发送和接收都以&^!为结束符来判断是否完整包。
手动修改网关的API地址
也可以通过API调用自动更新,参照网站的开发者指南
http://tcp.lewei50.com:9965/?method=send&gatewayNo=你的网关号
公网IP用:tcp.lewei50.com
发送用户网关数据到TCP服务器
服务器:tcp.lewei50.com 端口:9960
发送格式 |
JSON字符串 |
发送内容 |
{ "method": "update", "gatewayNo": "你的网关号", "userkey": "你的userkey" }&^!
|
说明 |
method固定为update TCP服务器对于1分钟之内未发送数据的客户端主动断开,所以请保证定时间隔小于1分钟。 必须发送该数据才能让TCP服务器识别出用户身份,才能进行下一步的上传数据,每次重新连接都需要重新发送该数据。 |
接收TCP服务器推送的控制命令
调用API说明: http://www.lewei50.com/dev/apiinfo/11
乐联网收到控制命令后会像控制端推送数据:
推送格式 |
JSON字符串 |
推送内容 |
{ "f": "writeserial", "p1": "xxx", "p2": "xxx" }&^! 最多支持到p5,分别对应API说明里的参数 |
说明 |
根据f和p1-p5即可知道用户想控制什么,然后做相应处理返回即可。 |
需要您处理完之后按如下格式返回:
返回格式 |
JSON字符串 |
返回内容 |
{ "method": "response", "result": { "successful": true, "message": "xxxx" } }&^! |
说明 |
method固定为response,result根据实际返回 |
通过TCP长连接上传数据
发送格式 |
JSON字符串 |
发送内容 |
{ "method": "upload", "data":[ { "Name":"T1", "Value":"1" }, { "Name":"01H1", "Value":"96.2" } ] }&^!
|
说明 |
method固定为upload data格式就是之前通过API上传数据时的post数据格式:参照http://www.lewei50.com/dev/apitest/3
|
通过TCP长连接控制其他网关
发送格式 |
JSON字符串 |
发送内容 |
{ "method": "control", "gatewayNo":"02", "f":"writeSerial", "p1":"hello" }&^!
|
说明 |
method固定为control 必须传递gatewayNo(要控制的网关号)和f 具体参数参照:http://www.lewei50.com/dev/apitest/11 支持p1-p5 共5个参数,不需要可以不传
|
乐联网针对控制命令的默认方法:
接收TCP服务器推送的获取控制设备状态命令
调用API说明: http://www.lewei50.com/dev/apiinfo/11
乐联网收到控制命令后会像控制端推送数据:
推送格式 |
JSON字符串 |
推送内容 |
{ "f": "getAllSensors" }&^!
|
说明 |
f固定为getAllSensors |
需要您处理完之后按如下格式返回:
返回格式 |
JSON字符串 |
返回内容 |
{ "method": "response", "result": { "successful": true, "message": "xxxx", "data":[ {"id":"C1", "value":"1" }, { "id":"C2", "value":"2" }]
} }&^! |
说明 |
method固定为response,result根据实际返回 |
接收TCP服务器推送的设置控制设备状态命令
调用API说明: http://www.lewei50.com/dev/apiinfo/11
乐联网收到控制命令后会像控制端推送数据:
推送格式 |
JSON字符串 |
推送内容 |
{ "f": "updateSensor", "p1": "C1",
"p2": "2" }&^!
|
说明 |
f固定为updateSensor p1为要控制的设备id,p2为要设置的值 |
需要您处理完之后按如下格式返回:
返回格式 |
JSON字符串 |
返回内容 |
{ "method": "response", "result": { "successful": true, "message": "xxxx" } }&^! |
说明 |
method固定为response,result根据实际返回 |