使用WIFI模块与MQTT服务器进行透传数据通讯(M0E1系列)

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

前言

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工具下载:点击下载
按下下图设置:
在这里插入图片描述

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

在MQTT.fx订阅选择中,使用testmqttsend主题进行订阅,此时模块通过串口发送数据,则PC工具可接收到数据。
在这里插入图片描述
至此,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表示对应的引脚低电平。

说明

如果遇到模组使用上的问题,可以进群号为519630819的QQ群进行交流。
相关产品,请关注:shop.mqlinks.com

猜你喜欢

转载自blog.csdn.net/mqlinks/article/details/99712224