4G模块 A7680通过MQTT协议连接到华为云
命令说明
基础AT指令
ATi显示产品的标志信息
AT+CIMI查询IMSI
AT+CICCID从SIM卡读取ICCID
AT+CGSN查询产品序列号
AT+CPIN查询卡状态
AT+CSQ查询信号强度
AT+CGATT查询当前PS域状态
AT+CREG查询GPRS注册状态
AT+CEREG查询4G注册状态
AT+CGPADDR查询PDP地址
AT+CMGF选择短信格式
AT+CMGS发送短信
MQTT配置指令
AT+CMQTTSTART启动MQTT服务
AT+CMQTTACCQ申请MQTT客户端
AT+CMQTTCFG配置MQTT主题参数
AT+CMQTTCONNECT连接客户端到MQTT服务器.
AT+CMQTTSUB订阅主题
AT+CMQTTUNSUB退订主题
AT+CMQTTPUB发布消息
AT+CMQTTDISC客户端断开与MQTT服务器的连接
2.流程
第一步:配置华为云平台
访问华为云官网(共建智能世界云底座-华为云),输入账号密码登录。
点击页面右上角“控制台”,进入管理后台。在控制台左上角的服务列表中,搜索“设备接入IoTDA”并点击进入。
在IoTDA服务页面点击“实例”,进入后台管理界面。
在左侧导航栏依次选择[产品]→[创建产品]。填写产品名称(如“智能传感器”)、所属资源空间、协议类型(如MQTT)、设备类型(自定义或标准品类)等。
在产品列表找到已创建产品,点击详情,进入产品开发详情页。
点击“自定义模型”,填写模型基本信息(如模型名称、描述)。
添加完之后,在该界面点击新增属性,填写属性名称(如“温度”)、数据类型(int/float/string 等)、访问权限(可读/可写)、单位(℃)等,点击“确定”。
点击“新增命令”,配置命令名称(如“设置温度阈值”)、参数列表(如阈值数值)、响应参数等,点击“确定”。
退出产品详情页,在左侧导航栏选择[设备]→[所有设备]。点击“注册设备”,选择已创建的产品,填写设备名称等。
通过以上步骤,即可完成华为云IoTDA平台的设备接入配置。
第二步:A7860模块接线
A7860模块-----USB转TTLVCC-----5VGND-----GNDTX-----RXRX-----TX
此模块需插入电话卡方可正常使用。
实物接线
第三步:连接华为云云平台
将USB转TTL模块接入设备,打开串口调试助手,选定对应通信端口,设置波特率为115200。之后通过发送AT指令,即可实现设备与华为云平台的连接,完成数据的上传与数据下发操作。
AT命令流程及命令结果:
1.查询模块信息
发送指令:ATI
说明:查询模块型号、固件版本等基础信息。
预期响应:Manufacturer: INCORPORATED
Model: A7680C-LAAS
Revision: A7680M6_V1.11.1
IMEI: 861210056676532
+GCAP: +CGSM,+FCLASS,+DS
2.查询国际移动用户识别码
发送指令:AT+CIMI
说明:获取SIM卡的国际移动用户识别码,用于唯一标识移动用户。
预期响应:460023606806489
3.查询集成电路卡识别码
发送指令:AT+CICCID
说明:读取SIM卡的集成电路卡识别码,用于标识SIM卡物理实体。
预期响应:898600261322F1000989
4.查询设备序列号
发送指令:AT+CGSN
说明:获取移动设备的国际移动设备识别码(IMEI)或序列号,用于唯一标识设备。
预期响应:861210056676532
5.查询PIN码状态
发送指令:AT+CPIN?
说明:查询SIM卡的PIN码状态,判断是否需要输入PIN码解锁。
预期响应:+CPIN:READY OK(表示PIN码已解锁,状态正常)
6.查询信号强度
发送指令:AT+CSQ
说明:获取当前网络信号强度,数值越大信号越好。
预期响应:+CSQ:23,99 OK(示例,前值为信号强度值,范围0-31)
7.查询当前PS域状态
发送指令:AT+CGATT?
说明:查询设备是否已附着到GPRS网络,附着成功才能建立数据连接。
预期响应:+CGATT:1 OK(1表示已附着,0表示未附着)
8.查询GPRS域注册状态
发送指令:AT+CREG?
说明:查询网络注册状态。
预期响应:+CREG:0,6 OK
9.查询EPS域注册状态
发送指令:AT+CEREG?
说明:查询设备在演进分组系统(EPS)域的网络注册状态,用于4G等分组域服务。
预期响应:+CEREG:0,1 OK(示例,后值1表示已注册到本地网络)
10.查询PDP地址
发送指令:AT+CGPADDR
说明:查询PDP上下文对应的IP地址,PDP用于建立数据连接。
预期响应: +CGPADDR: 1,10.127.138.30
+CGPADDR: 8,254.128.0.0.0.0.0.0.24.82.79.224.155.59.88.210 OK
(示例,1为PDP上下文索引,后为对应的IP地址)
11.配置短信格式为文本模式
发送指令:AT+CMGF=1
说明:设置短信格式为文本模式(而非PDU模式),便于直接发送和接收文本短信。
预期响应:OK
12.启动MQTT服务
发送指令:AT+CMQTTSTART
说明:初始化并启动MQTT协议服务,为后续MQTT连接做准备。
预期响应:OK
13.申请MQTT客户端ID
发送指令:AT+CMQTTACCQ=0,"6865fd3d94a9a05c336eb16e_TEST_0_0_2025071602",0
说明:申请MQTT客户端ID为0,“6865fd3d94a9a05c336eb16e_TEST_0_0_2025071602”为clientID,平台上查看。
预期响应:OK
14.配置MQTT主题参数
发送指令:AT+CMQTTCFG="argtopic",0,1
说明:设置MQTT客户端的主题参数配置,此处开启主题参数功能。
预期响应:OK
15.配置MQTT协议版本
发送指令:AT+CMQTTCFG="version",0,4
说明:设置MQTT客户端使用MQTTv3.1.1协议版本。
预期响应:OK
16.建立MQTT连接
发送指令:
AT+CMQTTCONNECT=0,"tcp://a1469f2300.st1.iotda-device.cn-east-3.myhuaweicloud.com:1883",60,1,"6865fd3d94a9a05c336eb16e_TEST","18e387f98207544bb8dee6a1e2c5e6496553cd3a5553de84de825dda082d75ae"
说明:通过客户端连接到指定MQTT服务器,连接超时60秒,清除会话标志为1,携带用户名和加密签名参数。其中,"6865fd3d94a9a05c336eb16e_TEST"为username用户名,
"18e387f98207544bb8dee6a1e2c5e6496553cd3a5553de84de825dda082d75ae"为密钥。
预期响应:OK
实际响应:+CME ERROR: AT command timeout,AT 命令超时但实际已连接上华为云平台,这是因为模块在解析域名时耗时过长导致超时。
17.订阅MQTT主题
发送指令:
AT+CMQTTSUB=0,"$oc/devices/6865fd3d94a9a05c336eb16e_TEST/sys/messages/down",2
说明:MQTT客户端订阅主题“$oc/devices/6865fd3d94a9a05c336eb16e_TEST/sys/messages/down”,QoS等级为2,其中6865fd3d94a9a05c336eb16e_TEST为username用户名。
预期响应:OK
18.发布MQTT消息
发送指令:
AT+CMQTTPUB=0,"$oc/devices/6865fd3d94a9a05c336eb16e_TEST/sys/properties/report",1,61
说明:MQTT客户端向主题“$oc/devices/6865fd3d94a9a05c336eb16e_TEST/sys/properties/report”发布消息,QoS等级为1,数据长度为61。
预期响应:<(表示发布请求已发送)
此时发送数据:{"services":[{"service_id":"Test","properties":{"temp":50}}]}
最终响应:OK +CMQTTPUB: 0,0
华为云平台数据交互操作:
在华为云IoTDA控制台左侧导航栏中,依次选择[设备]→[所有设备],点击目标设备名称进入详情页。可查看设备基本信息(如设备ID、在线状态、注册时间)、属性上报数据(如温度)。
平台数据下发操作
在控制台左侧导航栏选择[监控运维]→[在线调试],点击“选择设备”按钮,从列表中选中目标设备(需确保设备在线)。选择服务:对应设备模型中定义的服务名称(如“Temp”)。选择命令:根据服务类型选择具体命令(如“setTemperature”)。填写下发数据:按命令参数要求输入值(如78)。点击“发送”按钮,平台将向设备下发命令。
在串口调试助手中,可实时监控设备接收数据的状态:
总结命令流程
ATi
AT+CIMI
AT+CICCID
AT+CGSN
AT+CPIN?
AT+CSQ
AT+CGATT?
AT+CREG?
AT+CEREG?
AT+CGPADDR
AT+CMGF=1
AT+CMQTTSTART
AT+CMQTTACCQ=0,"6865fd3d94a9a05c336eb16e_TEST_0_0_2025071602",0
AT+CMQTTCFG="argtopic",0,1
AT+CMQTTCFG="version",0,4
AT+CMQTTCONNECT=0,"tcp://a1469f2300.st1.iotda-device.cn-east-3.myhuaweicloud.com:1883",60,1,"6865fd3d94a9a05c336eb16e_TEST","18e387f98207544bb8dee6a1e2c5e6496553cd3a5553de84de825dda082d75ae"
AT+CMQTTSUB=0,"$oc/devices/6865fd3d94a9a05c336eb16e_TEST/sys/messages/down",2
AT+CMQTTPUB=0,"$oc/devices/6865fd3d94a9a05c336eb16e_TEST/sys/properties/report",1,61
{"services":[{"service_id":"Test","properties":{"temp":50}}]}