电报控制家庭自动化使用树莓派
扫描二维码
随时随地手机看文章
家庭自动化现在成为物联网应用的重要组成部分,人们使用智能手机通过互联网从任何地方控制家用电器。有各种方法可以用智能手机控制交流电器,其中一些我们已经在之前的物联网家庭自动化教程中介绍过,包括用NodeMCU控制的电报交流电器。这次我们将使用树莓派代替NodeMCU,通过我们的智能手机来控制设备。在这个物联网项目中,我们将使用树莓派用Telegram应用程序的短信控制一个交流灯。
在我们之前的项目中,我们用各种物联网平台控制树莓派GPIO,其中一些列出如下:
•控制树莓派GPIO与Adafruit IO触发一个LED
•基于物联网的家庭自动化使用Blynk应用程序和树莓派
•如何使用IFTTT和树莓派触发LED
•用ARTIK云和树莓派控制家用电器
•物联网控制LED使用Thingsboard和树莓派
组件的要求
•覆盆子π
•灯
•跳线
•电报应用程序
线路图
这个树莓派电报控制的家庭自动化项目的电路图如下:
也检查电报家庭自动化与ESP8266 NodeMCU。
代码的解释
要使用Raspberry Pi和Python构建这个项目,我们需要安装两个重要的库。一个用于Telegram,另一个用于使用树莓派的GPIO引脚。要安装这些库,请打开终端并输入以下命令。在安装库之前更新树莓派。
在本教程的最后给出了完整的Python代码和工作视频,在这里我们解释了程序的几个重要部分。
首先导入所有必要的库:
将GPIO引脚26设置为输出引脚,以改变继电器的状态。最初继电器设为“0”状态,使灯处于关状态。
创建了一个函数“action”,当用户向telegram bot发送消息时调用该函数。对于每条消息,都有一些特定的聊天id和命令,以便机器人可以与用户通信。该函数检查接收到的命令是否包含“on”或“off”字符串。如果命令中包含“on”,则将继电器状态改为“1”打开灯,如果接收到的命令中包含“off”,则将继电器状态改为“0”关闭灯。
下面给出的代码使用我们在创建bot时获得的唯一令牌号来建立telegram bot和Raspberry Pi之间的连接。在成功连接时,它打印一条消息,表明系统已准备好接受该命令。
测试电报控制的家用电器
按照上面的电路图进行连接。将继电器的数据引脚连接到树莓派的GPIO引脚26上。将交流电源灯与继电器正确连接。
现在在pi中创建一个扩展名为“ .py ”的新文件,并复制粘贴教程末尾给出的代码,然后保存新创建的文件。现在打开树莓派的终端,使用下面的命令运行文件
在执行python代码之前,请确保更改python文件保存的目录。终端将显示类似于下面屏幕截图的输出。
现在Telegram bot和树莓派之间的连接已经建立,我们准备向Telegram bot发送命令来打开或关闭灯。试着通过发送短信给telegram bot来打开和关闭灯,如下图所示
您将能够在树莓派的终端中观察到发送给bot的命令。
本文编译自iotdesignpro