當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > IoT設(shè)計(jì)分享
[導(dǎo)讀]Facebook是使用最廣泛的社交媒體應(yīng)用程序之一,它不僅用于社交網(wǎng)絡(luò),還用于消息傳遞,視頻通話,語音通話,市場等。Facebook的這些功能在構(gòu)建任何基于物聯(lián)網(wǎng)的項(xiàng)目時(shí)都非常有用。就像在這里,我們將使用Facebook來遠(yuǎn)程控制家里的設(shè)備。你只需要給聊天機(jī)器人發(fā)一條短信,它就可以從世界任何地方控制你家里的燈。我們將使用ESP8266 NodeMCU硬件和一些在線應(yīng)用程序來構(gòu)建這個(gè)項(xiàng)目。

Facebook是使用最廣泛的社交媒體應(yīng)用程序之一,它不僅用于社交網(wǎng)絡(luò),還用于消息傳遞,視頻通話,語音通話,市場等。Facebook的這些功能在構(gòu)建任何基于物聯(lián)網(wǎng)的項(xiàng)目時(shí)都非常有用。就像在這里,我們將使用Facebook來遠(yuǎn)程控制家里的設(shè)備。你只需要給聊天機(jī)器人發(fā)一條短信,它就可以從世界任何地方控制你家里的燈。我們將使用ESP8266 NodeMCU硬件和一些在線應(yīng)用程序來構(gòu)建這個(gè)項(xiàng)目。

我們之前使用不同的微控制器構(gòu)建了一些基于物聯(lián)網(wǎng)的家庭自動(dòng)化項(xiàng)目:

?物聯(lián)網(wǎng)家庭自動(dòng)化使用Blynk應(yīng)用程序使用ESP32

?家庭自動(dòng)化與麻省理工學(xué)院應(yīng)用發(fā)明人和ESP8266

?基于物聯(lián)網(wǎng)的家用電器控制與Adafruit IO和樹莓派

?用ARTIK云和樹莓派控制家用電器

?基于ESP32和Adafruit IO的谷歌助手家電控制

在進(jìn)入細(xì)節(jié)之前,我們先了解一下這個(gè)項(xiàng)目所涉及的事情。

ESP8266 NodeMCU

ESP8266 NodeMCU是一個(gè)開源的物聯(lián)網(wǎng)平臺(tái)。它包括運(yùn)行在expressif Systems低成本支持Wi-Fi的ESP8266 Wi-Fi SoC上的固件,以及基于ESP-12模塊的硬件。它具有GPIO, SPI, I2C, ADC, PWM和UART引腳,用于通信和控制附加到它的其他外設(shè)。板載NodeMCU具有提供USB到TTL功能的CP2102 IC。

MQTT

MQTT表示消息查詢遙測傳輸。MQTT是一種基于TCP/IP的發(fā)布和訂閱協(xié)議,專為輕量級(jí)機(jī)器對機(jī)器與物聯(lián)網(wǎng)設(shè)備的交互而設(shè)計(jì)。這些設(shè)備充當(dāng)客戶機(jī),與稱為代理的服務(wù)器通信。代理是一個(gè)服務(wù)器,它允許客戶端向代理發(fā)送短消息,并在客戶端訂閱特定主題時(shí)接收消息。它充當(dāng)服務(wù)器,處理連接到該服務(wù)器的設(shè)備的所有信息。客戶機(jī)可以同時(shí)是信息的發(fā)布者(從設(shè)備向服務(wù)器發(fā)送數(shù)據(jù))或訂閱者(從服務(wù)器向設(shè)備獲取數(shù)據(jù))。

Facebook Messenger

Facebook Messenger是一款由Facebook開發(fā)的即時(shí)通訊應(yīng)用和平臺(tái)。人們通常用它來發(fā)短信,分享照片/視頻,甚至進(jìn)行語音或視頻通話??梢栽趥€(gè)人之間或群組中進(jìn)行常規(guī)聊天和語音/視頻聊天。

Chatfuel

Chatfuel是為Facebook創(chuàng)建AI聊天機(jī)器人的領(lǐng)先機(jī)器人平臺(tái)。人們可以創(chuàng)建人工智能聊天機(jī)器人,用于遠(yuǎn)程觸發(fā)任何事件。你在messenger上的簡單文本可以為你的項(xiàng)目添加AI功能。

IFTTT

IFTTT代表如果這個(gè)比那個(gè)。這是一個(gè)免費(fèi)的基于web的服務(wù),允許連接到web服務(wù),應(yīng)用程序和設(shè)備,如b谷歌,F(xiàn)acebook, Adafruit, Webhooks, Telegram等來自動(dòng)執(zhí)行任務(wù)。applet使用觸發(fā)器和操作幫助組合兩個(gè)服務(wù)。它只是意味著,如果在一個(gè)web服務(wù)中觸發(fā)了某些操作,那么將在其他web服務(wù)中發(fā)生操作。

Adafruit IO

Adafruit IO是Adafruit Industries的服務(wù)器。它是一個(gè)使用HTTP和MQTT協(xié)議與物聯(lián)網(wǎng)設(shè)備交互的平臺(tái),有助于存儲(chǔ)和查看數(shù)據(jù),也有助于控制設(shè)備。

Facebook控制家用電器的工作

在這個(gè)項(xiàng)目中,我們將控制一個(gè)家電,如使用Facebook messenger的燈。在信使上輸入某些關(guān)鍵字,你就可以控制你家里的設(shè)備。消息將被發(fā)送到一個(gè)聊天機(jī)器人,它將觸發(fā)Chatfuel中各自的AI塊。該塊鏈接到一些JSON API,該API將向IFTTT發(fā)送POST請求。IFTTT將幫助連接Webhooks和Adafruit,在Webhooks的幫助下將數(shù)據(jù)發(fā)送和存儲(chǔ)到Adafruit。Webhooks將創(chuàng)建一個(gè)事件,該事件將具有唯一的觸發(fā)鍵來觸發(fā)事件。發(fā)送到Adafruit的數(shù)據(jù)將觸發(fā)儀表板中的切換按鈕。Adafruit作為NodeMCU的服務(wù)器,并將數(shù)據(jù)發(fā)送給它,從而在MQTT的幫助下激活或停用燈。

線路圖

組件的要求

?ESP8266 NodeMCU

?USB數(shù)據(jù)線

?跳線

?LED

?繼電器

?帶燈座的燈或燈泡

?交流電源

Adafruit IO控制家用電器的設(shè)置

打開,點(diǎn)擊免費(fèi)開始。輸入詳細(xì)信息并創(chuàng)建一個(gè)新帳戶。在此之后,您將被重定向到Adafruit IO主頁。點(diǎn)擊左上角的Feeds。現(xiàn)在在Feeds頁面中,單擊Action按鈕,然后單擊Create a New Feed,并為提要命名。這里我們將它命名為“OnOff”名稱到我的Feed。

創(chuàng)建Feed之后,單擊左側(cè)的Dashboards。現(xiàn)在在儀表板中單擊Actions,然后選擇Create a New Dashboard。現(xiàn)在給你的儀表盤命名,點(diǎn)擊創(chuàng)建,這里我給我的儀表盤命名為“家庭自動(dòng)化”。

然后單擊新創(chuàng)建的儀表板。在你的儀表板頁面,你必須創(chuàng)建一個(gè)新的塊開/關(guān)切換按鈕。點(diǎn)擊儀表板頁面中的加號(hào)按鈕創(chuàng)建一個(gè)新塊,然后選擇第一個(gè)“切換按鈕”。

接下來,您將被要求為這個(gè)按鈕選擇提要,因?yàn)檫@個(gè)按鈕將幫助我們提供數(shù)據(jù)。勾選Feed的復(fù)選框(這里我的Feed是OnOff),然后點(diǎn)擊Next Step。

現(xiàn)在給切換按鈕ON和OFF的名稱,然后點(diǎn)擊Create Block?,F(xiàn)在,一個(gè)切換按鈕將在你的儀表板上創(chuàng)建,這將幫助我們發(fā)送數(shù)據(jù)到我們的飼料。

設(shè)置IFTTT觸發(fā)水果切換按鈕

步驟1:-進(jìn)入并登錄Facebook或谷歌。登錄后,點(diǎn)擊頂部的“我的小程序”,然后點(diǎn)擊“新小程序”。

步驟2::-然后點(diǎn)擊“+ this”,在“選擇服務(wù)”部分搜索Webhooks。

步驟3:-現(xiàn)在點(diǎn)擊接收web請求

步驟4:-鍵入任何事件名稱(在我的情況下為“自動(dòng)化”),然后單擊觸發(fā)器(在我的情況下為“自動(dòng)化”)。

步驟5:-在下一頁點(diǎn)擊“+ that”,在紅色框中提到。搜索Adafruit并提供登錄憑據(jù)。

步驟6:-點(diǎn)擊發(fā)送數(shù)據(jù)到Adafruit IO。選擇之前在Adafruit IO設(shè)置部分創(chuàng)建的Feed名稱。通過單擊Data中的add ingredient來選擇value1,然后單擊Create Action,然后單擊Finish。

步驟7:-現(xiàn)在轉(zhuǎn)到Webhooks設(shè)置并在記事本中復(fù)制URL。這個(gè)URL包含混合字符的Webhooks鍵,這將有助于將Chatfuel連接到IFTTT。

安裝Chatfuel與Facebook

步驟1::-去并點(diǎn)擊登錄與您的Facebook Id。成功登錄后,它將引導(dǎo)您到儀表板頁面。點(diǎn)擊從模板創(chuàng)建,然后點(diǎn)擊我的第一個(gè)機(jī)器人。然后將My First Bot連接到一個(gè)可以創(chuàng)建的facebook頁面。

步驟2:-創(chuàng)建一個(gè)任意名稱的頁面(在我的情況下是“家庭自動(dòng)化”),并將其連接到您的新機(jī)器人。連接后,您將被引導(dǎo)到您的機(jī)器人頁面與歡迎信息。您可以根據(jù)自己的意愿編輯此歡迎辭。

步驟3:-現(xiàn)在創(chuàng)建兩個(gè)新塊(這里是Relay ON和Relay OFF)。然后單擊Relay on,從Add Element中選擇Text。編寫要在用戶調(diào)用繼電器on塊時(shí)顯示的文本。對Relay OFF塊做同樣的操作。

步驟4:-單擊左側(cè)的設(shè)置AI,單擊添加AI規(guī)則,單擊默認(rèn)組。在bot replies with部分中選擇RELAY ON?,F(xiàn)在添加文本,如果用戶說類似的部分。這些文本將有助于觸發(fā)積木。對繼電器關(guān)閉按鈕做同樣的操作。

步驟5:-現(xiàn)在我們必須為RELAY ON和RELAY OFF塊添加JSON API,以將chatfuel與IFTTT鏈接起來。您可以通過點(diǎn)擊test your BOT來測試您的聊天框,歡迎文本將發(fā)送到您的信使帳戶。

與IFTTT聊天

步驟1:-現(xiàn)在我們必須為RELAY ON和RELAY OFF按鈕制作兩個(gè)url。轉(zhuǎn)到Chatfuel,選擇Relay ON,然后在添加元素中單擊+號(hào),然后從Chatfuel插件中選擇JSON API。

步驟2:-設(shè)置類型為POST,從下面復(fù)制URL1,并根據(jù)您的IFTTT帳戶更改事件名稱和密鑰,或者您可以直接從您的IFTTT帳戶獲取URL。對RELAY OFF塊做同樣的操作。

繼電器ON塊:

繼電器關(guān)閉塊:

步驟3:這是在RELAY ON和RELAY OFF的JSON API部分復(fù)制的兩個(gè)url。此URL包含事件名稱和Webhooks觸發(fā)鍵。“Automation”是我們在Webhooks中創(chuàng)建的事件名稱,“jE8LXKI6XocT7u8gX7qwKocf3DAN57MZIXtLmfVbBiG”是觸發(fā)鍵。Value1=1表示繼電器ON, Value1=0表示繼電器OFF塊。

步驟4:-現(xiàn)在Chatfuel已經(jīng)準(zhǔn)備好并連接到IFTTT。

步驟5:-按照電路圖進(jìn)行連接,并將代碼上傳到NodeMCU。等待一段時(shí)間,直到它連接到Wi-Fi和MQTT代理。在Chatfuel中點(diǎn)擊“測試你的機(jī)器人”,這將引導(dǎo)你進(jìn)入你的信使網(wǎng)站,在那里你可以通過輸入“打開中繼”或“關(guān)閉中繼”來測試你的機(jī)器人。你會(huì)得到一個(gè)回復(fù)在信使與值的切換按鈕在實(shí)時(shí)更改在您的Adafruit儀表板。您還可以看到led以及燈或燈泡的狀態(tài)變化與繼電器的發(fā)癢聲。

代碼的解釋

這個(gè)基于ESP8266的Facebook家庭自動(dòng)化的完整代碼在最后給出了一個(gè)演示視頻。但在開始編寫代碼之前,首先我們需要Adafruit的“Adafruit_MQTT.h”庫,用于將NodeMCU與Adafruit IO服務(wù)器進(jìn)行MQTT連接。我們可以直接從Arduino IDE下載這個(gè)庫。打開Adruino IDE,進(jìn)入Sketch -> Include Library -> Manage Libraries。在庫管理器中搜索adafruit_mqtt。安裝紅色框中選擇的最新版本。

安裝此庫附帶了許多內(nèi)置示例。對于這個(gè)家庭自動(dòng)化項(xiàng)目,我們將使用mqtt_esp8266示例。進(jìn)入文件->示例-> Adrafruit MQTT庫-> mqtt_esp8266?,F(xiàn)在我們將編輯mqtt_esp8266中給出的代碼。

現(xiàn)在首先包含所有必需的庫。

將代碼中給出的SSID和密碼替換為Wi-Fi SSID和密碼。

為了將我們的客戶端ESP8266連接到Adafruit服務(wù)器,我們需要Adafruit服務(wù)器鏈接,Adafruit服務(wù)器端口,Adafruit用戶名和Adafruit密鑰。AIO SERVER為“io.adafruit.com”,SSL使用的端口為8883。在Adafruit的安裝部分,我已經(jīng)提到了獲取Adafruit用戶名和密鑰的過程。所有這些變量都傳遞給Adafruit_MQTT_Client mqtt函數(shù),該函數(shù)有助于建立mqtt連接。將Adafruit_MQTT_Subscribe函數(shù)中給出的提要名稱更改為Adafruit中的提要名稱。

在void setup()函數(shù)中,將NodeMCU的D1引腳設(shè)置為繼電器的輸出數(shù)據(jù)引腳。串口顯示器顯示數(shù)據(jù)的波特率設(shè)置為115200。通過在WiFi.begin()函數(shù)中傳遞Wi-Fi憑據(jù)建立Wi-Fi連接,連接成功后在串口監(jiān)視器上打印IP地址。MQTT訂閱設(shè)置為開關(guān)提要。

在void loop()中,MQTT_connect()確保MQTT連接保持活動(dòng)狀態(tài),并在斷開連接時(shí)自動(dòng)連接。while等待傳入的訂閱包,當(dāng)它接收到任何數(shù)據(jù)字符串響應(yīng)時(shí),它將響應(yīng)轉(zhuǎn)換為1或0,并檢查if-else語句。如果接收到的數(shù)據(jù)是1,那么我們將D1引腳設(shè)置為高,否則將其設(shè)置為低。

下面是MQTT連接的功能:

最后,將任何家用電器與D1端口的繼電器模塊連接起來,并在NodeMCU中上傳下面給出的代碼。NodeMCU與Wi-Fi連接后,您可以通過在Arduino IO中切換儀表板上的按鈕來打開和關(guān)閉家用電器。

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉