服务器采用阿里云的简单服务器。
设备是自己开发的,协议已经完成
客户端自己开发
设备与客户端连接的中间服务器数据转发软件
服务器的作用是两边牵手,数据转接
1、设备会用唯一代码去连接服务器
设备连接服务器,设备发送数据:
{"cmd":"003","deviceId":"353451040016774","acm":"OFF","report":"ON","reply":"OFF","mode":"MODE0","got":"1000","div":"MS","alarm1":"ON","alarm1mode":"SMS","alarm1T":"00","alarm2":"ON","alarm2mode":"SMS","alarm2T":"00","alarm":"11","out":"00","time":"20141221211246","status":"0","end":"0"}
对于服务器来说,不用管具体内容,只要知道 "deviceId":"353451040016774" 这个字段。这里的代码是 设备的唯一代码
连接了服务器以后,服务器就知道这个设备在线了。
2、客户端会给服务器发送数据:(这里的105,就是客户端的代码)
{"cmd":”105”,"deviceId":"353451040016774","info":"request","id":1}
如果这个设备在线,就给客户端回复:
{"cmd":"105","result_code":0,"connnected":2}
{‘cmd‘:"105","result_code":1,‘error_info‘:‘device not exsit‘:2}
{‘cmd‘:"105",‘result_code‘:1,‘error_info‘:‘device offline‘:2}
接下来就是客户端给服务器发送数据:
{"cmd":”105”,"deviceId":"353451040016774","info":"#PWD123456#GOT?","id":1}
服务器在收到数据后,去掉"deviceId":"353451040016774" 字段
然后把数据 {"cmd":”101”,"info":"#PWD123456#GOT?","id":1} 发送到 设备:"deviceId":"353451040016774"
3、设备也会给服务器回复数据,服务器把数据直接转发给客户端软件,即可。
也就是服务器在设备和客户端之间建立了一个桥