ESP8266 AT指令连接中国移动物联网开放平台OneNet

-回复 -浏览
楼主 2020-08-05 10:32:40
举报 只看此人 收藏本贴 楼主

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,查看数据上传情况。


我要推荐
转发到

友情链接