快速POST/GET数据流到OneNET

**该文档介绍了AM900E模组通过AT命令对接OneNET的HTTP设备,实现POST/GET(上传和获取)数据流。** ## 1. 注册平台账号 登录[OneNET](https://open.iot.10086.cn/),注册平台账号,然后登录。 ![image.png](https://cos.easydoc.net/68658482/files/k3e5n62k.png) ## 2. 创建产品,设备,数据流 进入[开发者中心](http://open.iot.10086.cn/product),选择公共协议产品,根据实际情况创建 支持HTTP协议的产品(此文档以AM900E为例),如下图所示: ![image.png](https://cos.easydoc.net/68658482/files/k3e6dqrs.png) ![image.png](https://cos.easydoc.net/68658482/files/k2zj3t40.png) 添加设备 ![image.png](https://cos.easydoc.net/68658482/files/k3e5wu3j.png) 添加APIkey ![image.png](https://cos.easydoc.net/68658482/files/k2zl1zmw.png) ![image.png](https://cos.easydoc.net/68658482/files/k2zliyth.png) 添加数据流 ![image.png](https://cos.easydoc.net/68658482/files/k2zljvwy.png) ![image.png](https://cos.easydoc.net/68658482/files/k2zm16f9.png) ## 3. PC端通过串口助手向AM900E发送AT命令 ### 3.1模块初始化流程 ``` AT OK //测试串口通讯正常 ATI AMAZIOT "GSM850/900/1800/1900","AM900E" "AM900E_V2.0" //显示设备厂商,设备硬件版本与软件版本 OK AT+CPIN? +CPIN:READY OK //显示eSIM状态正常 AT+CREG? +C2EG: 1,1 OK //显示设备已注网 AT+CSQ +CSQ: 25,99 OK //显示信号条件良好(+CSQ: 25,99中第一个参数需大于15) ``` ### 3.2 连接ONENET,POST方法上传数据流 ``` AT+CGATT=1 +CGATT:1 OK //设备已附着 AT+CGACT=1,1 OK //设备已激活(运行灯DS1快速闪烁) AT+CIPSTART="TCP","183.230.40.33",80 //联网命令“183.230.40.33”为IP地址,“80”为端口号 OK CONNECT OK OK //模块连接onenet http设备成功 AT+CIPSEND=204 //发送数据明命令:发送204个数据 //发送的数据长度用Notepad++软件统计 > POST /devices/527765150/datapoints HTTP/1.1 api-key: VhsxRAWWUxP84yQbCB4bKM9NBjw= Host:api.heclouds.com Connection:open Content-Length:59 {"datastreams":[{"id":"temp","datapoints":[{"value":31}]}]} OK //发送命令完成后,显示“>”符号,然后发送以上数据 //返回“OK”,表示发送 //红色字体要改成自己的设备信息,详见“设备详情”页面 //“527765150”表示设备id //"VhsxRAWWUxP84yQbCB4bKM9NBjw="表示APIkey //"temp"表示数据流名称,“31”表示数据流的数值 //“59”为最后一行的数据长度,用Notepad++软件统计 ``` 下图为要发送的数据,用Notepad++软件统计,然后通过串口发送出去,数据通过串口的单条发送窗口发送。 ![image.png](https://cos.easydoc.net/68658482/files/k2zs3rz5.png) 以下为平台回应信息,显示发送成功。 ``` +TCP:HTTP/1.1 200 OK Date: Mon, 27 May 2019 07:08:08 GMT Content-Type: application/json Content-Length: 26 Connection: keep-alive Server: Apache-Coyote/1.1 Pragma: no-cache] {"errno":0,"error":"succ"} ``` 下图为模组上传的数据流temp,数值为31. ![image.png](https://cos.easydoc.net/68658482/files/k2zt3vt6.png) ### 2.4 GET方法获取ONENET平台设备信息 获取ONENET平台另一台,设备ID为537721723,数据流为ds_test的最近两个数据流信息 ``` AT+CIPSEND=162 >GET http://api.heclouds.com/devices/537721723/datapoints?datastream_id=ds_test&limit=2 HTTP/1.1 api-key: QhYo1auW57sF39rvHV4Xd=Pf9HI= Host: api.heclouds.com OK ``` **注意**:数据最后需要增加两个空行,否则平台无法识别数据信息。 返回信息如下: ``` HTTP/1.1 200 OK Date: Wed, 06 Nov 2019 10:21:49 GMT Content-Type: application/json Content-Length: 188 Connection: keep-alive Server: Apache-Coyote/1.1 Pragma: no-cache {"errno":0,"data":{"count":2,"datastreams":[{"datapoints":[{"at":"2019-11-06 18:01:13.670","value":31},{"at":"2019-10-28 18:06:24.690","value":123456789}],"id":"ds_test"}]},"error":"succ"} ``` 两条数据的数值为123456789