基础玩转物联网-4G模块如何快速实现与MQTT服务器通信

ops/2025/3/11 17:58:45/

目录

1 前言

2 环境搭建

2.1 硬件准备

2.2 软件准备

2.3 硬件连接

2.4 检查驱动

3 连接MQTT服务器

3.1 创建MQTT监听Topic

3.2 打开配置工具读取基本信息

3.3 设置连接参数进行数据交互

4 总结


1 前言

        MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议,专为低带宽、不稳定网络环境下的物联网设备通信设计。它使用最小的网络带宽,支持异步通信和多种服务质量等级,具有高效、可靠、灵活和低功耗等特点,广泛应用于智能家居、车联网、工业物联网等领域。

        FS800DTU核心板是基于飞思创4G Cat.1模组设计的,上面集成了DC-DC、SIM卡、天线和串口电平转换电路,支持5-16V供电输入,无需额外设计,接上天线、SIM卡和串口就可以使用。FS800DTU支持4路Socket,支持TCP/UDP/HTTP/MQTT等通信协议,适配了阿里云、OneNET等物联网平台。

        对于使用FS800DTU核心板的用户来说,其操作简便性是一大亮点。即便您仅对MQTT工作原理有基础的了解,也无需深入钻研TCP协议的复杂细节。FS800DTU已经为您预先配置好了所需的通信环境,您只需简单设置几个关键参数,即可接入MQTT服务器。无论是初学者还是有一定经验的用户,都能在短时间内掌握其使用方法,并迅速将其应用到实际项目中,真正做到了“快速上手,高效应用”。

2 环境搭建

2.1 硬件准备

  1. FS800DTU核心板(型号:FS-MCore-F8A2M1
  2. 4G物联卡一张,移动,联通,电信均可。
  3. USB转TTL模块,包括4根杜邦线。
  4. 4G天线一根。

2.2 软件准备

        SerialPort_To_Network_ConfigTools参数配置软件。

2.3 硬件连接

        将天线,SIM卡装到4G模块上(按照模块上的插卡方向操作),按图示方式接好线,注意串口是交叉连接。

2.4 检查驱动

        打开电脑的设备管理器,查看是否有CH340驱动,图中是已经装好驱动的,如果在端口处没有该设备,可以在产品资料包里找到该驱动并安装。

3 连接MQTT服务器

3.1 创建MQTT监听Topic

        本次使用的是MQTTX客户端,MQTTX 是由 EMQ 开发的一款开源跨平台 MQTT 5.0 桌面客户端,它兼容 macOS,Linux 以及 Windows 系统。

        MQTTX 的用户界面 UI 采用聊天式设计,使得操作逻辑更加简明直观。它支持用户快速创建和保存多个 MQTT 连接,便于测试 MQTT/MQTTS 连接,以及 MQTT 消息的订阅和发布。

        点击连接右边的加号+,新建连接,填写一下名称,其他参数保持默认即可,点击连接;然后再到订阅监听的主题。

3.2 打开配置工具读取基本信息

        在资料包里双击打开SerialPort_To_Network_ConfigTools参数配置软件->选择设备对应的端口->点击同步产品信息。

        点击读取基本信息,查看基本信息是否如图完整->点击查询运行状态,查看是否注册上网络以及设备运行状态->点击查询信号强度,查看设备信号强度是否正常。(0-7很差,8-13能注上网,14-18较差,19-25正常,26-31优秀,99异常)

3.3 设置连接参数进行数据交互

        将连接参数对应填写,主题交叉填写。

        等待设备出现FS@MQTT CONNECTED:1表示连接成功,如果出现其他的返回值则说明有问题,可以根据资料中的手册找到对应返回值代表的含义,或者联系飞思创的技术支持协助解决。

        DTU向服务器发布topic/freestrongsub主题,消息内容为“hello mqtt”,MQTTX订阅了该主题可以接收到该信息,MQTTX向topic/freestrongpub主题发布“hello dtu”的数据,DTU也能够接收得到,表示数据交互成功。

4 总结

        本篇文章讲述了MQTT协议和FS800DTU的基本信息和获取MQTTX连接参数的操作步骤,并介绍了使用FS800DTU连接MQTT服务器进行通信的方法,感谢大家的观看,对本文章有任何不清楚的地方或者想对产品有更多的了解可以私信或者在评论区留言,我们看到会及时回复您!


http://www.ppmy.cn/ops/164984.html

相关文章

ESP32的IDF开发学习-移植lvgl并显示简单ui(以gc9a01为例)

📖 前言 历经数日的调试与优化,终于成功攻克GC9A01显示屏的驱动开发!🎉 本文将聚焦LVGL图形库的移植与实践,详细介绍如何在ESP32-S3平台上实现基础UI渲染,为后续复杂界面开发奠定基础。 🛠️ L…

debug_unpack_ios failed: Exception: Failed to codesign 解决方案(亲测有效)

debug_unpack_ios failed: Exception: Failed to codesign 解决方案(亲测有效) 背景原因解决方案tipsresult 背景 执行flutter doctor全通过后run项目依然报错 原因 1、检查flutter Mac的flutter项目在哪个文件夹内 2、检查flutter Sdk在哪个文件夹内 …

live555推流服务器异常

1.后端异常信息: MultiFramedRTPSink::afterGettingFrame1(): The input frame data was too large for our buffer size (100176). 48899 bytes of trailing data was dropped! Correct this by increasing "OutPacketBuffer::maxSize" to at least m…

redis 支持哪几种数据结构

Redis 支持多种数据结构,每种数据结构都有其特定的用途和优势。以下是 Redis 支持的主要数据结构及其特点,并附上代码示例: 1. String(字符串) 特点: 最基本的数据类型,可以存储字符串、整数或浮…

SpringBoot(一)--搭建架构5种方法

目录 一、⭐Idea从spring官网下载打开 2021版本idea 1.打开创建项目 2.修改pom.xml文件里的版本号 2017版本idea 二、从spring官网下载再用idea打开 三、Idea从阿里云的官网下载打开 ​编辑 四、Maven项目改造成springboot项目 五、从阿里云官网下载再用idea打开 Spri…

U1.【UVA】块问题-The Blocks Problem(补充了pair的使用)

目录 1.题目 2.分析 单词积累 题目意思理解 测试用例的过程图描述 3.代码 前置知识:STL库的模版类:pair<类型1, 类型2> 查找积木函数find代码 move、pile、onto和over操作分析 归位函数clean代码 移动函数move代码 打印结果函数的代码 正确代码 完整代码 …

因果推理嵌入机器学习的范式演进与技术图谱重构

版本一&#xff1a;逻辑深化型 因果革命&#xff1a;AI范式转移的下个风暴眼&#xff1f; 当深度神经网络突破90%图像识别准确率时&#xff0c;我们陷入一个认知困局&#xff1a;机器学习给出的预测越精准&#xff0c;对其决策依据的理解就越模糊。这种"黑箱困境"的…

【Java开发指南 | 第三十四篇】IDEA没有Java Enterprise——解决方法

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 1、新建Java项目2、单击项目名&#xff0c;并连续按两次shift键3、在搜索栏搜索"添加框架支持"4、勾选Web应用程序5、最终界面6、添加Tomcat 1、新建Java项目 2、单击项目名&#xff0c;并连续按两次…