12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <h1>新农宝盒TCP服务器通讯协议</h1>
- <p>我们暂时使用统一的token:6f289b7f11084520bd2aad8e425ee9b4</p>
- <p>我们的服务器IP:101.201.143.114</p>
- <p>我们的测试服务器地址:<a htarget="_blank" ref="http://test.xinnongbaohe.com/web/application/api/">http://test.xinnongbaohe.com/web/application/api/</a></p>
- <p><br></p>
- <p>后台:</p>
- <p><a target="_blank" href="http://test.xinnongbaohe.com/web/application/manage/">http://test.xinnongbaohe.com/web/application/manage/</a></p>
- <p>账号:<a href="mailto:DMC@dever.cc">DMC@dever.cc</a></p>
- <p>密码:admin_123</p>
- <p>可以到:设备管理--》出厂产品管理中查看数据</p>
- <p>http协议:</p>
- <p>1.1、客户端向服务器发送数据:</p>
- <p>地址:<a target="_blank" href="http://test.xinnongbaohe.com/web/application/api/?update.sensor" rel="nofollow">http://test.xinnongbaohe.com/web/application/api/?update.sensor</a></p>
- <p>参数:</p>
- <p>{"param":{"gateway":"产品标识","data":[{"key":"a1","value":7},{"key":"a2","value":51}]}}</p>
- <p> </p>
- <p>tcp协议:</p>
- <p>2.1、客户端向服务器发送登录注册信息:</p>
- <p>地址:101.201.143.114:30000</p>
- <p>参数:</p>
- <p>{"method":"api/tcp.login","param":{"gateway":"产品标识","token":"用户token"}}</p>
- <p><br></p>
- <p>登录成功将返回tcp_id,之后的请求中,如果需要持久连接,请在param中带上tcp_id,否则服务器将在响应客户端之后断开连接。</p>
- <p><br></p>
- <p>2.2、客户端向服务器发送数据:</p>
- <p>地址:101.201.143.114:30000</p>
- <p>参数:</p>
- <p>
- {"method":"api/tcp.update","param":{"tcp_id":"登录时得到的tcp_id","gateway":"产品标识","type":"sensor","data":[{"key":"a1","value":7},{"key":"a2","value":51}]}}</p>
- <p>2.3、服务器控制客户端的控制设备:</p>
- <p>地址:101.201.143.114:30000</p>
- <p>请先进行登录。参考2.1。</p>
- <p>服务器点击控制设备里的“启动”“关闭”,将会给客户端发送以下数据:</p>
- <p>{"method":"send", "gateway": "产品标识","key":"设备标识","server":"服务器端的信息,请直接返回给服务器端", "value":"服务器端发过来的值"}</p>
- <p>客户端得到以上数据后,可以根据key来识别设备,设置value,然后发出如下信息做出响应:</p>
- <p>
- {"method":"api/tcp.response","param":{"gateway":"产品标识","key":"设备标识","server":"服务器端的信息","tcp_id":"登录时得到的tcp_id","status":"1,状态,值为1则执行成功","status":"客户端发出的消息"}</p>
- <p><br></p>
- <p>服务器端将根据value的值,来更改设备的值。</p>
- <p><br></p>
- <p>2.4、客户端向服务器获取数据:</p>
- <p>地址:101.201.143.114:30000</p>
- <p>参数:</p>
- <p>
- {"method":"api/tcp.data","param":{"gateway":"产品标识","type":"sensor","key":"a1,a2"}}</p>
- <p><br></p>
- <p>其中,key是选填,如果为空,则获取所有类型的数据</p>
- <p><br></p>
- <p>服务器将返回如下数据:</p>
- <p>{"msg":"success","status":1,"data":[{"key":"a1","value":"10","unit":"\u2103"},{"key":"a2","value":"4470","unit":"%"}],"code":1}</p>
- <p><br></p>
- <p>2.5、客户端向服务器获取服务器时间:</p>
- <p>地址:101.201.143.114:30000</p>
- <p>参数:</p>
- <p>
- {"method":"api/tcp.time","param":{"gateway":"产品标识","type":"1"}}</p>
- <p><br></p>
- <p>type为1,则获取时间戳,否则获取格式为:2016-11-11 11:11:11这样的时间</p>
- <p><br></p>
- <p>三、返回参数</p>
- <p><br></p>
- <p>3.1、服务器每次返回的数据,都是有一定的格式的,如请求时间接口:</p>
- <p>{"msg":"success","status":1,"data":"2016-11-21 16:57:32","code":1}</p>
- <p><br></p>
- <p>其中,msg是服务器返回的消息,status为1是成功,code是状态码,data才是返回的数据</p>
- <p><br></p>
- <p>四、测试</p>
- <p><br></p>
- <p>4.1、客户端向服务器端发送数据:</p>
- <p>tcp协议: <a target="_blank" href="http://test.xinnongbaohe.com/web/application/api/?tcp.client?gateway=6759411986">http://test.xinnongbaohe.com/web/application/api/?tcp.client?gateway=6759411986</a></p>
- <p>http协议: <a target="_blank" href="http://test.xinnongbaohe.com/web/application/device/?data.test_api">http://test.xinnongbaohe.com/web/application/device/?data.test_api</a></p>
- <p><br></p>
- <p>浏览器访问即可,然后到后台查看数据是否有变化。</p>
|