如何使用ifttt和raspberry pi自动化车库门

在本教程中,我们将向您展示如何使用树莓Pi和IFTTT实现车库门的自动化。...

智能家居设备很酷,但也可能很昂贵。通过一个树莓Pi和一两个组件,将现有设备连接到互联网既简单又便宜。

让你的**门互联网意识是一个伟大的入门学习如何控制现实世界的Pi。老实说,谁不想感觉自己有点像蝙蝠侠,当他们把车开进车道时,**会自动打开呢?

你需要什么

要使**门自动化,您需要:

  • 一种**门电机,可接受外部触发。
  • 连接到internet的树莓Pi(任何型号)。本教程假设您的Pi运行的是Raspbian操作系统(如果不是,请参阅我们关于如何在Raspberry Pi上安装Raspbian的文章)。
  • 一个中继扩展板,可以在Amazon上找到。
  • 覆盆子Pi的2A电源。额定值较低的型号可能无法驱动继电器板和Pi。
  • 四根跨接电缆(另外,您要控制的每扇额外的门都有一根跨接电缆)。
  • 两芯电缆足以连接Pi和**门电机。便宜的扬声器线是理想的,但电话或以太网电缆也可以工作。

一旦您收集了这些组件,就可以开始了。

自动**门的工作原理

大多数**门电机可通过外部输入触发打开或关闭。**商提供了这些输入,这样安装人员就可以在家中的某个地方挂上一个简单的按钮来打开或关闭门,而无需使用常规的遥控器。当按下并释放触发按钮时,它会瞬时关闭一个电路,告知电机启动或停止。

你要用一个继电器代替一个外部按钮。短暂关闭继电器将关闭电路,就像按下触发按钮一样。在Raspberry Pi上运行的Python脚本将允许您从家庭网络控制中继,从而控制门。

步骤1:将覆盆子pi连接到继电器

您将在Raspberry Pi和中继板之间建立至少四个连接。如果使用Pi零点,则需要直接焊接连接,或者将GPIO头焊接到Pi,并使用跨接导线进行连接。建议使用后一种方法,因为如果您想要断开继电器板并将Raspberry Pi用于其他用途,则无需断开连接。更大型号的Pis已经有用于连接推入式跨接电缆的头销。

如果您是新使用GPIO的,请务必阅读我们的文章,了解关于Raspberry Pi GPIO引脚的所有信息。

在连接所有设备之前,检查继电器板是否有跳线将VCC和JD-VCC引脚连接在一起。如果有,请将其卸下,因为您需要分别为VCC和JD-VCC供电。

关闭所有电源后,按如下方式将继电器板连接到Pi:

  • 首先将Pi引脚2(5V导轨)连接到继电器板上的JD-VCC。
  • 将Pi引脚1或引脚17(3.3V导轨)连接至继电器板上的VCC。
  • 将Pi引脚6(GND)连接至继电器板上的GND。
  • 最后,将Pi引脚7(GPIO 4)连接到继电器板上的IN1。这是切换继电器的连接。

如果您有多个**门,或者如果您想为电动门添加控制,则应在继电器板上的IN2、IN3等与Pi上的其他免费GPIO输入/输出引脚之间添加额外连接。

步骤2:在raspberry pi上安装依赖项

Raspbian预装了Python,但您需要添加GPIO库。在Pi的终端窗口中键入以下内容:

sudo apt-get updatesudo apt-get -y install python-rpi.gpio

现在在您的主目录中创建一个新文件夹,将控制继电器的Python脚本放在某个地方:

mkdir ~/garagedoorcd ~/garagedoor

最后,下载瓶子,这是一个轻量级框架,将在您的Pi上创建一个简单的web服务器:

wget https://bottlepy.org/bottle.py

步骤3:创建控制脚本

下面是一个通过HTTP控制中继板的非常简单的Python脚本:

# Python Script To Control Garage Door# Load librariesimport RPi.GPIO as GPIOimport timefrom bottle import route, run, template# Set up the GPIO pinsGPIO.setmode(GPIO.BOARD)GPIO.setup(7, GPIO.OUT)GPIO.setup(11, GPIO.OUT)GPIO.output(7, True) GPIO.output(11, True)# Handle http requests to the root address@route('/')def index(): return 'Go away.'# Handle http requests to /garagedoor@route('/garagedoor/:doornum')def garagedoor(doornum=0): if doornum == '0': return 'No door number specified' elif doornum == '1': GPIO.output(7, False) time.sleep(.8) GPIO.output(7, True) return 'Door number 1 cycled.' elif doornum == '2': GPIO.output(11, False) time.sleep(.8) GPIO.output(11, True) return 'Door number 2 cycled'run(host='0.0.0.0', port=1234)

在Raspberry Pi上,使用nano创建一个新的Python文件:

nano door.py

将上面的脚本复制并粘贴到空文档中。退出并使用CTRL+X、Y组合键保存,然后输入确认。

现在通过运行脚本来测试脚本:

python door.py

如果一切正常,您将看到如下消息:

如果您收到任何错误消息,请检查所有内容是否正确粘贴到文件中,并且您没有在同一端口上运行另一个类似Apache的web服务器(这将干扰脚本创建的服务器)。

假设没有错误,请转到同一网络上另一台计算机上的web浏览器,然后在地址栏中键入Pi的IP地址,后跟冒号和1234。例如,如果Raspberry Pi的IP地址是11.22.33.44,则应在浏览器中键入11.22.33.44:1234。

如果一切正常,你会看到一条信息,告诉你走开!

现在在IP地址和端口号之后添加/garagedoor/1,如下所示:11.22.33.44:1234/garagedoor/1

点击回车键,你会听到电路板上的第一个继电器在关闭和再次打开时发出两次咔嗒声。如果将1更改为2并重新加载页面,您将听到第二次中继循环。

步骤4:将继电器连接至车门电机

请参阅**门电机手册,了解外部控制器的连接位置。将两芯电缆连接到继电器板上,并将电缆的另一端连接到继电器板的螺纹端子上。

每个继电器有三个端子——使用图中所示的常开对。

再次从web浏览器测试所有内容(您只需刷新页面即可)。如果一切顺利,继电器将点击几次,你的**门应该开始打开。

步骤5:将脚本设置为自动加载

如果您的Raspberry Pi因任何原因重新启动,例如断电,您的Python脚本将停止运行。要使其在启动时加载,请在/etc/sc.local文件中添加以下行(如果您以其他用户身份登录Pi,请将Pi更改为您的用户名):

nohup python /home/pi/garagedoor/door.py &

使用常用的文本编辑器执行此操作,完成后保存文件。

要牢记的安全注意事项

在这个示例Python脚本上没有任何类型的安全性——任何可以通过其IP地址访问您的Raspberry Pi的人都可以打开和关闭您的**门。人们很容易认为,仅仅因为没有人知道你的脚本在那里,就没有人会找到它,但通过默默无闻的安全性已经被一再证明是一个坏主意。

完整的身份验证系统超出了本教程的范围,但一个简单的安全解决方案是不让您的Pi在家庭网络之外访问。

这里有一些更多的技巧来保护你的树莓皮。

用ifttt或siri控制**门

如果您选择从开放的互联网访问Pi,您可以通过If This Then That That(IFTTT)等服务控制**门。例如,当你对Amazon Echo说一个触发短语时,你可以结合Alexa和Webhooks IFTTT服务打开**门。

如果您驾驶一辆带有IFTTT连接服务的汽车,您可以创建一个小程序,在汽车接近您的物业时打开车门,这是蝙蝠侠式的。

想知道更多吗?请参阅我们的可下载指南,了解如何像专业人士一样使用IFTTT。

另一种触发新的互联网**门的方法是使用Siri快捷方式。在你的小部件中加入一个非常简单的快捷方式,意味着你可以忘记带烦人的钥匙,而只需轻按iPhone就可以打开**。

**之外:更多diy智能家居项目

继电器板可以切换电源电压,因此可以控制大多数家用电器。该项目可以作为将**arts添加到几乎任何带有电源的设备的基础。咖啡机、照明设备、空调——所有这些都已经成熟,可以通过覆盆子Pi和一些继电器实现自动化。

对吊扇自动化的方法感兴趣吗?请务必查看其他智能家居自动化项目,了解更多想法。

Subscribe to our newsletter

Join our newsletter for tech tips, reviews, free ebooks, and exclusive deals!

Click here to subscribe

  • 发表于 2021-08-05 19:41
  • 阅读 ( 184 )
  • 分类:IT

你可能感兴趣的文章

9个最好的pi编程资源,把你的树莓pi使用

树莓皮是个漂亮的装置。作为一种片上系统(SoC)单板设备,Raspberry-Pi有很多用途。项目范围从媒体中心和复古游戏应用程序到DIY智能家居技术,但在Raspberry Pi上编程提供了大量的学习机会。 ...

  • 发布于 2021-03-14 03:57
  • 阅读 ( 239 )

使用raspberry pi触摸屏的10个项目

与其将Raspberry Pi**电视,或通过SSH连接(或通过VNC或RDP进行远程桌面连接),您可能会选择购买Raspberry Pi触摸屏显示器。 ...

  • 发布于 2021-03-14 20:42
  • 阅读 ( 263 )

如何将数据从raspberry pi复制到pc:5种方法

不管你用什么样的树莓圆周率,总有一天你会找到一个简单的方法来复制数据到计算机和从计算机。它可以运行网络服务器,媒体服务器,复古游戏机等等。 ...

  • 发布于 2021-03-15 10:48
  • 阅读 ( 360 )

如何在linux和raspberry pi中安装usb闪存设备

可移动USB存储使数据从一台电脑传输到另一台电脑变得很简单,但是如果你使用的电脑在**设备时没有自动安装设备,如果没有正确的命令,你可能会发现在USB驱动器之间移动数据是困难的,甚至是不可能的。 ...

  • 发布于 2021-03-17 16:00
  • 阅读 ( 204 )

如何观看netflix,亚马逊视频,和树莓皮丛

试着把你的树莓皮变成媒体中心,但感到失望? ...

  • 发布于 2021-03-18 02:26
  • 阅读 ( 263 )

如何在raspberry pi上安装android

尽管Raspberry-Pi有很多操作系统可用,但您可能更愿意使用基于Linux的操作系统。但缺少触摸屏支持又如何呢? ...

  • 发布于 2021-03-18 23:47
  • 阅读 ( 316 )

用emby把你的raspberry pi变成一个媒体服务器

寻找一个智能,易于使用的Raspberry Pi媒体服务器解决方案与客户端应用程序的良好选择?也许你看了Plex或Kodi,但发现它们似乎不对。如果是这样的话,值得一试。 ...

  • 发布于 2021-03-19 08:43
  • 阅读 ( 777 )

26种树莓皮的妙用

This guide is available to download as a free PDF. Download this file now. Feel free to copy and share this with your friends and family. ...

  • 发布于 2021-03-19 18:15
  • 阅读 ( 356 )

如何将raspberry pi设置为windows瘦客户端

想在你的树莓皮上运行Windows吗? ...

  • 发布于 2021-03-21 09:29
  • 阅读 ( 685 )

如何用raspberry-pi和ifttt构建光感应智能开关

黄昏到黎明开关和定时器开关都是方便的方式来自动控制您的灯光。如果你能将两者结合起来,甚至把它们连接到互联网上,形成一个真正的智能照明系统,那不是很好吗? ...

  • 发布于 2021-03-22 21:01
  • 阅读 ( 269 )