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

NBIOT模块 BC28通过MQTT协议连接到EMQX

命令说明

基础AT指令
ATI显示MT的ID信息
AT+CIMI查询IMSI
AT+CGSN查询产品序列号
AT+CGATT?查询当前PS域状态
AT+QBAND查询或设置移动波段操作
AT+CSQ查询信号强度
AT+CEREG查询网络注册状态
AT+CGPADDR查询PDP地址
MQTT配置指令
AT+QMTCFG配置MQTT可选参数
AT+QMTOPEN打开MQTT客户端网络
AT+QMTCLOSE关闭MQTT客户端网络
AT+QMTCONN连接客户端到MQTT服务器.
AT+QMTDISC客户端断开与MQTT服务器的连接
AT+QMTSUB订阅主题
AT+QMTUNS退订主题
AT+QMTPUB发布消息

2.流程

第一步:搭建EMQX

访问下载页面:免费试用 EMQX Cloud 或 EMQX Enterprise | 下载 EMQX,根据需求选择对应版本下载

将下载的压缩包上传至服务器(推荐存放于C盘根目录,便于后续操作),并解压至指定路径(例如:C:\emqx)。

按住Win+R键,输入cmd后按回车,打开Windows命令行界面。

输入cd C:\emqx\bin(若解压路径不同,请替换为实际路径),按回车进入bin文件夹。

输入emqx start,按回车执行启动命令。

打开浏览器,输入服务器公网 IP 及管理端口:http://公网IP:18083

登录系统:默认用户名:admin默认密码:public

部署在公网服务器后,可通过任意设备访问该 IP 地址,实现远程管理。

第二步:NB模块接线

NB模块  -----  USB转TTL
VCC     -----  5V
GND     -----  GND
TX      -----   RX
RX      -----   TX

实物接线

第三步:连接EMQX平台

将USB转TTL模块接入设备,打开串口调试助手,选定对应通信端口,设置波特率为115200。之后通过发送AT指令,即可实现设备与EMQX平台的连接,完成数据的上传与数据下发操作。

AT命令流程及命令结果:

1. 查询模块信息

发送指令:ATI

说明:查询模块型号、固件版本等基础信息。

预期响应:Quectel

BC28-CNV

Revision:BC28CNVBAR02A03

2. 查询国际移动用户识别码(IMSI)

发送指令:AT+CIMI

说明:获取SIM卡的IMSI号码,用于识别移动用户。

预期响应:460083001406189  OK

3. 查询产品序列号

发送指令:AT+CGSN

说明:获取设备的国际移动设备识别码。

预期响应:MPY24CD0A035759

4.查询GPRS附着状态

发送指令:AT+CGATT?

说明:检查模块是否已附着到GPRS网络(1=已附着,0=未附着)。

预期响应:+CGATT: 1  OK

5.查询信号强度

发送指令:AT+CSQ

说明:检查当前网络信号质量(0-31,值越大信号越强)。

预期响应:+CSQ:12,99 OK

6.查询信号强度

发送指令:AT+CGPADDR

说明:查询PDP对应的IP地址,PDP用于建立数据连接。

预期响应:+CGPADDR:0,10.128.101.187,2409:8D34:2C:4BC8:1855:6FC7:BAA9:B5B4 OK

7.配置MQTT协议版本

发送指令:AT+QMTCFG="version",0,4

说明:设置MQTT客户端(ID=0)使用MQTT  v3.1.1协议。

预期响应:OK

8.打开MQTT连接

发送指令:AT+QMTOPEN=0,"101.200.212.234",1883

说明:建立服务器连接,MQTT客户端标识符为0。"a101.200.212.234"为MQTT服务器,1883为服务器端口号域名。

预期响应:OK  +QMTOPEN: 0,0

9.连接客户端到MQTT服务器

发送指令:AT+QMTCONN=0,"NB","admin","public"

说明:参数0为MQTT客户端标识符,"NB"为MQTT客户端ID,自拟,"admin"为用户名,

"public"为密钥。

预期响应:OK  +QMTCONN: 0,0,0

10.订阅MQTT主题

发送指令:AT+QMTSUB=0,1,"test",2

说明:订阅平台下发属性设置的主题,0为MQTT客户端标识符,1为数据包标识符,"test"为订阅的主题名称,2为QoS级别。

预期响应:OK   +QMTSUB: 0,1,0,2

11.发布MQTT消息

发送指令:AT+QMTPUB=0,0,0,0,"test4G",15

说明:准备发布MQTT消息到指定主题,参数依次为客户端ID、QoS 等级、保留标志、消息主题("test4G")、数据长度为15。

预期响应:>(表示发布请求已发送)

此时发送数据:{"temp":"23.5"}

最终响应:OK  +QMTPUB: 0,0,0

EMQX平台数据交互操作:

在左侧导航栏中依次选择 「工具」→「WebSocket」,进入 WebSocket 交互页面。

输入目标服务器的 IP 地址,填写 WebSocket 服务端口,输入需要监听的主题,完成后点击「订阅」按钮,建立主题监听。输入数据上报的目标主题,用于后续发送消息。

在[订阅消息列表]中可实时查看上报的数据内容。

平台数据下发操作

在消息输入框中,输入需要下发的指令内容,确认发布主题为设备订阅的目标主题,点击[发送]按钮,平台将通过WebSocket向设备推送指令。

在串口调试助手中,可实时监控设备接收数据的状态:

总结命令流程

ATI
AT+CIMI
AT+CGSN=1
AT+CGATT?	
AT+CSQ
AT+CGPADDR=1
AT+QMTCFG="version",0,4
AT+QMTOPEN=0,"101.200.212.234",1883
AT+QMTCONN=0,"NB","admin","public"
AT+QMTSUB=0,1,"test",2
AT+QMTPUB=0,0,0,0,"test4G",15
{"temp":"23.5"}

http://www.lryc.cn/news/599083.html

相关文章:

  • 栈与队列:数据结构核心解密
  • 《Uniapp-Vue 3-TS 实战开发》自定义环形进度条组件
  • 数据结构 二叉树(1)
  • 《Uniapp-Vue 3-TS 实战开发》自定义年月日时分秒picker组件
  • uniapp创建vue3+ts+pinia+sass项目
  • Linux 桌面市场份额突破 5%:开源生态的里程碑与未来启示
  • 【数据结构与算法】数据结构初阶:详解二叉树(六)——二叉树应用:二叉树选择题
  • 数据结构3-单双链表的泛型实现及ArrayList与LinkedList的区别
  • SpringBoot(黑马)
  • 【Unity笔记】OpenXR 之VR串流开发笔记:通过RenderTexture实现仅在PC端展示UI,在VR眼镜端隐藏UI
  • Java数组详解
  • S7-1500 与 ET200MP 的组态控制通信(Configuration Control)功能实现详解(下)
  • 【C++进阶】第7课—红黑树
  • SQLFluff
  • Microsoft-DNN NTLM暴露漏洞复现(CVE-2025-52488)
  • RWA的法律合规性如何保证?KYC/AML在RWA项目中的作用是什么?
  • 融合与智能:AI 浪潮驱动下数据库的多维度进化与产业格局重塑新范式
  • 【Java学习】匿名内部类的向外访问机制
  • Android Camera setRepeatingRequest
  • 星慈光编程虫2号小车讲解第三篇--附件概述
  • 星慈光编程虫2号小车讲解第四篇--触摸按键
  • 星慈光编程虫2号小车讲解第一篇--向前向后
  • 【Web APIs】JavaScript 节点操作 ⑧ ( 删除节点 - removeChild 函数 | 删除节点 - 代码示例 | 删除网页评论案例 )
  • 【软件与环境】--SSH连接远程服务器工具:FinalShell
  • LLM中的位置嵌入矩阵(Position Embedding Matrix)是什么
  • Python编程进阶知识之第五课处理数据(matplotlib)
  • 星慈光编程虫2号小车讲解第二篇--向左向右平移
  • Linux join命令快速从大文件中匹配内容
  • C语言:20250724笔记(函数-指针)
  • STL学习(?map容器)