>[success] **技术支持说明:**
>**1**.一般以自主学习为主
> **2**.可到官方问答社区中提问:[**去提问**](https://bbs.csdn.net/forums/nb-iot)
> **3**.工程师**会尽快**解答社区问题,但他们是一线开发,【**难以保证**】解答时效,解答辛苦,感谢理解!
<br/>
## **使用MQTT.fx连接MQTT服务器**
* 运行安装好的MQTT.fx。
![](https://img.kancloud.cn/2f/eb/2febf1c26ef295cd22dfbcb3473393a1_1240x757.png =500x)
###
* 点击设置按钮。
![](https://img.kancloud.cn/48/97/4897d71182a3a3f5e6b4a38c6f752415_1240x757.png =500x)
###
* 点击“+”,添加一个连接。
![](https://img.kancloud.cn/82/40/8240e675886fd2169a7be9280a61035c_1042x761.png =500x)
###
* 按图所示输入以下配置,然后点击OK按钮:
Broker Address:1.15.27.206
Broker Port:1883
Client ID:MQTT\_FX\_Client
![](https://img.kancloud.cn/41/41/41417dd486d031d7316c02d07bb873a2_1042x761.png =500x)
###
* 依照前述方法打开PuTTY连接服务器并启动MQTT服务。
![](https://img.kancloud.cn/5c/63/5c636b574f284db950035391b4706866_841x589.png =500x)
###
* 点击Connect按钮,连接MQTT服务。
![](https://img.kancloud.cn/fe/61/fe61844c69eb86b6c6ce7feda5de0e38_1240x757.png =500x)
###
* MQTT服务连接成功,如图所示。
![](https://img.kancloud.cn/37/27/3727c37bb8bf00e1ddd01c8cfe481c8a_1240x757.png =500x)
###
* 选择Subscribe选项卡,输入订阅的主题“topic/pub”,然后点击Subscribe按钮,如图所示。
![](https://img.kancloud.cn/9c/a1/9ca1277c93224263b508d6ddf009be90_1240x757.png =500x)
###
至此,MQTT.fx已经成功订阅了“topic/pub”这个主题,接下来使用开发板往这个主题发布消息,那么MQTT.fx就会接收到这个消息。
<br/>
## **使用开发板连接MQTT服务器**
**连接调试助手**
* 使用Micro USB线把开发板连接到电脑。
###
* 按如图红框所示配置好端口、波特率和数据位等,然后点击蓝色三角形按钮打开串口,打开成功后,可以额看到绿色的“COMx OPENED...”的提示。
![](https://img.kancloud.cn/2f/21/2f217344bfb39fd3ce22edd163b7ee5a_760x712.png =500x)
<br/>
**AT指令测试**
* 输入“AT”指令,确定模块正常运行。
![](https://img.kancloud.cn/47/3f/473ffa080428184b87a52459d16afc04_772x718.png =500x)
>[danger] 注意,需要在输入“AT”之后输入回车,然后再点击“发送”按钮。
###
* 输入“AT+CGPADDR”指令,获取IP地址。
![](https://img.kancloud.cn/b3/c2/b3c23ba1cc05fde52291cf61b7cf394a_772x718.png =500x)
>[warning] 移动网络信号较差时可能会导致IP地址获取失败。如果IP地址获取失败,可以在移动网络信号更好的地方或过一小段时间执行执行此命令。
###
* 输入“AT+CMQTTSTART”,启动MQTT功能。
![](https://img.kancloud.cn/0c/50/0c5052ffa258fdfa5aeb6278eca9d8d4_772x718.png =500x)
###
* 输入“AT+CMQTTACCQ=0,"CAT1Module",0”,打开MQTT连接。
![](https://img.kancloud.cn/3c/ef/3ceff19a2bafc855e322e56daa25f235_772x718.png =500x)
###
* 输入“AT+CMQTTCONNECT=0,"tcp://1.15.27.206:1883",60,1”,连接MQTT服务器。
![](https://img.kancloud.cn/1c/56/1c56c0ffc212017f110bcbce3fcbdcfa_772x718.png =500x)
###
* 输入“AT+CMQTTSUBTOPIC=0,9,1”,订阅主题并设置主题字符串的长度,接着串口调试助手中会出现一个尖括号。
![](https://img.kancloud.cn/3a/48/3a485c917a0e731c809fb71bbb79ece2_772x718.png =500x)
* 在出现尖括号后,输入待订阅的主题“topic/sub”。
![](https://img.kancloud.cn/cd/20/cd206118ad6f66bdcc22f6c607cd0649_772x718.png =500x)
>[danger] 注意,这里输入的结尾无需回车换行。
###
* 输入“AT+CMQTTSUB=0”,订阅主题。
![](https://img.kancloud.cn/8f/64/8f64ed48c7b5a5f4ca27c094fc33d887_772x718.png =500x)
###
至此,开发板已经成功订阅了“topic/pub”这个主题,接下来使用MQTT.fx往这个主题发布消息,那么开发板就会接收到这个消息。
<br/>
## **MQTT.fx主题发布测试**
在确保MQTT.fx和开发板均正确连接到MQTT服务器,并订阅“topic/pub"这个主题后,执行以下步骤:
* 点击Publish选项卡,输入主题“topic/pub”,并且在数据输入框中输入“1234567890”,然后点击Publish按钮,如图所示。
![](https://img.kancloud.cn/cd/50/cd50c2205493cee765b60163045887ad_1240x757.png =500x)
###
* 在串口调试助手中可以看到开发板接收到对应的数据,如图所示。
![](https://img.kancloud.cn/5f/61/5f612b8bd45a84c8d104ef63f557bc20_772x718.png =500x)
###
至此,已经实现了从MQTT.fx到开发板的数据数据通信了。
<br/>
## **开发板主题发布测试**
在确保MQTT.fx和开发板均正确连接到MQTT服务器,并订阅“topic/pub"这个主题后,执行以下步骤:
* 输入“AT+CMQTTTOPIC=0,9”,设置待发布的主题的字符串长度,接着串口调试助手中会出现一个尖括号。
![](https://img.kancloud.cn/2f/d8/2fd8977036044320e125902c97bda391_772x718.png =500x)
###
* 在出现一个尖括号后,输入主题“topic/pub”,如图所示。
![](https://img.kancloud.cn/0f/c0/0fc08d072e72c4b10c9a950784d1f483_772x718.png =500x)
>[danger] 注意,这里输入的结尾无需回车换行。
###
* 输入“AT+CMQTTPAYLOAD=0,13”,这是要发布的消息长度,接着串口调试助手中会出现一个尖括号。
![](https://img.kancloud.cn/18/e2/18e2afc85226cda7b1df6d0d75cbbde9_772x718.png =500x)
###
* 在出现一个尖括号后,输入“{"value":123}”,如图所示。
![](https://img.kancloud.cn/8b/ca/8bca5f230a262084f5b6c8905a98cf98_772x718.png =500x)
>[danger] 注意,这里输入的结尾无需回车换行。
###
* 输入“AT+CMQTTPUB=0,1,60”,向指定的主题发布这个消息。
![](https://img.kancloud.cn/19/d2/19d2026da021712761eb9955edf6f5b2_772x718.png =500x)
###
* 在MQTT.fx中可以查看接收到的消息,如图所示。
![](https://img.kancloud.cn/0a/f9/0af95b2189ffb3c3cacb811fdd14eb36_1240x757.png =500x)
###
至此,已经实现了从开发板到MQTT.fx的数据通信了。
<br/>
**退订主题**
在订阅主题后,也可以退订这个主题,退订步骤如下:
* 输入“AT+CMQTTUNSUB=0,9,1”,设置需要退订的主题的长度,接着串口调试助手中会出现一个尖括号。
![](https://img.kancloud.cn/4f/2d/4f2dd9b0c679a787f4e4132007416827_772x718.png =500x)
###
* 在出现一个尖括号后,输入待退订的主题“topic/sub”。
![](https://img.kancloud.cn/4c/d4/4cd45284b8538e118cfb4f2eb994dddd_772x718.png =500x)
>[danger] 注意,这里输入的结尾无需回车换行。
至此,主题退订完毕。
<br/>
**关闭MQTT通信**
在不需要MQTT通信时,需要关闭MQTT功能,相关步骤如下:
* 输入“AT+CMQTTDISC=0,120”,断开MQTT连接。
![](https://img.kancloud.cn/e8/50/e8504affff47a44f10a97ffaf26a2495_772x718.png =500x)
###
* 输入“AT+CMQTTREL=0”,释放MQTT相关的资源。
![](https://img.kancloud.cn/5f/60/5f60e00301eb40918d4fa49b1f185dd6_772x718.png =500x)
###
* 输入“AT+CMQTTSTOP”,关闭MQTT功能。
![](https://img.kancloud.cn/40/10/4010805fa1377e6e890ad334ab82a232_772x718.png =500x)
###
至此,已经成功关闭MQTT功能了。
<br/>
**查看日志**
MQTT服务器会完成记录创建MQTT连接,以及订阅、退订和发布主题的流程,相关的日志片段如图所示。
![](https://img.kancloud.cn/0f/00/0f003353c52bf07ff614372875058080_841x589.png =500x)
<br/>
**关闭MQTT服务**
在服务器的命令行中输入Ctrl+C组合键,退出MQTT服务,如图所示。
![](https://img.kancloud.cn/75/6c/756cc920a1eb2e0a525db68608796af9_841x589.png =500x)
<br/>
## **相关的AT指令列表**
| AT 指令 | 描述 | 数据格式 | 参数说明 |
| --- | --- | --- | --- |
| AT | 测试模块是否正常 | AT | 无 |
| AT+CGPADDR | 读取设备IP地址 | AT+CGPADDR | 无 |
| AT+CMQTTSTART | 启动MQTT | AT+CMQTTSTART | 无 |
| AT+CMQTTACCQ | 打开MQTT | AT+CMQTTACCQ=0,"ClientID",0 | ClientID |
| AT+CMQTTCONNECT | MQTT连接 | AT+CMQTTCONNECT=0,"server address",60,1 | 服务器地址及端口 |
| AT+CMQTTSUBTOPIC | 订阅MQTT主题 | AT+CMQTTSUBTOPIC=0,n,1 | 主题长度 |
| AT+CMQTTSUB | 启动订阅 | AT+CMQTTSUB=0 | 无 |
| AT+CMQTTUNSUB | 取消订阅 | AT+CMQTTUNSUB=0,n,1 | 主题长度 |
| AT+CMQTTTOPIC | 设置要发送信息的主题 | AT+CMQTTTOPIC=0,n | 主题长度 |
| AT+CMQTTPAYLOAD | 设置要发送的信息 | AT+CMQTTPAYLOAD=0,n | 数据长度 |
| AT+CMQTTPUB | 启动消息发布 | AT+CMQTTPUB=0,1,60 | 无 |
| AT+CMQTTDISC | 关闭MQTT连接 | AT+CMQTTDISC=0,120 | 无 |
| AT+CMQTTREL | 释放MQTT | AT+CMQTTREL=0 | 无 |
| AT+CMQTTSTOP | 停止MQTT服务 | AT+CMQTTSTOP | 无 |
<br/>
<br/>
## **商务合作**
如有以下需求,可扫码添加管理员好友,注明“**商务合作**”
* 项目定制开发,技术范围:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等;
* 入驻平台,成为讲师;
* 接项目赚外快;
* 善学坊官网:[www.sxf-iot.com](https://www.sxf-iot.com/)
![](https://img.kancloud.cn/b7/5a/b75ac8c3da945f20568771f5935c388f_430x430.png =150x)
(非商务合作**勿扰**,此处**非**技术支持)
- 课程简介
- 配套资源下载
- 配套开发板简介
- 简介
- 硬件组成 & 技术参数
- 4G通信板 电路原理图 & PCB图
- STM32 Pro 主板电路原理图&PCB图
- STM32 Std 主板电路原理图&PCB图
- 板载设备使用说明
- 4G CAT1 开发指南
- 1. 4G CAT1 技术简介
- 2. USB转串口驱动安装
- 3. AT 指令开发 & 测试
- 4. 基础指令集简介
- 5. 云端服务器
- 5.1 PuTTY 简介与安装
- 5.2 登录云端服务器
- 6. 使用UDP与云端服务器通信
- 7. 使用TCP与云端服务器通信
- 8. 使用MQTT与云端服务器通信
- 8.1 MQTT协议简介
- 8.2 实验环境准备
- 8.3 MQTT通信实验
- 8.4 使用手机App(选修)
- 9. 获取经纬度
- 进阶课程:《STM32开发指南——面向物联网方向》
- 课外篇:项目实战
- 4G Cat.1+STM32 采集温湿度+定位到腾讯云
- 4G Cat.1+STM32 采集信息到腾讯云
- 4G Cat.1+STM32 远程控制开关