使用WIFI模块与百度天工进行透传数据通讯(M0E1系列)

  • 前言
  • 具体步骤
  • 进入AT指令模式
  • 配置相应的AT指令
  • 使用MQTT.fx进行测试
  • MQTT控制模块引脚功能
  • 说明


前言

M0E1系列模组,是基于ESP8266开发的WIFI模块。经过固件的不断迭代,目前已经演化出两个版本的标准固件,其中之一就是MQTT的透传固件。使用M0E1系列模块的MQTT透传固件,可以通过AT指令设置保存后实现开机MQTT数据的透传,可以方便的将数据直接发送到阿里云物联网套件百度天工IOT HUB或者自己搭建的MQTT服务器上。

注意:模块出厂默认波特率为57600,模块串口工作模式有两种,一是AT指令模块,二是透传模式,模块默认为透传模式。

具体步骤

进入AT指令模式

通过串口工具入模块输入+++(3个字节),当模块输入a以后在3秒内往模块输入a(1个字节),模块输出+ok,则表示模块则进入了AT指令模式。

配置相应的AT指令

注意:AT指令在输入时,必须结尾带回车换行,C语言中则为“\r\n”。
1.设置WIFI模块工作模式

设置

返回

AT+WMODE=STA

+ok

查询

返回

AT+WMODE

+ok=STA(模式有:APSTA,STA,AP)

2.设置连接路由器的账号和密码

设置

返回

AT+WJAP=APtest,12345678

+ok(APtest为路由器的AP,12345678为路由器的密码)

查询

返回

AT+WJAP

+ok=APtest,12345678 (APtest为路由器的AP,12345678为路由器的密码)

3.设置透传发布号

设置

返回

AT+MPT=1,testmqttsend

+ok (1:QOS1,testmqttsend为发布号)

查询

返回

AT+MPT

+ok =1,testmqttsend(1:QOS1,testmqttsend为发布号)

4.设置透传订阅号

设置

返回

AT+MST=1,testmqttrecv

+ok (1:QOS1,testmqttrecv为订阅号)

查询

返回

AT+MST

+ok =1,testmqttrecv(1:QOS1,testmqttrecv为订阅号)

5.设置登陆用户名

设置

返回

AT+MUSER=user

+ok

查询

返回

AT+MUSER

+ok =user

6.设置登陆的密码

设置

返回

AT+MPASS=password

+ok

查询

返回

AT+MPASS

+ok =password

7.设置CLIENT ID

设置

返回

AT+MCID=client_mqtt_test_001

+ok

查询

返回

AT+MCID

+ok=client_mqtt_test_001

8.设置LAST WILL MSG

设置

返回

AT+LWT=lwt,offline

+ok

查询

返回

AT+LWT

+ok=lwt,offline

注意:当模块掉线以后,并未再上线,服务器将往lwt的主题发送offline的数据内容。

9.连接MQTT服务器

设置

返回

AT+MSOCK=1883,mqlinks.tpddns.cn

+ok

查询

返回

AT+MSOCK

+ok=1883,mqlinks.tpddns.cn

注意:我们将提供一个永久免费的服务器,域名mqlinks.tpddns.cn,此服务器是没有用户名和密码的,只方便大家用于测试,请勿用于商用。

10.设置串口波特率

设置

返回

AT+UART=115200,8,1,NONE,NFC

+ok

查询

返回

AT+UART

+ok=115200,8,1,NONE,NFC

注意:串口设置完毕以后会回立刻生效,请使用新的波特率进行通信。

11.保存并重启

设置

返回

AT+Z

+ok

注意:至些模块每次重启,都会加载上面设置的参数。

使用MQTT.fx进行测试

电脑端MQTT工具下载:点击下载 按下下图设置:

ESP32 C3 透传 固件_模块

选择刚才的配置,点击"Connect",后在Publish中往刚才模块订阅的主题testmqttrecv发送hello,mylinks,这些模块直接在串口透传出hello,mylinks的数据

ESP32 C3 透传 固件_透传_02

在MQTT.fx订阅选择中,使用testmqttsend主题进行订阅,此时模块通过串口发送数据,则PC工具可接收到数据。

ESP32 C3 透传 固件_透传_03


至此,M0E1的WIFI mqtt固件版本双向串口透传通信完成。

MQTT控制模块引脚功能

从030版本后,我们的模块增加了2个GPIO4和GPIO5引脚,可提供给用户进行远程控制,以方便用户的设计和后使用,两个引脚上电后初始化为低电平,具体步骤如下:
1.打开GPIO引脚的使能功能:

设置

返回

AT+GPIOEN=on

+ok

查询

返回

AT+GPIOEN

+ok=on(模式有:on和off)

2.保存并重启

设置

返回

AT+Z

+ok

2.等待模块连接上阿里去服务器后,往模块订阅号发送JSON数据:
{“mylinks4_gpio4”:“on”,“mylinks5_gpio5”:“off”}

注:此时GPIO4会变成高电平,GPIO5变成低电平,如果只需要对一个引脚操作,则只需要发送对应的json格式就可以了。on表示对应的引脚高电平,off表示对应的引脚低电平。