使用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工具下载:点击下载 按下下图设置:
选择刚才的配置,点击"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表示对应的引脚低电平。