WIFI方式准备工作
选用ESP8266串口WIFI模块,通过AT指令控制WIFI模块接入互联网,依次完成与接入互联网、与OneNet服务器建立TCP连接、传输数据等操作,ESP8266串口WIFI模块硬件实物图如下:
与PC连接得实物图如下:
RestFul API上传数据
串口配置完成,就可以利用串口调试工具操作ESP8266串口WIFI模块,使其与OneNet建立连接、传输数据。
首先在模块串口调试工具中输入“AT”并加上回车,点击“手动发送”按钮,WIFI模块返回“OK”,说明模块工作正常,如下图:
1)配置WIFI模块;
模块配置和用RestFul API接入OneNet相同,依次发送如下几个命令到WIFI模块:
AT+CWMODE=3 //设置WIFI应用模式
AT+RST //重置WIFI模块
AT+CIFSR//查询本地IP
AT+CWJAP="your ssid","password" //连接无线路由器
注意:这些配置完成后,若模块重新上电,可直接进入第二步,与服务器建立TCP连接。
2)和OneNet服务器建立TCP连接,依次发送命令:
AT+CIPSTART="TCP","183.230.40.33",80 //和服务器建立TCP连接
AT+CIPMODE=1 //进入透明传输模式
AT+CIPSEND //开始传输
命令执行结果如下图所示:
到此,我们可以发送前面准备好的数据了,发送HTTP数据报为:
POST /devices/131658/datapoints HTTP/1.1
api-key: mgDiVsQ7E8bPUwfBDtTy4K8yMtMA
Host:api.heclouds.com
Content-Length:63
{"datastreams":[{"id":"sys_time","datapoints":[{"value":50}]}]}
返回结果如下图:
该返回结果说明,本次上传数据成功,数据上传成功后,OneNet服务器会关闭TCP连接,那么下次进行数据传送,需要重复步骤2)。
EDP方式上传数据
用EDP协议接入OneNet过程和RestFul API方式类似,步骤如下:
1)配置WIFI模块;
模块配置和用RestFul API接入OneNet相同,依次发送如下几个命令到WIFI模块:
AT+CWMODE=3
AT+RST
AT+CIFSR
AT+CWJAP="your ssid","password"
2)和OneNet服务器建立TCP连接,依次发送命令:
AT+CIPSTART="TCP","183.230.40.39",876 //和服务器建立TCP连接
AT+CIPMODE=1 //进入透明传输模式
AT+CIPSEND //开始传输
命令执行结果如下图所示:
和OneNet平台上设备建立连接,发送数据包为:
10 2F 00 03 45 44 50 01 40 00 80 00 06 31 33 31 36 35 38 00 1C 6D 67 44 69 56 73 51 37 45 38 62 50 55 77
66 42 44 74 54 79 34 4B 38 79 4D 74 4D 41
至此,可以连续不断发送准备好的用户数据包:
80 6A 80 00 06 31 33 31 36 35 38 01 00 5E 7B 0A 09 22 64 61 74 61 73 74 72 65 61 6D 73 22 3A 09 5B 7B 0A
09 09 09 22 69 64 22 3A 09 22 73 79 73 5F 74 69 6D 65 22 2C 0A 09 09 09 22 64 61 74 61 70 6F 69 6E 74 73
22 3A 09 5B 7B 0A 09 09 09 09 09 22 76 61 6C 75 65 22 3A 09 22 32 31 22 0A 09 09 09 09 7D 5D 0A 09 09 7D
5D 0A 7D
设置好发送间隔,选择串口调试工具的自动发送选项,点击“手动发送”,这样我们就可以通过串口WIFI模块和OneNet服务器实现了EDP数据传输,执行结果如下图:
在OneNet平台的Demo-test设备下,点击相应的数据流sys_time,查看数据上传情况。