DIY一个基于公共MQTT代理的远程开门

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

思路·引导

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

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

1.找一个公共 mqtt 代理

比如金马会的 http://broker.sdlyjdkj.com

(http://mqttdashboard.sdlyjdkj.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 客户端验证一下是否能接收消息并开门
手机上打开地址:http://mqttdashboard.sdlyjdkj.com:8080/mqtt_h5/index.html#/websocket连接
向topic:openthedoor 发送1
观察输出
噢,耶,开门成功!

温馨·提示

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

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

3. Just for fun!

4.控制端用金马会的 websocket mqtt 客户端即可http://mqttdashboard.sdlyjdkj.com:8080/mqtt_h5/index.html#/websocket

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