基于公共mqtt代理,DIY千里芝麻开门
时间: 2020-07-31作者:安服优

日常工作中,小伙伴们有没有到了办公室门口却开不了门的尴尬呢?

节假日公司没人值班,还没录指纹的新同事想进去加个班勤奋一把都无奈~

指纹锁太渣,识别不出指纹闹“罢工”,门口这边风景独好~

郁闷的锁,寂寞的心统统都say byebye~

今天的优优小课堂就教大家一起DIY一个基于公共MQTT代理的远程开门功能吧!

思路 · 引导

远程开门小功能是通过把线引出来接到继电器输出端,开发板接继电器输入端。

esp8266开发板做为mqtt客户端订阅指定topic,当收到指定消息便给继电器信号端高电平一段时间,然后恢复低电平,从而达到远程开门的功能。

1.找一个公共 mqtt 代理

比如安服优的 broker.afuiot.com

http://mqttdashboard.afuiot.com:8080/mqtt_h5/index.html#/index)

2.开启码农模式-

可以用 Arduino装的 esp8266插件开发,再加PubSubClient库来做 mqtt 客户端。

首先配置好常量

setup初始化

loop核心循环

reconnect重连逻辑

mycallback是mqtt client 的回调,每当收到消息都会触发这个回调

3.烧录

将开发好的软件程序烧录至一块esp8266开发板上

4.备辅料

一个继电器,数根杜邦线

5.接开关

拆开关,并将杜邦线接上开关

测试一下是否通电

通电OK后,再把开关装上去(杜邦线的另外一头露在开关外面)

将露出来的杜邦线另一头接上之前准备好的继电器和esp8266开发板

已连接 mqtt,运行成功

6.用 websocket mqtt 客户端验证一下是否能接收消息并开门

手机上打开地址:mqttdashboard.afuiot.com:8080连接

向topic:openthedoor 发送1

观察输出

噢,耶,开门成功!

温馨 · 提示

1. 在公共代理上,要用一个不容易被人猜到的topic。

2. 控制端可以考虑做成 app 或微信小程序。

3. Just for fun!

4.控制端用安服优的 websocket mqtt 客户端即可mqttdashboard.afuiot.com:8080

今天的优优小课堂DIY你get了吗?赶紧打开安服优的公共mqtt代理DIY走起~