新农宝盒TCP服务器通讯协议

我们暂时使用统一的token:6f289b7f11084520bd2aad8e425ee9b4

我们的服务器IP:101.201.143.114

我们的测试服务器地址:http://test.xinnongbaohe.com/web/application/api/


后台:

http://test.xinnongbaohe.com/web/application/manage/

账号:DMC@dever.cc

密码:admin_123

可以到:设备管理--》出厂产品管理中查看数据

http协议:

1.1、客户端向服务器发送数据:

地址:http://test.xinnongbaohe.com/web/application/api/?update.sensor

参数:

{"param":{"gateway":"产品标识","data":[{"key":"a1","value":7},{"key":"a2","value":51}]}}

 

tcp协议:

2.1、客户端向服务器发送登录注册信息:

地址:101.201.143.114:30000

参数:

{"method":"api/tcp.login","param":{"gateway":"产品标识","token":"用户token"}}


登录成功将返回tcp_id,之后的请求中,如果需要持久连接,请在param中带上tcp_id,否则服务器将在响应客户端之后断开连接。


2.2、客户端向服务器发送数据:

地址:101.201.143.114:30000

参数:

{"method":"api/tcp.update","param":{"tcp_id":"登录时得到的tcp_id","gateway":"产品标识","type":"sensor","data":[{"key":"a1","value":7},{"key":"a2","value":51}]}}

2.3、服务器控制客户端的控制设备:

地址:101.201.143.114:30000

请先进行登录。参考2.1。

服务器点击控制设备里的“启动”“关闭”,将会给客户端发送以下数据:

{"method":"send", "gateway": "产品标识","key":"设备标识","server":"服务器端的信息,请直接返回给服务器端", "value":"服务器端发过来的值"}

客户端得到以上数据后,可以根据key来识别设备,设置value,然后发出如下信息做出响应:

{"method":"api/tcp.response","param":{"gateway":"产品标识","key":"设备标识","server":"服务器端的信息","tcp_id":"登录时得到的tcp_id","status":"1,状态,值为1则执行成功","status":"客户端发出的消息"}


服务器端将根据value的值,来更改设备的值。


2.4、客户端向服务器获取数据:

地址:101.201.143.114:30000

参数:

{"method":"api/tcp.data","param":{"gateway":"产品标识","type":"sensor","key":"a1,a2"}}


其中,key是选填,如果为空,则获取所有类型的数据


服务器将返回如下数据:

{"msg":"success","status":1,"data":[{"key":"a1","value":"10","unit":"\u2103"},{"key":"a2","value":"4470","unit":"%"}],"code":1}


2.5、客户端向服务器获取服务器时间:

地址:101.201.143.114:30000

参数:

{"method":"api/tcp.time","param":{"gateway":"产品标识","type":"1"}}


type为1,则获取时间戳,否则获取格式为:2016-11-11 11:11:11这样的时间


三、返回参数


3.1、服务器每次返回的数据,都是有一定的格式的,如请求时间接口:

{"msg":"success","status":1,"data":"2016-11-21 16:57:32","code":1}


其中,msg是服务器返回的消息,status为1是成功,code是状态码,data才是返回的数据


四、测试


4.1、客户端向服务器端发送数据:

tcp协议: http://test.xinnongbaohe.com/web/application/api/?tcp.client?gateway=6759411986

http协议: http://test.xinnongbaohe.com/web/application/device/?data.test_api


浏览器访问即可,然后到后台查看数据是否有变化。