OneNET HTTP 设备接入流程

## 1.创建设备 [登录ONENET平台](http://open.iot.10086.cn/)创建产品 进入[开发者中心](http://open.iot.10086.cn/product),选择公共协议产品,多协议接入,HTTP.然后根据实际情况创建自己的产品(此文档以AM400E为例),最后点击确定,如下图所示。 ![image.png](https://cos.easydoc.net/68658482/files/k7u8wyg3.png) ![image.png](https://cos.easydoc.net/68658482/files/k7u99xh4.png) ![image.png](https://cos.easydoc.net/68658482/files/k7u9ia7g.png) ## 2.创建设备 创建设备有多种方式,可以在平台添加单个或多个设备,也可以在本地通过配置AT命令实现。本文使用后一种方式实现创建设备。 ### 2.1 初始化模组,在终端发送AT命令 ``` +PBREADY //唤醒模块串口 AT OK //测试串口通讯正常 ATI AMAZ AM400E REVISION AM400E_V1.0.0 OK //显示设备厂商,设备硬件版本与软件版本 AT+CPIN? +CPIN:READY OK //显示eSIM状态正常 AT+CREG? +CREG: 0,1 OK //显示设备已注网 AT+CSQ +CSQ: 25,99 OK //显示信号条件良好(+CSQ: 25,99中第一个参数需大于15) AT+CGATT? +CGATT: 1 OK //显示模块已附着到PS域 At+XIIC=1 OK //设备已激活 ``` ### 2.2 自动创建产品下的设备 ``` AT+HTTPPARA = "URL","http://api.heclouds.com/register_de?register_code=L8O53yxf6Q4MnZ8W" OK //设置要访问的url,在onenet上创建HTTP设备,“register_code=”后面为设备注册码 AT+HTTPSETUP // HTTP 链路建立 AT+HTTPACTION=2,,2 //执行 HTTP 请求 格式 AT+HTTPACTION=<mode>,<length>,<type>] <mode>:http 请求方式,可取值为 0,1,2,99 0:GET 1:HEAD 2:POST 99:OPEN_MODE,用户自己定义报文模式 <length>:POST 内容长度或自定义报文长度,在<mode>为 POST 和 OPEN_MODE 时必须设置,最大长度为 2048 <type>:POST 请求数据类型 0:x-www-form-urlencoded 1:text 2:json 3:xml 4:html AT+HTTPDATA //输入HTTP数据 > {"sn","201903"} //输入设备编号 AT+HTTPACTION=1 //执行put命令 OK 1 200 96 //执行成功返回26字节数据 AT+HTTPREAD = "0","96" //读取返回数据 OK //显示创建成功 +HTTPREAD: 96 {"errno":0,"data":{"device_id":"537721723","key":"QhYo1auW57sF39rvHV4Xd=Pf9HI="},"error":"succ"} AT+HTTPTERM //终止HTTP OK ``` 下图红色方框中表示创建的设备ID与设备APIKEY ![image.png](https://cos.easydoc.net/68658482/files/k2obv4r0.png) ### 2.3上传设备信息(温度,MP2.5) ``` AT+TCPSETUP=0,183.230.40.40,1811 OK +TCPSETUP: 0,OK AT+TCPSEND=0,2 >POST /devices/537721723/datapoints HTTP/1.1 api-key: VhsxRAWWUxP84yQbCB4bKM9NBjw= Host:api.heclouds.com Connection:open Content-Length:59 {"datastreams":[{"id":"temp","datapoints":[{"value":31}]}]} ``` 下图中红色方框中表示上传的数据(PM2.5,temperature) ![image.png](https://cos.easydoc.net/68658482/files/k2oby468.png)