當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > IoT設(shè)計(jì)分享
[導(dǎo)讀]隨著谷歌助理、亞馬遜Alexa和蘋(píng)果Siri等虛擬助手的發(fā)展,家庭自動(dòng)化和語(yǔ)音控制應(yīng)用變得相當(dāng)流行。我們以前建立了許多家庭自動(dòng)化項(xiàng)目,從簡(jiǎn)單的Alexa控制的家庭自動(dòng)化到語(yǔ)音控制的家庭自動(dòng)化使用樹(shù)莓派。在這個(gè)項(xiàng)目中,我們將使用谷歌助手和Blynk應(yīng)用程序來(lái)控制Neopixel LED條。Blynk應(yīng)用程序是一個(gè)免費(fèi)的物聯(lián)網(wǎng)平臺(tái),鏈接到IFTTT(如果這樣,那么那個(gè))網(wǎng)站,該網(wǎng)站用于創(chuàng)建if-else條件語(yǔ)句,或者換句話說(shuō),applet。谷歌助手的語(yǔ)音命令已經(jīng)通過(guò)IFTTT小程序添加。通過(guò)谷歌助手給出的命令被解碼,然后使用IFTTT Webhooks發(fā)送到Blynk。然后微控制器訪問(wèn)Blynk應(yīng)用程序中的數(shù)據(jù)。這里使用的微控制器是ESP-01,因?yàn)樗w積小,具有Wi-Fi功能。

隨著谷歌助理、亞馬遜Alexa和蘋(píng)果Siri等虛擬助手的發(fā)展,家庭自動(dòng)化和語(yǔ)音控制應(yīng)用變得相當(dāng)流行。我們以前建立了許多家庭自動(dòng)化項(xiàng)目,從簡(jiǎn)單的Alexa控制的家庭自動(dòng)化到語(yǔ)音控制的家庭自動(dòng)化使用樹(shù)莓派。在這個(gè)項(xiàng)目中,我們將使用谷歌助手和Blynk應(yīng)用程序來(lái)控制Neopixel LED條。Blynk應(yīng)用程序是一個(gè)免費(fèi)的物聯(lián)網(wǎng)平臺(tái),鏈接到IFTTT(如果這樣,那么那個(gè))網(wǎng)站,該網(wǎng)站用于創(chuàng)建if-else條件語(yǔ)句,或者換句話說(shuō),applet。谷歌助手的語(yǔ)音命令已經(jīng)通過(guò)IFTTT小程序添加。通過(guò)谷歌助手給出的命令被解碼,然后使用IFTTT Webhooks發(fā)送到Blynk。然后微控制器訪問(wèn)Blynk應(yīng)用程序中的數(shù)據(jù)。這里使用的微控制器是ESP-01,因?yàn)樗w積小,具有Wi-Fi功能。

使用NodeMCU控制新像素所需的組件

?ESP8266-01

?新像素LED帶

?LM1117穩(wěn)壓器

?直流電源插孔(母)

?2x10μf電容器

用Arduino Uno編程ESP8266-01

而不是使用FTDI板,在這里我使用Arduino Uno來(lái)編程ESP8266-01。使用Arduino編程ESP8266-01的電路圖如下:

將ESP-01的VCC和GND連接到3.3V, Arduino的GND, CH_PD連接到3.3V, GPIO_0連接到Arduino的GND。將ESP-01的RX和TX分別連接到Arduino Uno的RX和TX。GPIO_0接地,使能ESP8266的編程模式。按圖完成電路后,將Arduino的Reset引腳連接到GND上,繞過(guò)Arduino。它將禁用Arduino并將代碼直接上傳到ESP8266板。連接ESP-01的RST引腳到地,半秒后取下RST(藍(lán)色LED閃爍幾毫秒)。

現(xiàn)在,啟動(dòng)Arduino Uno并打開(kāi)Arduino IDE。在“Board type”中選擇“Generic ESP8266 Module”,上傳代碼。

Neopixel與ESP8266接口的電路圖

上傳代碼后,拆除Arduino Uno,按照?qǐng)D將Neopixel LED帶與ESP-01連接。

ESP-01的VCC和CH_PD引腳接LM1117的輸出引腳,GND引腳接5V電源的-ve導(dǎo)軌。Neopixel LED的數(shù)據(jù)引腳連接到ESP-01的GPIO2引腳上。這個(gè)完整的設(shè)置將由一個(gè)5V適配器供電。LM117穩(wěn)壓器用于調(diào)節(jié)ESP8266-01板的3.3V電壓。

焊接完穿孔板上的所有組件后,它看起來(lái)像下面這樣:

設(shè)置Blynk應(yīng)用程序

Blynk是一個(gè)可以在Android和iOS設(shè)備上運(yùn)行的應(yīng)用程序,可以控制任何物聯(lián)網(wǎng)設(shè)備。通過(guò)使用Blynk應(yīng)用程序,用戶可以創(chuàng)建自己的圖形用戶界面來(lái)設(shè)計(jì)物聯(lián)網(wǎng)應(yīng)用程序GUI。我們以前在許多其他基于物聯(lián)網(wǎng)的項(xiàng)目中使用過(guò)Blynk。

在安裝之前,從Google Play商店下載Blynk應(yīng)用程序(iOS用戶可以從Apple store下載),如果你沒(méi)有帳戶,請(qǐng)注冊(cè)。

創(chuàng)建新項(xiàng)目:

安裝成功后,打開(kāi)應(yīng)用程序,點(diǎn)擊“新建項(xiàng)目”。在下一個(gè)屏幕上設(shè)置項(xiàng)目名稱、板類(lèi)型和連接類(lèi)型等參數(shù)。本項(xiàng)目選擇設(shè)備為“ESP8266”,連接類(lèi)型為Wi-Fi,點(diǎn)擊“創(chuàng)建”。

創(chuàng)建GUI:

在Blynk中打開(kāi)項(xiàng)目,單擊“+”符號(hào),它將顯示許多小部件。在我們的例子中,我們需要一個(gè)RGB顏色選擇器,它被列為“zeRGBa”和一個(gè)按鈕,將用于改變LED條的操作模式。

在Widgets中設(shè)置參數(shù):

添加完所有小部件后,現(xiàn)在設(shè)置用于向ESP-01發(fā)送控件值的顏色和模式的小部件參數(shù)。

點(diǎn)擊ZeRGBa,我們將看到一個(gè)名為ZeRGBa Settings的屏幕。將輸出選項(xiàng)設(shè)置為“合并”,并將引腳設(shè)置為“V2”,如下圖所示。同樣,在按鈕設(shè)置中,將輸出引腳設(shè)置為“V3”,如下圖所示。

獲取認(rèn)證令牌:

創(chuàng)建新項(xiàng)目后,Blynk會(huì)將該項(xiàng)目的認(rèn)證令牌發(fā)送給您。您還可以從項(xiàng)目頁(yè)面獲取Blynk認(rèn)證令牌。只需單擊堅(jiān)果圖標(biāo)并使用復(fù)制所有選項(xiàng)復(fù)制驗(yàn)證令牌并將其粘貼到安全的地方。我們?cè)诰幊蘀SP-01時(shí)需要它。

使用Google Assistant和Blynk設(shè)置IFTTT

IFTTT又名“If This, Then That”,是一個(gè)基于網(wǎng)絡(luò)的服務(wù),用于創(chuàng)建簡(jiǎn)單條件語(yǔ)句鏈,稱為applet。它使用戶能夠創(chuàng)建觸發(fā)器并基于觸發(fā)器執(zhí)行操作。在這個(gè)項(xiàng)目中,當(dāng)我們使用Google Assistant說(shuō)出特定的一行時(shí),我們將使用IFTTT來(lái)創(chuàng)建一個(gè)觸發(fā)器。為此,我們必須創(chuàng)建一個(gè)applet,其中我們將使用Webhooks將谷歌助手與Blynk應(yīng)用程序集成在一起。

首先,在IFTTT上創(chuàng)建一個(gè)帳戶。要做到這一點(diǎn),請(qǐng)瀏覽IFTTT網(wǎng)站并點(diǎn)擊注冊(cè)。然后填寫(xiě)您的詳細(xì)信息并點(diǎn)擊創(chuàng)建帳戶?,F(xiàn)在,當(dāng)你登錄你的賬戶時(shí),點(diǎn)擊你的個(gè)人資料,然后點(diǎn)擊“創(chuàng)建”。

注意:登錄到IFTTT使用相同的電子郵件ID在您的Android手機(jī)的谷歌帳戶。例如,如果您的手機(jī)使用xyz@gmail.com電子郵件ID登錄,那么使用相同的電子郵件ID登錄IFTTT。

現(xiàn)在使用If ' This ' Then ' That創(chuàng)建一個(gè)小程序。這里的“This”是服務(wù)名,我們將通過(guò)它提供輸入,而“That”將根據(jù)輸入生成觸發(fā)器。所以在這個(gè)項(xiàng)目中,我們將谷歌Assistant作為“this”,Webhooks作為“That”。所以要?jiǎng)?chuàng)建一個(gè)小程序,點(diǎn)擊“This”圖標(biāo)并搜索“谷歌助手”。在這里,IFTTT將請(qǐng)求允許使用你的谷歌賬戶。

現(xiàn)在在谷歌助手中,點(diǎn)擊“說(shuō)一個(gè)帶有文本成分的簡(jiǎn)單短語(yǔ)”。

現(xiàn)在在下一個(gè)窗口中,它會(huì)詢問(wèn)你想對(duì)你的谷歌助手說(shuō)什么短語(yǔ),以及你想聽(tīng)到什么作為對(duì)該短語(yǔ)的回應(yīng)。你也可以添加一些可選的短語(yǔ)?,F(xiàn)在點(diǎn)擊“創(chuàng)建觸發(fā)器”。

現(xiàn)在,這個(gè)applet的一部分已經(jīng)完成。對(duì)于第二部分,點(diǎn)擊“That”。

在搜索窗口中,搜索“webhooks”,然后在下一個(gè)窗口中點(diǎn)擊“Make a web request”。

在下一個(gè)窗口中,輸入U(xiǎn)RL。API的語(yǔ)法如下:

式中:188.166.206.43為Blynk在印度的IP地址,He3ot0ZXrYQcROYlwOIuVu-F為Auth令牌,V1為虛擬pin1。

3D打印ESP-01外殼

我測(cè)量了使用規(guī)模的設(shè)置的尺寸,也測(cè)量了桶千斤頂?shù)某叽?,為我的設(shè)置設(shè)計(jì)一個(gè)套管。完成后,我的設(shè)計(jì)看起來(lái)是這樣的。

完成設(shè)計(jì)后,我將其導(dǎo)出為STL文件,并根據(jù)打印機(jī)設(shè)置進(jìn)行切片,最后進(jìn)行打印。STL文件也可以從Thingiverse下載,你可以使用它打印你的大小寫(xiě)。打印完成后,我繼續(xù)將項(xiàng)目組裝在一個(gè)永久的外殼中,并將其安裝在一個(gè)設(shè)施中。與完整的連接,我組裝電路到我的外殼,一切都是一個(gè)很好的適合,你可以看到在這里。

控制新像素的ESP-01編程

使用谷歌助手控制新像素的完整代碼可以在本頁(yè)底部找到。對(duì)這個(gè)問(wèn)題的解釋如下。在這個(gè)項(xiàng)目中,我們將使用Adafruit_NeoPixel.h和BlynkSimpleEsp8266.h庫(kù)。這些庫(kù)可以直接從Arduino IDE下載。為此,轉(zhuǎn)到Sketch > Include Library > Manage Libraries。在搜索框中搜索“Adafruit Neo”下載并安裝Blynk ESP8266庫(kù)。

請(qǐng)按照與ESP8266相同的步驟安裝Blynk庫(kù)。

安裝庫(kù)之后,開(kāi)始編寫(xiě)代碼,包括所有必需的庫(kù)文件并定義輸入和輸出引腳

在接下來(lái)的幾行中,輸入Blynk和Wi-Fi憑據(jù),如認(rèn)證令牌,以及ESP-01應(yīng)該連接的Wi-Fi的Wi-Fi名稱和密碼。blink驗(yàn)證令牌可以從Blynk應(yīng)用程序獲得。

之后,聲明NeoPixel strip對(duì)象,其中參數(shù)1是NeoPixel strip中的像素?cái)?shù),參數(shù)2是連接LED strip的ESP-01引腳。

BLYNK_WRITE()函數(shù)用于檢查V1, V2和V3虛擬引腳的傳入數(shù)據(jù)。虛擬pin V1用于接收來(lái)自webhooks URL的Google Assistant數(shù)據(jù),而V2和V3 pin用于更改來(lái)自Blynk應(yīng)用程序的Neopixel顏色和模式。

在loop()函數(shù)內(nèi)部,Blynk.run()檢查來(lái)自Blynk GUI的傳入命令。然后將輸入的字符串保存到一個(gè)變量中,并使用if條件執(zhí)行相應(yīng)的操作。

控制新像素與Blynk和谷歌助理

一旦你的代碼和硬件準(zhǔn)備好了,使用Arduino Uno在ESP-01上上傳代碼。之后,連接Neopixel LED并對(duì)你的谷歌助手說(shuō)“ok Google,打開(kāi)彩虹模式”或“打開(kāi)影院模式”。谷歌助手將識(shí)別該短語(yǔ)并響應(yīng)“ok開(kāi)啟”,Neopixel將根據(jù)命令照亮。您還可以使用Blynk來(lái)控制新像素的顏色。

這就是如何用谷歌助手控制ESP8266。

本文編譯自iotdesignpro

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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