https://open.iot.10086.cn/doc/art596.html#109
基于WIFI方式连接OneNET(ESP8266)
准备工作
选用ESP8266串口WIFI模块,通过AT指令控制WIFI模块接入互联网,依次完成与接入互联网、与OneNet服务器建立TCP连接、传输数据等操作,ESP8266串口WIFI模块硬件实物图如下:
与PC连接得实物图如下:
串口配置
串口配置请参见“GPRS方式”章节的串口配置。
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}]}]}
POST /devices/XXXXXXXXX/datapoints HTTP/1.1
api-key:XXXXXXXXXXXXXXXX
Host:api.heclouds.com
Connection:close
Content-Length:60
{"datastreams":[{"id":"TEMP","datapoints":[{"value":120}]}]}
注意content-length 是json的长度数据
发送多条数据
POST /devices/5908xx89/datapoints HTTP/1.1
api-key:zRRxSVyQmUfEXoRJxxxxWmpHhL=YBqk=
Host:api.heclouds.com
Connection:close
Content-Length:102
{"datastreams":[{"id":"TEMP","datapoints":[{"value":12}]},{"id":"TEMP2","datapoints":[{"value":22}]}]}
https://open.iot.10086.cn/doc/art596.html#109
返回结果如下图:
该返回结果说明,本次上传数据成功,数据上传成功后,OneNet服务器会关闭TCP连接,那么下次进行数据传送,需要重复步骤2)。
获取onenet云平台下发的数据