当前位置: 首页 > news >正文

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}}]}

http://www.dtcms.com/a/284965.html

相关文章:

  • 广州VR 内容制作报价:各类 VR 内容的报价详情​
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十课——图像还原的FPGA实现
  • 深入理解进程等待:wait的简化与waitpid的灵活性
  • kimi故事提示词 + deepseekR1 文生图提示
  • milvus向量数据库连接测试 和 集合维度不同搜索不到内容
  • windows利用wsl安装qemu
  • 利用deepspeed在Trainer下面微调大模型Qwen2.5-3B
  • SpringBoot01-springBoot的特点
  • 登录功能实现深度解析:从会话管理到安全校验全流程指南
  • 【算法训练营Day13】二叉树part3
  • 【中等】题解力扣21:合并两个有序链表
  • 教你使用bge-m3生成稀疏向量和稠密向量
  • 大语言模型系列(1): 3分钟上手,在骁龙AI PC上部署DeepSeek!
  • 【Lua】题目小练2
  • LIN协议核心详解
  • c++之 KMP 讲解
  • Cocos游戏中UI跟随模型移动,例如人物头上的血条、昵称条等
  • C++中,不能声明为虚函数的函数类型
  • C++进阶-AVL树(平衡二叉查找树)(难度较高)
  • 2025 XYD Summer Camp 7.17 模考
  • Vue.js 响应式原理深度解析:从 Vue 2 的“缺陷”到 Vue 3 的“涅槃重生”
  • OpenVela之网络驱动适配指南
  • JxBrowser 7.43.5 版本发布啦!
  • ​​Sublime Text 2.0.2.2221 安装教程 - 详细步骤指南(附下载与配置)​
  • 深入解析:Chunked Prefill 与 FlashAttention/FlashInfer 如何协同工作
  • WSL2 离线安装流程
  • 如何让订货系统支持多角色?
  • 药品通用名、商品名、规格剂型查询API接口-中国药品批文数据库
  • 深度学习之优化方法
  • 页面登录阻止浏览器提醒是否保存密码