電報控制家庭自動化使用樹莓派
家庭自動化現(xiàn)在成為物聯(lián)網(wǎng)應(yīng)用的重要組成部分,人們使用智能手機通過互聯(lián)網(wǎng)從任何地方控制家用電器。有各種方法可以用智能手機控制交流電器,其中一些我們已經(jīng)在之前的物聯(lián)網(wǎng)家庭自動化教程中介紹過,包括用NodeMCU控制的電報交流電器。這次我們將使用樹莓派代替NodeMCU,通過我們的智能手機來控制設(shè)備。在這個物聯(lián)網(wǎng)項目中,我們將使用樹莓派用Telegram應(yīng)用程序的短信控制一個交流燈。
在我們之前的項目中,我們用各種物聯(lián)網(wǎng)平臺控制樹莓派GPIO,其中一些列出如下:
?控制樹莓派GPIO與Adafruit IO觸發(fā)一個LED
?基于物聯(lián)網(wǎng)的家庭自動化使用Blynk應(yīng)用程序和樹莓派
?如何使用IFTTT和樹莓派觸發(fā)LED
?用ARTIK云和樹莓派控制家用電器
?物聯(lián)網(wǎng)控制LED使用Thingsboard和樹莓派
組件的要求
?覆盆子π
?燈
?跳線
?電報應(yīng)用程序
線路圖
這個樹莓派電報控制的家庭自動化項目的電路圖如下:
也檢查電報家庭自動化與ESP8266 NodeMCU。
代碼的解釋
要使用Raspberry Pi和Python構(gòu)建這個項目,我們需要安裝兩個重要的庫。一個用于Telegram,另一個用于使用樹莓派的GPIO引腳。要安裝這些庫,請打開終端并輸入以下命令。在安裝庫之前更新樹莓派。
在本教程的最后給出了完整的Python代碼和工作視頻,在這里我們解釋了程序的幾個重要部分。
首先導(dǎo)入所有必要的庫:
將GPIO引腳26設(shè)置為輸出引腳,以改變繼電器的狀態(tài)。最初繼電器設(shè)為“0”狀態(tài),使燈處于關(guān)狀態(tài)。
創(chuàng)建了一個函數(shù)“action”,當用戶向telegram bot發(fā)送消息時調(diào)用該函數(shù)。對于每條消息,都有一些特定的聊天id和命令,以便機器人可以與用戶通信。該函數(shù)檢查接收到的命令是否包含“on”或“off”字符串。如果命令中包含“on”,則將繼電器狀態(tài)改為“1”打開燈,如果接收到的命令中包含“off”,則將繼電器狀態(tài)改為“0”關(guān)閉燈。
下面給出的代碼使用我們在創(chuàng)建bot時獲得的唯一令牌號來建立telegram bot和Raspberry Pi之間的連接。在成功連接時,它打印一條消息,表明系統(tǒng)已準備好接受該命令。
測試電報控制的家用電器
按照上面的電路圖進行連接。將繼電器的數(shù)據(jù)引腳連接到樹莓派的GPIO引腳26上。將交流電源燈與繼電器正確連接。
現(xiàn)在在pi中創(chuàng)建一個擴展名為“ .py ”的新文件,并復(fù)制粘貼教程末尾給出的代碼,然后保存新創(chuàng)建的文件?,F(xiàn)在打開樹莓派的終端,使用下面的命令運行文件
在執(zhí)行python代碼之前,請確保更改python文件保存的目錄。終端將顯示類似于下面屏幕截圖的輸出。
現(xiàn)在Telegram bot和樹莓派之間的連接已經(jīng)建立,我們準備向Telegram bot發(fā)送命令來打開或關(guān)閉燈。試著通過發(fā)送短信給telegram bot來打開和關(guān)閉燈,如下圖所示
您將能夠在樹莓派的終端中觀察到發(fā)送給bot的命令。
本文編譯自iotdesignpro