树莓派 – 继电器使用, X10 和运动检测器

 

在本文档中,我们将推出具有一些非常实用功能的 Raspberry Pi,这些功能可以让我们考虑实现家庭自动化系统, 超级简单又便宜. 一方面,我们将连接一个继电器,该继电器将允许我们像家里的灯一样切换电路, 另一方面是一个运动传感器,它将使我们能够执行我们感兴趣的功能, 比如打开那些相同的灯,因此不必再打开房子里的灯 =)

 

raspberry-home-automation-bujarra

 

使用 Raspberry Pi 控制继电器,

在本文档中,一方面, 我们将了解如何将继电器连接到 Raspberry 以控制电路. 您可以将其用作开关来控制房屋中的某些灯, 加热恒温器… 在 易趣 我们可以找到 5V 继电器来闭合或打开 220V 电路, 每个模块 2 欧元, 我们最多可以有 8 继电器中的模块进行控制 8 电路!

 

覆盆子-Rele-01-布哈拉

我给你留下几张截图,并得到博客的许可 RSPPI 在那里也以很好的方式解释了如何设置它. 这张图在右侧向我们展示了带有 Raspberry 的连接器, 我们将接地的 GND, 使用 IN1,我们将控制 K1 通道 (In2 代表 K2…) 我们将它们连接到 GPIO; VCC 连接到 Raspberry 的 5V. 在左侧,我们将控制将连接电线的电路, 如果我们在 1 和 2, 电路通常是“开放的”, 如果我们在 2 和 3, 电路通常是“闭合的”.

 

 

覆盆子-Rele-02-布哈拉

在此图像中,我们看到一个通常闭合的 220V 电路示例, 通过 GPIO 18 我们将减价 =)

现在, 我们将在 Raspbeyry 上安装 WiringPi:

[源代码]WGET HTTP://project-downloads.drogon.net/files/wiringPi.tgz
tar xfzv wiringPi-xxx.tar.gz
cd 接线Pi-xxx
./建[/源代码]

我们可以使用以下示例命令:

[源代码]好游戏 readall –> 它带走了所有 GPIO 的状态.
GPIO -G 模式 24 外 –> 打开 GPIO24.
GPIO -G 模式 24 在 –> 关闭 GPIO24.
GPIO -G 读取 24 –> 获取状态, 上 0, 关闭 1.[/源代码]

 

将运动传感器插入 Raspberry Pi,

只需 1 欧元多一点,我们可以在 易趣 被动运动检测器或 PIR,当它们检测到运动时,我们可以将其用于任何我们想要的东西, 无论是放置摄像机进行记录,还是告诉前一个继电器打开灯.

 

覆盆子-PIR-02-布哈拉

在这张图片中,我们将看到 PIR 检测器的引脚和 Raspberry 的 GPIO 之间的连接, 我们将 VCC 连接到 Pi 的 5V, GND 接地,OUT 到控制 GPIO,以使用 Python 脚本读取其状态. 一旦检测到运动, 我们可以决定我们想要发生的事情 =)

 

第一, 我们下载了 Python 脚本并对其进行了测试:

[源代码]WGET HTTP://www.raspberrypi-spy.co.uk/archive/python/pir_1.py[/源代码]

我们将在文件 'GPIO_PIR = ‘ 通过我们连接 PIR 传感器 OUT 的正确 GPIO 编号.

[源代码]sudo python pir_1.py[/源代码]

我们将能够使用我们感兴趣的代码根据自己的喜好修改脚本, 例如,下一个将运行 'entrada_enciende.sh’ 当检测到移动时,并在 5 秒, 它将再次检查是否仍有移动以保持灯亮或关闭它:

[源代码]…
如果 Current_State==1 且 Previous_State==0:
# PIR 被触发
打印 " 入口处的动静! 我们打开灯并等待 5 秒"
# 记录上一个状态
Previous_State=1
Import 子流程
cmd='/home/pi/entrada_enciende.sh’
subprocess.call 调用(命令, shell=真)
# 坚持 5 秒
时间.sleep(5)
elif Current_State==0 和 Previous_State==1:
# PIR 已恢复为就绪状态
Previous_State=0
打印 " 再次准备就绪, 没有移动"
Import 子流程
cmd='/主页/pi/entrada_apaga.sh’
subprocess.call 调用(命令, shell=真)
# 俟 10 毫秒
…[/源代码]

例如,每天晚上 7 点启动此脚本,等待 12 小时才能检测到移动 (打开灯光) 我们可以使用我们的 cron, 使用 'crontab -e’ 我们将添加以下行:

[源代码]00 19 * * * sudo 超时 12h python /home/pi/detector_entrada_enciende.py[/源代码]

 

X10 协议,

覆盆子-X10-01-Bujarra
如果您认为由于接线问题,使用继电器可能非常不舒服, 最简单的方法是使用基于 X10 的无线系统, 经济性也差一点. 我们可以得到一个控制器-接收器, 例如,CM15PRO (或 CM15A 或 CM19A) 从 Marmitek 以大约 75 欧元的价格出售,这将帮助我们管理 AW12 等无线开关 (开/关开关) 每个售价 45 欧元,或者 LW12 等可调节调光器的价格约为 49 欧元,尽管我们也可以使用其他开关或设备, 答案是肯定的!

接收器与 Raspberry 的连接将通过 USB 和 modchad 守护进程的安装, 除了按照手册中的指示将它们连接到电网之外,还必须为每个开关配置一个代码.

我们安装并编译 mochad:

[源代码]sudo apt-get 安装 libusb-1.0-0-dev
wget -O mochad.tgz http://sourceforge.net/projects/mochad/files/latest/download
焦油 xf mochad.tgz
冷却时间*
./设置

sudo make 安装[/源代码]

我们可以创建一个脚本来关闭或打开开关, 但首先,我们将尝试打开它!

[源代码]echo “pl a1 on" | nc 本地主机 1099[/源代码]

在以下文档中,我们将了解如何从手机或平板电脑的简单 Web 界面管理继电器的控制!!!

 

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!