覆盆子 PI-实施负担得起的家庭自动化系统 [第一部分]

在本系列前面的文章, 我们看到 GPIO 引脚是什么, 和如何控制 LED 他们从我们 覆盆子 PI 通过 Bash 和 Python, o 一个 web 应用程序.

portadarelele

这次我们将学习控制的力量 电器; 在启动服务器之前我们已经安装了 正如我们看到的 以前交货.

要实现它,打算使用继电器板的 5V 和 8 个频道, 它必须是 optoacoplada 要保护树莓派; 因为我们要检查的设备 220V, 和别针 GPIO 覆盆子工作最多 3,3V.

placarele

继电器 optoacoplados 板.

我们要做的继电器和树莓派之间 下列连接.

模块继电器 optoacoplados
覆盆子 PI 模型, B, A +, B +
VCC
+ 5V
在 8
GPIO 17
吉安达 吉安达
奥林巴斯数码相机

PI 覆盆子和继电器板之间的连接.

现在我们将测试如果连接工作, 与在一个简单的测试 Bash, 设置 pin GPIO 17 作为输出, 并给出一个逻辑的高值.

#Exportamos el PIN deseado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
usuario@maquina:~$ sudo echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
usuario@maquina:~$ sudo echo 1 > /sys/class/gpio/gpio17/value

一旦已经打开了 led 的继电器控制, 因为我们可以将其关闭和释放别针 GPIO.

#Apagamos la salida del rele
usuario@maquina:~$ sudo echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/unexport

我们已经测试的运作, 所以,现在我们打算去看我们需要安排 web 页, 它是比与测试相当更简单 LED 我们看到的最后一批.

<html>
 <head>
                 <!--/var/www/rele/index.php-->
 </head>
 <body>
 <!--GPIO17--> 
 <form action="" method="post">
 Enchufe 0 [GPIO 17]&nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">
 <input type="submit" name="parpadear17" value="Parpadear">
 </form> 
 <br></br>
 </body>
</html>

<?php
// Funciones PHP del pin GPIO 17
 if ($_POST[encender17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/enciende.sh");
 echo $a;
 }

 if ($_POST[apagar17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/apaga.sh");
 echo $a;
 }

 if ($_POST[parpadear17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/parpadea.sh");
 echo $a;
 }
// Fin de las funciónes del pin GPIO 17
?>

我们需要创建这些 在 bash 中的三个脚本 若要打开, 关闭和闪烁; 这些脚本都被设在 /var www 继电器 gpio 17 /.

#!/bin/bash
#enciende.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
echo 1 > /sys/class/gpio/gpio17/value
#!/bin/bash
#apaga.sh

#Apagamos la salida del rele
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport
#!/bin/bash
#parpadea.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit, y lo desactivamos 5 veces
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport

当我们有 脚本index.php 在他们各自的路线, 我们必须能够查看 以下层次结构 在 web 服务器上的目录.

屏幕截图 2014-11-08 16:27:54这次,我们还必须作出 sudoer 给用户 www 数据; 为此,运行 sudo visudo 在终端中, 并将其添加在用户下的 pi 以便用户 www 数据 您可以控制引脚 GPIO.

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=(ALL) NOPASSWD: ALL

现在我们将测试的三个按钮 验证一切正常工作. 一旦工作, 与继电器板指示灯亮起, 我们将会听到 “咔 /” 你发出时打开和闭合的电路.

屏幕截图 2014-11-08 13:30:46

Web 应用程序控制的继电器控制.

我们将看到如何将其连接到一盏灯或任何其他装置来控制它 从任何 web 浏览器的设备.

为架构 连接磁热开关和插座之间中继 我们房子的墙将如下; 单通道继电器肖像也有计划为用, 在这个例子中它是 通道中 8 八通道板.

rele5vmagnetotermico

一座房子的电气面板中的连接图.

概念证明, 将下面的架构使用插头,我不得不改变在一个房间里的房子, 和一盏灯. 下面是在墙上, 和上面的人已经骑在这个测试中,连接在灯; 作为一个开关继电器.

rele5venchufe1

本测试中使用的计划.

有的为每个输出继电器电气连接的三个端口: COM, 常开 常闭. 在 COM 我们必须连接 电气积极 它将饲料设备, 和 在只有一个 其他两个电缆延伸 该装置是正面. 的 负面 连接 直接从到装置的电源插头.

PB080196

继电器连接.

它将取决于如果你连接到 常开, 或 常闭 如果设备上或关闭如果你关掉覆盆子.

在此示例中,继电器连接在 常闭, 所以,如果你关掉覆盆子, 插头工作; 如果 conectásemos 它在 常开, 当断开覆盆子灯不可能点燃因为电路将开放; 我们将了解与视频.

如果你愿意,你可以跟着我 推特, Facebook, 谷歌 +, LinkedIn, 或它分享这份出版物下方的按钮, 如果您有任何疑问或建议,请不要犹豫,置评.

帮助我们达成更多的读者 Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

35 思考"覆盆子 PI-实施负担得起的家庭自动化系统 [第一部分]

  1. 打开和关闭指示灯从互联网

    早上好, 在任何东西之前, 至少我可以说, 谢谢, 超级
    本教程, 再看一眼, 喝彩声和谢谢你.

    一个问题, 我不明白完全一样和在哪里应该安装脚本,
    我的目的是要让 WEB 页, 事实上, 不是因为我去
    使用 PHP 和 WEB, 为例, 通过 pc 机, 连接到互联网
    在任何地方以激活不同的发光二极管或继电器, 不是如何去做,
    提前和当然, 许多感谢任何帮助.

    比利时友好伊格纳西的奥

  2. 您必须将它们复制到 /var/www/rele,在本教程中所示脚本和单一 index.php, 每个人都有它的路线.

    在 /var/www/rele/index.php index.php
    apaga.sh, enciende.sh 和 parpadea.sh /var/www/rele/gpio/17 /

    一次被它顺从于继电器连接到 GPIO 17, 几天后我将结束与第二部分以操作 8 项产出.

    从互联网访问您应该配置路由器,将传入请求通过端口转发 80 到你 PI 覆盆子. 从虚拟服务器的路由器或 NAT 选项您可以配置它.

    最后,要访问更多容易可以报名参加 NoIP 并获得与您的类型 casa.no ip.biz 的公网 ip 免费域名.

    PD: 确保只有您有权访问它,你很好保护那一页.

    非常感谢你的评论.

  3. 下午好,

    一切都完美, 虽然只是通过局域网或通过 Xming ssh, 无法连接到远程, ' 与另一台 PC,通过互联网, 我有 noip 和 dyndns, 和我不能运行, 如果你有任何想法,我感谢它你提前,

    强大的问候和一看更多, 谢谢

    伊格纳西奥

    • 我很高兴,它最后的作品, 但若要从互联网连接哪些协议您使用?

      你必须打开你想要给您访问互联网的路由器上使用的服务的端口 (HTTP 端口 80, HTTPS 端口 443, SSH 端口 22, 等) 做给您访问互联网的私人覆盆子 IP 路由器的端口转发.

      最后现在你只会从另一个网络所面临的公共 IP,你的路由器开始连接, 你可以试着从你的手机 3 G.

      如果是这样的话, 现在你可以继续为从名称容易记住而不是一个公共 ip 地址访问配置 NoIP 或 Dyn; 另外如果在覆盆子上安装 NoIP, 在 NoIP 网站上你的公网 IP 将会自动更改每当此更改您的路由器.

      为增加安全性, 如果您配置的 VPN,使连接到您的家庭网络,它会更好, 和通道通过它你的流量.

  4. 你好, 我有一个问题我在 gpio4 上有 led, sudo 回声 1 > /这我关闭导致系统类 gpio gpio4 值, 与 sudo 回声 0 > /sys 类 gpio gpio4 值, 打开我领导, 应该是 revez, 将作出一些邪恶?.
    将的文件通过网络连接, 当我按下任何按钮 (打开, 关闭, 或闪烁) 只有关闭 led, 但并不取决于, 也不闪烁.
    我很感激你能给我的帮助.

    • 你好, en primer lugar muchas gracias peor tu pregunta 🙂

      您可以按照教程一步一步, 继电器具有 3 类型的针脚:

      – -功率 > VDC (PIN 5V RPI)
      – 吉安达-GND RPI 针 >
      – 在网站-> 条目, 并根据你的状态是高还是低继电器将打开或关闭.

      示例使用 IN8, solo debes cambiarlo por IN0 o IN1 de tu relé y como comenté antes seguir el tutorial 🙂

      PD: Sean optoacoplados Asegurate, 洛杉矶 de la 照片它儿子.

      此致敬意, 我也希望 ayudado.

  5. 首先, 谢谢你的解释, 非常好.

    我按照你的指示和我可以捉鱼罐距离空气泵.

    我的问题是缺少我可以验证管脚状态 (真或假)

    怎么则能带给我这个数据在同一页面上我?

    是海军按照你的指示, 正确地打开和关闭中继.

    • 嗨特奥多罗,

      此注释是许多读者问的东西, 我正准备在那里,我们将安排的 GPIO 状态指示器本教程的下一部分的针在我的业余时间免费.

      一旦完成在博客上都将发布.

      一会见.

  6. 不过在此之前你太感谢你的博客。. 是壮观. 就我而言我买了你所需要的一切, 我已经按照你的教程, 但是,当你运行的板 8 继电器, 出什么差错.

    问题是,是如果我有板 octoacoplada?? 是,似乎那不是你成为当前不足以激活它. 我的连接:

    5v-> VCC (板)
    吉安达 (P3) -> 吉安达 (板)
    GPIO4-> IN4 (板)

    活动时与脚本 gpio, 领导的红色控制开启 momoento, 但是它不会. 我明白,这是因为 gpio 激活到 3,3 伏特和继电器是 5V. 发誓相同但是有板所以你到 ahber 的方式,使其不工作?

    Apreciaria 任何类型的注释, 继电器板是,如下所示
    (8 继电器模块开关磁阻电动机-05VDC-SL-C)

    谢谢非常感谢

  7. 你好 Loty,

    大多数的销售为微控制器的支持继电器板已经来了光电耦合, 你可以检查它是否是在规格或寻找在板光电耦合器; 这是指多个系列你提到如果那件事是.

    事实上这些板块已经厌倦 5V, 但输出可以由 3 作动器作为覆盆子 IP GPIO 3V 也激活.

    不管怎么说,这个问题似乎是缺乏权力, 所以用 2A 或饲料外部继电器可以帮助替换的覆盆子变压器.

    问候和很快见到你.

    • 你好!
      谢谢你的回复. 我做过测试直接对继电器板 (删除 PI 覆盆子), 来看看它是否板有邪恶. 我得在 2A 5V 外部电源.

      我连接 GND,除非 VDC 饲养者 + 进纸器和 IN4 也到 +. 和那里。. 作品!! 单击中继和 LED 指示灯亮起, 我做过测试 220v 灯与还在工作. 问题出现与树莓派.

      我已经连接板式给料机外部 “+” VDC “-” 吉安达和我已经连接覆盆子 gpio4 IN4, 还有当我激活 GPIO, 什么也没有发生. 我有分寸的 GPIO 和给出了 3,3 v. 在其他网站上看过,据说这是由于连接跳线 VDC JCC 否则. 不是我做错了. 它可能是我把通过 BASH gpio?? 在她廉价卡使用 la libreria de python 的 GPIO 工作所需的 S??

      这次包括格拉西亚斯 por cualquier 贡献

  8. 你好, 我有一个问题来擦除与中继光, 在本教程中使用的代码, 就能亮正常, 但不是删除擦除和继电器武装, 只有解除我拔出从覆盆子中继电缆时. 在几次尝试后,我设法做删除本教程与代码的教程的代码导致删除. 获取此窗体的代码的一部分: 如果 ($_ 邮政[apagar17]) {
    $自- exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $自- exec(“sudo 回声 17 > /sys,类,gpio,贸易”);
    $自- exec(“sudo 回声 0 > /gpio sys 类 gpio17 值”);
    $自- exec(“sudo 回声 17 > /sys/类/gpio/导出”);
    回声 $a;
    }

  9. 来自墨西哥的下午好, 我的名字是恩里克 ·, 我很感兴趣与覆盆子这来自一个学校项目实施自动化的一部分, 在这些教程中提到的必须有 linux 为哪个做不知道的多, 它是可能发展的项目, 网站和覆盆子与 windows 中的必要的编程?, 你提到的 web 服务器必须安装在同一树莓或在哪里?, 如果希望控制的设备的数量超过容量的覆盆子 3 ocuparia 做正常, 其他的覆盆子,还是有一些东西,会提高我的能力?, 如果你处理作为另一个覆盆子都与同一个 web 应用程序?.

    我希望和你能帮我用这.

    此致敬意.

  10. 嗨,你好吗? 这是真的非常有趣和有用的条目在你的博客. 我开始一个类似的项目, 我有一个查询:

    材料, 我有:

    – 覆盆子 pi 3
    – Powerbank tplink
    – 树莓电流互感器
    – 中继模块 (等于你的 8 电视频道)

    这个想法是把一个电源进口, 并在那里有 electridicad 运行的覆盆子和饲料通道的模块继电器打开/关闭设备, 但, 当有电没有 (停电) 覆盆子 (无中继模块) 继续跑 powerbank (直到电池, 但作为探头和持有 6 小时).

    这是 powerbank:
    http://www.tp-link.ec/products/details/cat-5689_TL-PB10400.html

    从已经非常感谢你的帮助!!!

  11. buen dia, primero que nada disculpe por revivir un tema antiguo, tengo una duda…. pretendo activar 4 focos diferentes en mi casa para un estudio privado que tengo de fotografia, mi idea era hacerlo desde una pagina web local, usando una pantalla touch de raspberry para interactuarque me recomiendas

留言