使用MQTT远程控制树莓派继电器开关

一、MQTT服务器(emqx)搭建

连接:安装 | EMQ X 文档

根据文档进行安装,文档里面包含各种系统安装方式,可以根据服务器系统进行选择,因为我这边用的是阿里云的centos系统服务器,所以具体安装方式如下:

1.安装所需要的依赖包

2.使用以下命令设置稳定存储库,以 CentOS 7 为例

3.安装最新版本的 EMQ X Broker

如果提示接受 GPG 密钥,请确认密钥符合 fc84 1ba6 3775 5ca8 487b 1e3c c0b4 0946 3e64 0d53,并接受该指纹。

4.启动 EMQ X Broker

 到这一步,我们的emqx服务就已经启动了,下面我们尝试访问EMQ X Dashboard

首先要确保你的服务器要开放18083和1883端口,这两个端口一个是用于访问EMQ X Dashboard,另一个是用于MQTT连接,我这边是在阿里云配置规则里面进行操作

 端口开放好后 我们尝试访问http://你的服务器公 ip:18083

 默认账 密码是 admin,public

 现在我们的mqtt服务器就搭建成功了。

二:电路连接

准备硬件:树莓派一块、2路继电器一块

我这边选用的是树草莓4B和5V继电器模块

接线:

 

树莓派5V引脚接继电器电源正极,树莓派GND引脚接继电器电源负极

(由于我选用的是5V继电器与树莓派的电压相同,所以树莓派可以直接给继电器供电)

树莓派GPIO14接继电器IN1,GPIO15接继电器IN2

(树莓派的引脚定义不必多说了吧,不清楚的话可以使用命令gpio readall 查看)

三:编写控制程序

参考连接:在树莓派上使用 MQTT | EMQ

四.测试

1.在树莓派上打开终端,运行python代码,监听消息

2.下载mqttfx 客户端工具

 3.使用mqttfx 客户端与mqtt服务器建立连接,并向 raspberry/topic 发送消息

 

 使用 MQTT.FX客户端工具的Publish 想raspberry/topic发送消息 p1

 此刻可以听到继电器1路的打开声音。

可以继续尝试发送p2,可以看到继电器1路关闭,继电器2路打开,发送stop 可以看到继电器全部关闭。

继电器可以接入直流电机控制电机正转反转以及停止,除此之外还可以接入其他负载。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月11日
下一篇 2022年1月11日

相关推荐