全系列模组购买请戳:安信可官方淘宝店

OneNET AT示例

我们用OneNET AT指令快速上手OneNET,下面我们演示一个智能球泡灯项目。

准备工作

硬件: NodeMCU开发板

App: android:onenetdemo_android_1.0.0_20170321.zip iOS:onenetdemo_ios_03_16.zip

文档:onenet_android_user_guide.pdf onenetdemo_ios_user_guide.pdf

固件:ai-thinker_esp8266_dio_onenet_v1.4_20160518.7z

工具:开发工具清单(含串口工具与下载工具)

注册账号

* 登录http://open.iot.10086.cn/

* 注册平台账号

创建产品

登录账号后,点击进入开发者中心:

* 点击创建产品

* 填写产品参数

我们选择wifi,公开协议,EDP协议,命名为智能球泡灯。

* 创建完成。

上面一栏产品ID和APIKey是两个重要的参数,AT指令会用到。

这里以我的项目参数来做演示。

下载固件

使用USB数据线连接NodeMCU开发板,串口配置115200,N,8,1,打开串口。

烧录OneNET AT固件ai-thinker_esp8266_dio_onenet_v1.4_20160518.7z

连接OneNET

* 连接路由器

AT+CWMODE=1
OK

AT+CWJAP="TP-LINK_9E20","admin123456"
WIFI DISCONNECT
WIFI CONNECTED
WIFI GOT IP

* 配置OneNET参数

AT+CIOT?    // 查询OneNET参数是否已经配置好
+ERR=-102   // 没有master_apikey
+ERR=-103   // 没有设备序列号
+ERR=-104   // 没有设备所属项目的项目ID

AT+CIOTMKEYA="0sS65LxJsWcPvR8oaGmVTljCxqc="  // 配置球泡灯项目的apikey
+OK=0sS65LxJsWcPvR8oaGmVTljCxqc=

AT+CIOTPID="41880"  // 配置项目ID
+OK=41880

AT+CIOTSN="light-56834"  // 配置序列号(注意:序列号必须唯一,否则将注册不上OneNET,可以使用随机数作为序列号)
+OK=light-56834

AT+CIOTNAME="Light"      // 给设备设置名字前缀, 创建设备成功会看到Light_xxxxxxxx_xxxxxxxx的设备名
+OK=Light

AT+CIOT?                 // 再次查询一下参数是否已经配置好
+OK

* 连接OneNET

AT+CIOTINIT              // 连接OneNET,注册设备
+OK                      // 设备注册成功返回+OK,否则将返回错误。如果出错,返回上一步骤重新配置正确的项目参数。
                         // 注意序列一定要唯一,不能有重复的。

AT+CIOTSTART=0           // 连接OneNET(TCP连接),0:不加密。
+OK

AT+CIOTSTATUS            // 查询设备在线状态:device_down,device_up
+OK=device_up

AT+CIOTQUIT              // 断开OneNET
+OK

* 发送数据点

AT+CIOTDAT=5,r,,240,g,,200,b,,80,w,,80,s,,1  // 发送5个数据点(r,g,b,w,s),参考AT指令格式文档
+OK

APP控制

因为 OneNet 暂时并没有开放帐号系统部分,所以我们只能使用 apikey 进行登录。

* 填写项目的master_apikey(0sS65LxJsWcPvR8oaGmVTljCxqc=)

* 获取设备列表 点击Go To Device List

* 控制设备

* APP发送给设备的数据点

+IOTCMD=5,r:107   // 5表示接收到5个字符,逗号后面就是打印出来的字符
+IOTCMD=5,b:217
+IOTCMD=4,g:87
+IOTCMD=3,s:0
+IOTCMD=3,s:1