一、准备
1.1 硬件准备
- 一个A9 或者 A9G模块(建议买A9G开发板,自带天线,且方便开发)
- 一张流量卡或者电话卡,10M或30M都可以,如果不用短信或者电话功能,建议购买物联网卡,不需要实名更方便
- 使用USB转串口工具供电,但要保证峰值电流够大,有些串口芯片供电能力不足;
- 使用锂电池(3.7~4.2V)供电;
- 使用USB数据线供电,但是要保证能提供足够的电流(建议峰值>600mA)。√
下图是安信可A9G开发板的硬件接口图片,可以参考一下。
二、开发过程
2.1 注册机智云APP
保证AT固件是最新固件,不是则需要到安信可官网下载并升级固件安信可A9系列 AT固件 最新版下载地址,使用ATI\r\n查询固件信息,与最新固件版本对比。
2.1.1申请机智云账号
进入机智云开发者中心,注册登录机智云:
2.1.2创建产品及数据点
点击创建新产品,选择移动网络,数据传输方式使用定长或者变长,这里 选择了变长!定长就是每次上传数据需要把所有的数据点上传,变长就是可以一次只上传部分数据点,数据量大或者通讯频繁为了节约流量可以选变长,数据量不大可以选定长,如果你是第一次使用机智云,建议按照我们提供的步骤来,会了之后自己探索。
2.1.3 产品创建、创建数据点 2.1.4应用数据点、复制PK和PS
基本信息 连接硬件到电脑: 注意要保证足够的供电能力,或者使用锂电池在VBAT端进行供电也可以
2.2 硬件连接
使用安信可串口助手或者其它串口助手都可以,我这里使用的开源的串口助手COMTool。
连接A9/A9G模块,上电等待串口助手显示READY字样后,发送AT(回车结尾,即AT\r\n)测试连接以及模块是否正常工作(可以多发几次)注意每一个AT命令都是以\r\n(即windows下的换行符)结尾,后面所有命令默认都以\r\n结尾
AT OK
2.3 连接机智云
查询IMEI是否正确AT+EGMR=2,7,如果不正确,看模块屏蔽罩上的IMEI,使用AT+EGMR=1,7,"..."写入
使用AT+GIZSTART=[PK],[PS]注册登录模块到刚刚建立的产品,使用AT+GIZSTOP注销登录,这里值得注意的是:
第一次注册时这个命令的参数PK、PS是必须的,如果注册过一次后,后面登录无需再使用PK和PS参数,直接使用AT+GIZSTART即可登录。
如果带参数,模块则会重新注册一遍,模块重新注册会导致手机App用户绑定的这个模块自动解绑!使用时请注意。
2.4 注册模块到机智云产品
这个时候在机智云后台会看到设备已经在线,点击查看可以看到更多设备信息
设备在线
上下线信息
设备推送消息
使用AT+GIZSEND=<action>,[length],[data]推送数据到云端(/手机客户端) 发送数据的方式有三种格式,类似AT+CIPSEND,如下图,更详细说明见AT指令文档
设备推送数据
在后台可以看到数据已经成功推送
后台数据记录
(上面的数据推送是随便推送的,在这里没有任何含义!)
那么如何推送数据点呢,我们创建了一个数据点,且因为是变长产品,根据协议(最后会详细说明,这里可以先不深入探究),我们需要发送两个字节的数据,报告灯为开:0x0101,报告灯为关:0x0100;因为是设备主动报告数据而且产品是变长,action为20:
上传数据点
在后台可以看到,推送数据点成功
后台数据
2.5 手机App查询状态以及控制设备
2.5.1下载机智云App(支持二次开发),在手机应用商店搜索机智云下载安装
机智云App 生成设备二维码 按照机智云官方文档教程生成这个设备的二维码,机智云App二维码生成教程
App扫描二维码添加设备
2.5.2扫描二维码 已绑定设备
2.5.3查看设备状态及控制设备 点击已绑定的设备,进入设备页面,设备会收到客户端进入设备页面的查询设备状态的消息
设备页面
设备收到消息
(这里收到ACTION为18的数据即读取命令,数据内容没显示是因为是非ASCII码)
点击控制开关
设备会收到控制命令
点击App中的开关,发送控制命令
设备收到控制命令
(这里收到ACTION为17的数据即控制命令,数据内容没显示是因为是非ASCII码) 如果设备推送设备状态(定长ACTION为4,变长ACTION为20)或者响应App的查询命令推送状态(定长ACTION为3,变长ACTION为19),App界面也会实时更新状态
设备推送数据
在App可以看到数据发生了变化
App灯从关变成了开状态
在后台也可以看到数据内容
后台数据内容
至此A9G连接机智云APP已经成功!!
感兴趣的同学可以自行连接测试下,遇到问题可以通过一下方式直接咨询,一起开源吧!
|