OneNET HTTP 设备接入流程
## 1.创建设备
[登录ONENET平台](http://open.iot.10086.cn/)创建产品
进入[开发者中心](http://open.iot.10086.cn/product),选择公共协议产品,多协议接入,HTTP.然后根据实际情况创建自己的产品(此文档以AM400E为例),最后点击确定,如下图所示。



## 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

### 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)
