强力讲解如何将ESP8266 接入中移OneNET 平台

踩坑

我首先记录一下自己在无数次尝试使用ESP8266 接入OneNET 平台失败的总结。

我一开始是打算使用MQTT 协议接入OneNET 的,但是我想首先使用ESP8266 简单尝试接入OneNET,并理解一下这个接入平台的过程是如何实现的。
好的,下面开始了我的长期的努力尝试。

我首先了解到使用MQTT 协议需要连接OneNET 的183.230.40.39 ip,然后我又了解到使用ESP8266 接入可以使用AT 指令,也就是发送以下这段数据

POST /devices/xxxxxx666/datapoints HTTP/1.1
api-key: xxxxxxxxxxxxxxxxxV5NYbHPuCoo=
Host:api.heclouds.com
Connection:close
Content-Length:59

{"datastreams":[{"id":"temp","datapoints":[{"value":50}]}]}

好了,接下来我便让ESP8266 连接MQTT 的IP,发送HTTP 协议的POST 请求给一个MQTT 协议设备(原谅我对于网络数据传输协议的力量一无所知),当然结果大家都知道,这根本不会有任何响应。。。

直到我看到了这篇老哥的推文,明白了要使用HTTP 协议的POST 请求传输数据,必须要先创建使用HTTP 协议的设备,连接HTTP 的服务器ip,再发送POST 请求。

⚪ 连接HTTP 的服务器ip

此步骤即是用ESP8266 连接HTTP 服务器IP 也就是执行这一条AT 指令:AT+CIPSTART="TCP","183.230.40.33",80

之后开启透传就可以发送上述请求了

succ

同样是发送上述请求,最后终于成功
强力讲解如何将ESP8266 接入中移OneNET 平台_第1张图片


最后总结一下:

  1. OneNET 上面使用不同的协议都需要连接对应协议的服务器;
  2. ESP8266 连接上服务器后需要开启透传发送请求信息;
  3. 使用不同的协议都需要创建基于相应协议的设备;

附ESP8266 接入OneNET AT 指令表:

AT+CWMODE=3                                /* AP + STA 模式 */
AT+CWJAP="ZUK","123123abc"                 /* 连接wifi */
AT+RST                                     /* 复位 */
AT+CIPMUX=0                                /* 不使用多连接模式 */
AT+CIPSTART="TCP","183.230.40.33",80       /* 连接HTTP 服务器 */
AT+CIPMODE=1                               /* 透传模式 */
AT+CIPSEND                                 /* 启动透传 */

/* 以下为透传内容 */
POST /devices/xxxxxx666/datapoints HTTP/1.1
api-key: xxxxxxxxxxxxxxxxxx5NYbHPuCoo=
Host:api.heclouds.com
Connection:close
Content-Length:59

{"datastreams":[{"id":"temp","datapoints":[{"value":50}]}]}

你可能感兴趣的:(OneNET)