当前位置: 首页 >应用方案 >技术应用 >

EWM103-W15SP连接标准MQTT服务器(Mosquitto)传输教程

摘要

本教程详细讲解亿佰特EWM103-W15SP、EWM103-W15SX、EWT103-W15SP系列双模WiFi模块连接标准MQTT服务器(Mosquitto)的完整配置流程,涵盖Mosquitto服务器部署、WiFi模块AT指令配置、MQTT连接参数设置、主题订阅与发布等核心操作步骤,帮助开发者快速实现物联网设备的MQTT通信功能。

一、MQTT服务器(Mosquitto)传输教程概述

MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议,广泛应用于物联网场景。EWM103-W15SP系列双模WiFi模块是一款支持WiFi无线通信的物联网模块,内置MQTT客户端功能,可通过AT指令快速连接MQTT服务器实现数据传输。

本教程将演示如何使用EWM103-W15模块连接Mosquitto MQTT服务器,完成消息的订阅与发布。

1、适用场景

• 物联网设备远程数据上报

• 智能家居设备云端控制

• 工业传感器数据采集

• 设备状态监控与告警推送

2、准备工作

2.1、硬件准备

设备

数量

说明

EWT103-W15SP测试套件

1套

EWM103-W15模块及配套底板

USB转接线

1条

用于连接模块与电脑

2.2、软件准备

软件

用途

获取方式

Mosquitto

MQTT服务器

Mosquitto官网下载

XCOM串口调试助手

发送AT指令配置模块

亿佰特官网下载

MQTT.fx

MQTT客户端测试工具

百度搜索下载

说明:本教程使用Windows版本的Mosquitto,在局域网内部署作为MQTT服务器。如使用其他MQTT 3.1.1协议兼容的服务器(如EMQ X、HiveMQ等),配置方法类似。

二、Mosquitto服务器部署

第一步:下载安装Mosquitto

1. 访问Mosquitto官网;

2. 点击"Download"进入下载页面;

3. 选择对应操作系统版本下载(本教程使用Windows版本);

4. 双击安装文件,按照安装向导完成安装。

第二步:配置并启动服务器

1. 打开Mosquitto安装目录(如:D:Mosquitto)

2. 在文件目录栏输入cmd打开命令行窗口

3. 执行以下命令启动MQTT服务器:mosquitto -c "D:Mosquittomosquitto.conf" -v

参数说明:

参数

含义

-c

指定配置文件路径

-v

详细模式,显示调试信息

注意事项:

• 命令行窗口不可关闭,否则服务器进程会被终止;

• 本教程配置服务器监听端口为1884(默认端口为1883);

• 如需客户端接入验证,请参考Mosquitto官方文档配置用户认证;

三、EWM103-W15SP系列双模WiFi模块配置

第一步:连接硬件并打开串口

1. 使用USB线将EWT103-W15SP测试套件连接至电脑;

2. 打开XCOM串口调试助手;

3. 配置串口参数:波特率115200,数据位8,无校验,停止位1;

4. 点击"打开串口";

5. 勾选"发送新行"选项(AT指令需要回车换行结尾)。

第二步:切换为STA模式

发送AT指令AT+CWMODE=1

1EWM103-W15SP链接MQTT服务器教程

说明:模块首次上电默认既不是STA也不是AP模式,必须先发送指令切换为STA模式才能连接WiFi。

第三步:连接WiFi网络

发送AT指令AT+CWJAP="WiFi名称","WiFi密码"

2EWM103-W15SP链接MQTT服务器教程

示例AT+CWJAP="iQOO","123456789"

参数说明:

参数

示例值

说明

WiFi名称

iQOO

要连接的WiFi SSID

WiFi密码

123456789

WiFi连接密码

提示:如存在同名WiFi,可添加MAC地址参数区分:AT+CWJAP="WiFi名称","密码","MAC地址"

连接成功后,串口会返回"WIFI CONNECTED"和"WIFI GOT IP"提示。

第四步:配置MQTT连接参数

发送AT指令AT+MQTTUSERCFG=0,1,"客户端ID","用户名","密码",0,0,"/"

3EWM103-W15SP链接MQTT服务器教程

示例AT+MQTTUSERCFG=0,1,"test","admin","123456789",0,0,"/"

参数说明:

参数位置

示例值

说明

参数1

0

链路ID,目前仅支持0

参数2

1

连接类型,1表示基于TCP的MQTT

参数3

test

MQTT客户端ID(Client ID)

参数4

admin

MQTT用户名

参数5

123456789

MQTT用户密码

参数6

0

证书ID,无证书填0

参数7

0

CA ID,无CA填0

参数8

/

资源路径

注意:如果参数中包含逗号",",需要使用转义符","输入。

第五步:连接MQTT服务器

发送AT指令AT+MQTTCONN=0,"服务器地址",端口,重连标志 ;

4EWM103-W15SP链接MQTT服务器教程

示例AT+MQTTCONN=0,"192.168.1.100",1884,1 ;

参数说明:

参数

示例值

说明

链路ID

0

目前仅支持链路0

服务器地址

192.168.1.100

MQTT服务器IP或域名

端口

1884

MQTT服务器端口

重连标志

1

0=断线不重连,1=断线自动重连

连接成功后,串口会返回"+MQTTCONNECTED"提示。

四、数据收发测试

1、MQTT.fx客户端配置

① 打开MQTT.fx软件,点击齿轮图标进入配置界面;

② "MQTT Broker Profile Setting"中填写。

配置项

填写内容

Broker Address

MQTT服务器地址(如192.168.1.100)

Broker Port

MQTT服务器端口(如1884)

Client ID

客户端标识(任意填写,不可与模块重复)

③ 点击"User Credentials"配置用户名和密码(如服务器无验证可任意填写);

④ 点击"Apply"保存配置;

⑤ 点击"Connect"连接服务器,右上角图标变绿色表示连接成功,

5EWM103-W15SP链接MQTT服务器教程

2、模块订阅主题

发送AT指令AT+MQTTSUB=0,"主题名",QoS等级 ;

示例AT+MQTTSUB=0,"test",0 ;

参数说明:

参数

示例值

说明

链路ID

0

目前仅支持链路0

主题名

test

要订阅的MQTT主题

QoS等级

0

消息服务质量等级(0/1/2)

3、模块发布消息

发送AT指令:AT+MQTTPUB=0,"主题名","消息内容",QoS,Retain ;

示例AT+MQTTPUB=0,"test/topic","Hello MQTT",0,0 ;

参数说明:

参数

示例值

说明

链路ID

0

目前仅支持链路0

主题名

test/topic

发布目标主题

消息内容

Hello MQTT

要发布的数据

QoS

0

消息服务质量等级(0/1/2)

Retain

0

0=不保留,1=保留消息

发布成功后,MQTT.fx订阅了该主题的客户端会收到消息。

注意AT+MQTTPUB命令无法发送包含的数据,如需发送请使用AT+MQTTPUBRAW命令。

4、接收消息测试

① MQTT.fx的"Publish"标签页,输入主题名(如test)

② 在消息框中输入测试数据

③ 点击"Publish"发布消息

④ XCOM串口助手会显示模块接收到的消息

五、MQTT AT指令速查表

指令

功能

示例

AT+CWMODE=1

设置STA模式

AT+CWMODE=1

AT+CWJAP

连接WiFi

AT+CWJAP="SSID","password"

AT+MQTTUSERCFG

配置MQTT参数

AT+MQTTUSERCFG=0,1,"clientID","user","pass",0,0,"/"

AT+MQTTCONN

连接MQTT服务器

AT+MQTTCONN=0,"broker.com",1883,1

AT+MQTTSUB

订阅主题

AT+MQTTSUB=0,"topic",0

AT+MQTTPUB

发布消息

AT+MQTTPUB=0,"topic","message",0,0

AT+MQTTUNSUB

取消订阅

AT+MQTTUNSUB=0,"topic"

AT+MQTTCLEAN

断开MQTT连接

AT+MQTTCLEAN=0

六、MQTT服务器(Mosquitto)传输教程FAQ常见问题

Q1:WiFi连接失败?

• 确认WiFi名称和密码正确;

• 检查WiFi是否为2.4GHz频段(模块不支持5GHz);

• 确保WiFi信号强度足够;

Q2:MQTT连接失败?

• 检查服务器地址和端口是否正确;

• 确认Mosquitto服务器已启动;

• 检查防火墙是否放行MQTT端口;

• 如服务器有用户验证,确认用户名密码正确;

Q3:消息发布/订阅无响应?

• 确认主题名称拼写一致(区分大小写);

• 检查MQTT连接状态是否正常;

• 确认QoS等级配置正确;

Q4:如何发送包含特殊字符的数据?

• 包含逗号使用转义符:,

• 发送数据使用AT+MQTTPUBRAW命令;

本教程适用于EWM103-W15SP、EWM103-W15SX和EWT103-W15SP系列双模WiFi模块,其他型号请参考对应产品手册。


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多串口转WiFi模块产品和WiFi技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!


相关阅读:

1、EWM103-W15SP系列WiFi模块与电脑TCP透传通信教程

2、EWT103-W15SP双模WiFi模组开发板测试报告及使用指南

3、EWM103-W15系列双模WiFi模块使用常见问题及解决办法

4、EWM103-W15SX双模WiFi模块无线链接教程

5、EWM103-W15SP双模WiFi模块的TCP和UDP数据传输教程


联系我们:

技术支持:support@cdebyte.com      销售咨询:4000-330-990  

点击拨打: 亿佰特官网 4000-330-990