电报控制家庭自动化使用NodeMCU ESP8266
扫描二维码
随时随地手机看文章
家庭自动化现在成为物联网应用的重要组成部分,人们使用智能手机通过互联网从任何地方控制家用电器。用智能手机控制交流电器有多种方法,其中一些我们已经在之前的物联网家庭自动化教程中介绍过,今天我们将学习另一种通过智能手机控制电器的方法。在这个物联网项目中,我们将使用NodeMCU通过Telegram应用程序的文本消息控制一个交流灯。
ESP8266 NodeMCU
ESP8266 NodeMCU是一个开源的物联网平台。它包括运行在expressif Systems低成本支持Wi-Fi的ESP8266 Wi-Fi SoC上的固件,以及基于ESP-12模块的硬件。它具有GPIO, SPI, I2C, ADC, PWM和UART引脚,用于通信和控制附加到它的其他外设。板载NodeMCU具有提供USB到TTL功能的CP2102 IC。在这个项目中,我们将使用D0 GPIO引脚来改变继电器的状态。
组件的要求
•ESP8266 NodeMCU
•灯
•跳线
•电报应用程序
线路图
电报控制的家庭自动化电路图如下:
为家庭自动化设置电报
Telegram是一个消息传递应用程序,用于免费发送文本,图像或视频消息。它还允许使用其他API创建程序,将Telegram集成到他们的应用程序中。有一些特殊的机器人不需要电话号码来设置,可以与任何嵌入式或软件应用程序接口,使用电报短信触发一些事件。
在你的智能手机上安装“电报”应用程序,从你的游戏商店或苹果商店。如果您是第一次使用,请使用您的国家代码和手机号码进行注册。它将要求OTP代码进行验证。
成功注册后,搜索BotFather并打开它。打开BotFather并单击RESTART创建您的bot,如下面的截图所示。它将显示一组代码,可用于创建和编辑机器人。在文本部分输入“ /newbot ”以创建新机器人。
现在您必须为您的机器人选择一个名称。输入你的机器人的名字,然后点击发送。在这里,我给我的机器人起了“家庭自动化”的名字。现在是时候为您的机器人选择一个唯一的用户名了。在这里,我给了“Circuit_digest_2208_bot”用户名给我的bot。这个用户名应该是唯一的。输入用户名后,您将收到BotFather关于您的新机器人的文本,并将获得新机器人的令牌。这个令牌将在NodeMCU的代码中使用。单击消息中给出的链接,进入机器人的新聊天框,然后单击Start。你现在可以通过发送短信从电报应用程序发送命令。
在Arduino IDE中安装Telegram Library
要将telegram集成到Arduino代码中,有一个库,要安装它,请打开Arduino IDE并进入Sketch -> Include library -> Manage Libraries。
搜索“Telegram”并安装Stefano Ledda的最新版本的CTBot。这个库很容易使用,非常直接的接口电报与ESP8266芯片。
由Stefano Ledda编写的CTBot库带有内置示例。我们将在这个项目中使用它的一个例子。
打开lightBot示例:File -> example -> CTBot -> lightBot。这个例子帮助我们改变了ESP8266的一个GPIO引脚上的LED的状态。
编辑示例中给出的代码,以便在NodeMCU中运行它。首先将代码中给出的SSID和密码替换为您的Wi-Fi连接的SSID和密码。然后粘贴创建电报机器人后获得的令牌号。在本教程的末尾给出了完整的编辑代码。
代码的解释
在本教程的末尾给出了这个物联网控制的家庭自动化的完整代码和工作视频,在这里我们解释了完整的程序,以了解项目的工作原理。
将SSID和密码替换为Wi-Fi凭据。字符串令牌存储创建bot后获得的唯一令牌号。D0是改变继电器状态的数字输出引脚。
myBot.wifiConnect()函数获取ESP8266连接Wi-Fi的SSID和密码,myBot.setTelegramToken()函数获取唯一令牌号,进一步建立telegram bot与NodeMCU之间的连接。在成功连接上,您将在串行监视器上获得“testConnection OK”。
TBMessage存储从电报机器人接收到的消息。msg.text.equalsIgnoreCase()检查接收到的文本是否与字符串“ light on ”或“ light off ”匹配。如果接收到的信息是“灯亮”,则将继电器状态更改为打开灯,如果接收到的信息是“灯灭”,则将继电器状态更改为关闭灯。如果收到的文本不同于“打开灯”和“关闭灯”,则它会向电报发送欢迎信息。
现在,在完成代码之后,是时候测试系统了。
测试电报控制的家用电器
如电路图所示,将交流灯与NodeMCU连接,使用Arduino IDE将代码上传到NodeMCU。上传代码成功后,打开串行监视器,等待几秒钟,直到NodeMCU连接到Wi-Fi和Telegram bot。现在打开电报应用程序在您的智能手机和打开聊天框的机器人。然后发送“Light on”的信息,它就会打开灯。
同样,发送“Light off”消息来关闭灯。这就是你如何在家里实现空调自动化的方法。
本文编译自iotdesignpro