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