转载

让你家的楼宇门变聪明:基于树莓派实现任意终端控制楼宇门

原创作者:豆豆青春不喂狗

一、背景

寒冷冬天的早晨,你躺在被窝里,门铃响了,你需要立刻起床穿衣服,然后去开门。现在,树莓派能帮你或得一个从容穿衣的时间。

二、摘要

1、简介:

使用树莓派、无线继电器、433发射模块完成对立林楼宇门的任意终端控制。

2、结构图:

让你家的楼宇门变聪明:基于树莓派实现任意终端控制楼宇门

三、环境

1、硬件:

树莓派Raspberry Pi Model B+型 或者 树莓派2代 12V无线继电器 433发射模块

2、软件:

433Utils python php

四、原理

1、开锁原理:

四线非可视楼宇门主机在每个住户都引出4根线,对应的门铃/对讲机上的功能为:

红色---地线 绿色---振铃线 白色---主机到分机的通话+开锁线 黑色---分机到主机的通话线

只要将开锁线与地线短路,就可以控制楼宇门开启。

电路图:

让你家的楼宇门变聪明:基于树莓派实现任意终端控制楼宇门

文中使用的楼宇门主机型号为JB2200,其他楼宇门主机也可以,请自行对应各个引线关系。

2、继电器原理:

继电器是一种电子控制器件,是用较小的电流去控制较大电流的一种“自动开关”。更详细的内容请强行脑补,此处不展开介绍。

下面简单介绍一下一路无线继电器的各引线作用:

输入端---VCC、GND两根线,用于接入合适的电源,区分正负极 常开端---NO 继电器处于关闭状态时,NO与CON断路,反之联通 常闭端---CO 继电器处于管理状态时,CO与CON联通,反之断路 公共端---CON

关于继电器工作模式的选择,点动,互锁都可以,编程时区分即可,文中使用的时互锁模式。

五、开工

明白了上面的原理,那我们可以开工了。

1、连线:

1)树莓派与433发射模块连接

433->VCC---Raspberry Pi->任意5V电压 433->GND---Raspberry Pi->任意地线  433->DATA--Raspberry Pi->任意GPIO口,需要与433Utils send.cpp中GPIO定义对应,默认int PIN = 0;(WiringPi Pin定义)

如下图所示:

让你家的楼宇门变聪明:基于树莓派实现任意终端控制楼宇门

2)无线继电器与楼宇门主机入户线连接:

继电器->VCC---楼宇门主机->受话线  继电器->GND---楼宇门主机->地线  继电器->NO----楼宇门主机->通话+开锁线  继电器->CON---空

2、软件:

1)433Utils安装:

请强行脑补,传送门 https://github.com/ninjablocks/433Utils

编译前请确保send.cpp中,引脚定义int PIN = 0;与连线一致

2)控制客户端与服务端

php服务器

提供读取开关状态和设置开关状态两个接口

读取开关状态

http://your_server_ip/RaspBerry_Relay.php?action=GET

设置开关状态

http://your_server_ip/RaspBerry_Relay.php?action=SET&relay=off/on

python端

运行在树莓派上读取服务器开光状态发送响应的无线指令

代码为自行编写,传送门: http://pan.baidu.com/s/1hqIxRDi

3、最后的调试:

无线继电器学习功能,不同继电器不一样,本文中的无线继电器操作方法为:

只开不关 按住触摸线不放,蜂鸣器第二次响两下松开,树莓派终端输入sudo ./send 11111 4 1,模块蜂鸣器再次响一下,学习成功。  只关不开 按住触摸线不放,蜂鸣器第三次响三下松开,树莓派终端输入sudo ./send 11111 4 0,模块蜂鸣器再次响一下,学习成功。  其他类型无线继电器学习功能请强行脑补,学知识上X宝,包教包会,报销往返路费,本期学不会下期免费再学

现在,你已经可以在任意终端上通过访问设置开关状态的URL来控制你家的楼宇门了!

*原创作者:豆豆青春不喂狗,本文属FreeBuf原创奖励计划文章,未经作者本人及FreeBuf许可,切勿私自转载

正文到此结束
Loading...