🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[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) (非商务合作**勿扰**,此处**非**技术支持)