所有支持AT指令的通信模组都可以通过MQTT命令接入到捷佳顺IOT云平台;
下面以ESP32 AT 固件为例子,其它芯片对应的AT指令有所差异,具体查看芯片文档。
登录云平台,创建一个产品,如果使用自己的APP不需要
注意:通过串口发送AT指令后,等待模组返回,在继续发送下一条指令。
设备配网
1. AT+CWMODE=2 设置模组为 SoftAP 模式
2. AT+CWSAP="热点名称","密码",5,3 设置一个wifi 热点,注意如果使用云APP,这里的名称和密码与云端产品设置一致,否者APP无法搜索到热点
3. AT+CIPMUX=1 启用多连接模式
4. AT+CIPAP="IP地址" 设置主机IP地址,注意如果使用云APP,这里的IP与产品设置一致
5. AT+CIPSERVER=1,端口号 设置端口,注意如果使用云APP,这里的端口与产品设置一致
6.打开手机APP,添加设备(在云平台中已设置产品上线) 填写WIFI信息后,APP会连接到设备通过TCP会发送配置信息到设备端
{"SsId":"WIFI名称","Pwd":"WIFI密码","ClientId":"设备ID","UserName":"用户名","Password":"密码","Host":"主机地址","Port":"端口","Baudrate":"波特率"}
设备端收到信息后,请进行相关数据保存,"ClientId": "UserName":" "Password": "Host":" "Port" 为相关连网信息。
7. AT+CWMODE=1 切换回Station 模式 (下次设备启动时增加一个判断,检查是否配网操作)
设备联网
1. AT+CWJAP="WIFI名称","WIFI密码" 连接到指定的wifi
2.AT+MQTTUSERCFG=0,1,"客户端ClientId","用户名UserName","密码Password",0,0,"" 设置MQTT用户信息
3.AT+MQTTCONN=0,"主机Host",端口Port,1 连接到服务器
4.AT+MQTTSUB=0,"客户端ClientId/R/#",0 订阅设备通信主题
发送数据
向服务端发送字符串 AT+MQTTPUB=0,"客户端ClientId/S","发送协议内容",0,0
模组产品通用
模组{用户名UserName}对应云平台产品ID,设置设备MQTT用户信息中的用户名UserName可以对应不同的产品。
通信协议
所有加入云模组设备或客户端都按此协议进行通信,通过协议参数解析,执行对应的功能逻辑和业务,协议格式简单明了,以"|"分割功能块。
格式 {类型}|{名称}|{参数}
设备连接到MQTT服务器(查看如何连接到MQTT服务器),按照以下数据格式进行通信交互。
设备上报事件格式
e|{事件名}|{传递参数}
{事件名}:自定义10个字符串以内
{传递参数}:自定义100个字符串以内
例子:e|mode|hot
<mode> 表示事件名,云端通过此标识进行业务处理
<hot> 表示传递的参数,每个参数自定义功能,云端按照业务处理
注:当设备设置工作模式为制热,通过模组发送到云端,云端同步模式为制热
服务器下发指令格式
c|{指令名}|{传递参数}
{指令名}:自定义10个字符串以内
{传递参数}:自定义100个字符串以内
例子:c|mode|hot
<mode> 表示指令名,MCU过此标识进行逻辑处理
<hot> 表示传递的参数,每个参数自定义功能,MCU按照功能定义逻辑处理
注:设备在收到下发指令后,工作模式调整为制热。