前言

本文主要介绍Ai-WB1-12F,Ai-WB1-32S模组、开发板系列使用出厂固件进行MQTT通信操作过程。

一、前期准备

1.1 硬件准备

Ai-WB1-12F,Ai-WB1-32S开发板+Type-C线
Ai-WB1-12F,Ai-WB1-32S模组+杜邦线若干+USB转TTL模块

1.2 软件准备

1.2.1 CH340和CP2102驱动

如果电脑没有安装有串口驱动则需要进行安装

安装包链接:https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72

centos发送mqtt消息_centos发送mqtt消息

1.2.2 下载EMQX软件

软件获取链接:https://www.emqx.cn/downloads#broker,这里以windows版本为例

centos发送mqtt消息_centos发送mqtt消息_02

二、接线方式

2.1 开发板接线

Ai-WB1系列开发板的接线都是一致的,只需要插入Type-C数据线即可。

centos发送mqtt消息_开发板_03

2.2 模组接线

模组的接线则需要根据模组引脚进行连接,两款模组都是需要焊接四根线与USB转TTL连接即可。

具体需要焊接的引脚如图:

centos发送mqtt消息_centos发送mqtt消息_04


模块和USB转TTL接线如下:

Ai-WB1-12F/Ai-WB1-32S

USB To TTL

VCC

VCC(3.3V)

GND

GND

TX

RX

RX

TX

接好线后实物如下:

centos发送mqtt消息_运维_05

三、开启EMQX服务器

将下载好的EMQX软件解压到自定义路径中,如本机路径为:D:\EMQX\emqx,打开Windows PowerShell,指定到EMQX软件的路径,输入“./bin/emqx start”命令,若无报错,即服务器开启成功

centos发送mqtt消息_运维_06


①打开浏览器,输入“本地IP:18083”或者“localhost:18083”域名,点击enter访问,输入账号“admin”,密码“public”,点击login

centos发送mqtt消息_开发板_07


②进入Dashboard界面,点击Tools,选择Websocket,点击“Connect”;在Subscribe对话框中,Topic内容填写“WB1/online”,Qos选择0,点击Subscribe;在Message对话框中,Topic内容填写“WB1/EMQX”,Message内容填写“abcde”,Qos选择0

centos发送mqtt消息_服务器_08


centos发送mqtt消息_运维_09

四、连接服务器

1.将连接好的开发板或者模组连接电脑USB口

2.打开串口调试软件,选择波特率为115200,停止位为1bit,数据位为8bit,校验位为无,流控为无,打开正确串口

centos发送mqtt消息_人工智能_10


打开正确的串口,开始发送AT指令

发送AT指令的顺序:

AT           #测试AT功能
AT+CWMODE=1				#设置模组进入STA模式
AT+CWJAP="ssid","password"			#连接wifi
AT+MQTTUSERCFG=0,1,"用户ID","账号","密码",0,0,""   #设置MQTT连接所需要的的参数,包括用户ID(不为空)、账号(admin)以及密码(public)
AT+MQTTCONN=0,"IP地址",1883,0      #连接MQTT服务器
AT+MQTTPUB=0,"WB1/online","Abcde",0,0	#发布一条topic为“WB1/online”,message为“Abcde”的数据,QOS设置为0
AT+MQTTSUB=0,"WB1/EMQX",0	    #订阅一条topic为“WB1/EMQX”,QOS为0的数据

Pub数据之后之后,DashBoard中Messages received显示sub到这条数据的时间、QOS值以及消息内容等信息,效果如下:

centos发送mqtt消息_服务器_11


在Dashboard界面中将设置好的Message数据send出去之后,串口将显示接收到的数据内容,包括QOS值以及消息内容,效果如下:

centos发送mqtt消息_服务器_12


关闭MQTT连接,在串口中输入AT指令:AT+MQTTCLEAN=0

注意:本文中客户端与服务器在同一局域网中实现通信功能,因此,需要连接到同一个wifi上