我们暂时使用统一的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
浏览器访问即可,然后到后台查看数据是否有变化。