www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > IoT設(shè)計(jì)分享
[導(dǎo)讀]每個漫威粉絲都會羨慕有一個像賈維斯這樣的私人助理,用他們的語音命令來完成事情。但是,我們還遠(yuǎn)沒有達(dá)到那樣的智能,我們今天擁有的最接近的東西是谷歌Assistant、Siri、Cortana等語音助手。今天,市場上有幾十種基于物聯(lián)網(wǎng)的智能設(shè)備,可以使用這些語音助手進(jìn)行控制,但繼續(xù)更換我們家中的每個電子設(shè)備以使其適合家庭自動化是不公平的。這就是為什么,在這個項(xiàng)目中,我們將建立一個通用紅外遙控器,可以控制每一個電子設(shè)備,在紅外遙控器操作?;旧?,我們將使用NodeMCU復(fù)制原始遠(yuǎn)程信號,以便我們可以在需要時(shí)從互聯(lián)網(wǎng)觸發(fā)這些信號。這個項(xiàng)目中的電路將特別集中在建立通用交流遙控器來打開/關(guān)閉任何交流,但其他電器的程序也非常相似。

每個漫威粉絲都會羨慕有一個像賈維斯這樣的私人助理,用他們的語音命令來完成事情。但是,我們還遠(yuǎn)沒有達(dá)到那樣的智能,我們今天擁有的最接近的東西是谷歌Assistant、Siri、Cortana等語音助手。今天,市場上有幾十種基于物聯(lián)網(wǎng)的智能設(shè)備,可以使用這些語音助手進(jìn)行控制,但繼續(xù)更換我們家中的每個電子設(shè)備以使其適合家庭自動化是不公平的。這就是為什么,在這個項(xiàng)目中,我們將建立一個通用紅外遙控器,可以控制每一個電子設(shè)備,在紅外遙控器操作。基本上,我們將使用NodeMCU復(fù)制原始遠(yuǎn)程信號,以便我們可以在需要時(shí)從互聯(lián)網(wǎng)觸發(fā)這些信號。這個項(xiàng)目中的電路將特別集中在建立通用交流遙控器來打開/關(guān)閉任何交流,但其他電器的程序也非常相似。

這款基于物聯(lián)網(wǎng)的通用遙控器將分兩步操作,第一步,它允許用戶從AC遙控器輸入原始紅外信號,然后允許用戶在需要時(shí)通過谷歌助手的語音命令復(fù)制這些信號。為了從遠(yuǎn)程捕獲這些命令,我們將使用一個TOP1738 IC,它是一個紅外接收器。為了通過紅外發(fā)送這些信號,我們使用了紅外發(fā)射器,這是一個紅外LED。

組件的要求

?NodeMCU

?TSOP1738 -紅外接收器

?紅外光束

?按鈕

?發(fā)光二極管

?電阻

?連接電線

紅外信號發(fā)射機(jī)

紅外遙控器通過調(diào)制(開關(guān))紅外炮(紅外LED)來操作。當(dāng)你看到遙控器上的紅外LED發(fā)光時(shí)(使用沒有紅外濾光片的相機(jī)),這意味著LED每秒打開和關(guān)閉數(shù)千次。用我們的肉眼是不可能跟隨LED的開關(guān)的。紅外LED打開和關(guān)閉的頻率稱為載波頻率。數(shù)據(jù)被放置在載波上,并使用不同的調(diào)制技術(shù)發(fā)送。調(diào)制技術(shù)的一個例子是PWM。在這種調(diào)制中,紅外LED的開和關(guān)持續(xù)時(shí)間是變化的。這些調(diào)制信號由紅外接收器接收,并使用單片機(jī)解碼。

TSOP1738(紅外接收器)

TSOP1738就像一個傳感器,對紅外信號很敏感。因此,我們可以使用TSOP1738作為紅外接收器。傳感器的工作電壓為5V,功耗為5mA。TSOP1738 IC有3個引腳,其中中心引腳(引腳2)是VCC,靠近中心引腳的引腳是接地引腳(引腳1)。剩余的引腳(引腳3)是信號引腳,連接到微控制器解碼接收到的信號。IC的引腳如下所示。

集成電路包含光電探測器和前置放大器在一個單一的封裝與內(nèi)部濾波器的PCM頻率。IC的內(nèi)部框圖如下所示。

請記住,TSOP-1738將只接收38Khz紅外信號,并且與我們的項(xiàng)目兼容,因?yàn)橛《人械倪b控器都工作在38Khz。請確認(rèn)在你的國家是否相同,如果不是,然后更改相應(yīng)的IC。

紅外信號的編碼與解碼

解碼電視遙控器是一個簡單的任務(wù),因?yàn)榇蠖鄶?shù)時(shí)候他們只發(fā)送一個值。當(dāng)涉及到交流遙控器時(shí),它們會同時(shí)發(fā)送多個參數(shù)。除此之外,每個AC都有不同的協(xié)議,這取決于制造商。遙控器和帶有接收器的設(shè)備之間的通信遵循不同的協(xié)議,如索尼、NEC等。根據(jù)制造商選擇的協(xié)議,數(shù)據(jù)被轉(zhuǎn)換為Pronto Hex格式,然后根據(jù)它定義代碼。

利用NodeMCU進(jìn)行紅外信號解碼

我們將以這樣一種方式設(shè)計(jì)我們的代碼,即用戶必須首先從原始數(shù)據(jù)中從遠(yuǎn)程捕獲每個指令的信號(在這個項(xiàng)目中,我們將處理打開和關(guān)閉AC),然后通過模擬捕獲的數(shù)據(jù),我們將通過谷歌助手控制AC,這是在手機(jī)上存在的。要使用NodeMCU解碼原始數(shù)據(jù)中的傳入紅外信號,我們必須下載以下庫。

下載文件后,您必須對庫文件執(zhí)行一個小編輯以執(zhí)行我們的代碼。打開src文件夾,找到IRutils.CPP文件。在記事本中打開該文件并查找在名為resultToHumanReadableBasic的函數(shù)名中編寫的代碼。復(fù)制粘貼下面給出的代碼來代替該代碼。

現(xiàn)在,查找函數(shù)名為resultToSourceCode的代碼,并將下面的代碼粘貼到該代碼的位置。在下面給出的代碼中,我們所做的只是對不必要的命令進(jìn)行注釋,這將有助于區(qū)分噪聲和數(shù)據(jù)信號。關(guān)于這一點(diǎn)的更多信息將在代碼解釋部分中進(jìn)一步解釋。

語音控制交流電路圖

我們使用一個簡單的紅外led作為紅外爆破器,其陽極連接到NodeMCU的D2引腳,陰極端子連接到GND。為了顯示按鈕是否被按下,我對每個按鈕都使用了LED。在按鈕和led之間,我使用了一個100歐姆的電阻。物聯(lián)網(wǎng)控制的交流遙控器的完整電路圖如下所示。

兩個led的正極分別連接到NodeMCU的D7和D8引腳上。我使用了1Kohm電阻作為NodeMCU的每個引腳的下拉電阻。我在D4的引腳上連接了一個綠色的LED作為指示燈,以指示運(yùn)行時(shí)程序中的各個程序。NodeMCU的D5引腳連接tsop1738 IR接收器,中心引腳連接Vcc,剩余引腳連接GND。在紅外接收器的GND和VCC上并聯(lián)一個10uf的電容,以防止噪聲。模塊從nodeMCU獲得供電,nodeMCU從USB電纜獲得電源。

語音控制交流的Adafruit IO設(shè)置

這個設(shè)置是關(guān)于android和NodeMCU之間的通信。Adafruit IO通過谷歌Assistant接收來自我們手機(jī)的指令,然后使用IFTT與NodeMCU通信。使用Adafruit IO,您的數(shù)據(jù)可以在互聯(lián)網(wǎng)上上傳,顯示和監(jiān)控,您可以制作自己的物聯(lián)網(wǎng)項(xiàng)目。我們之前還構(gòu)建了許多其他有趣的Arafruit IO項(xiàng)目。使用Adafruit IO的步驟如下:

第一步:你需要做的第一件事就是注冊Adafruit IO。點(diǎn)擊屏幕右上角的“免費(fèi)入門”。

步驟2:將彈出一個窗口,您必須在其中填寫詳細(xì)信息。填寫您的詳細(xì)信息,如姓名,郵件id,用戶名等,點(diǎn)擊保存設(shè)置,并創(chuàng)建您的帳戶。

步驟3:現(xiàn)在,您需要在編碼中使用您的AIO密鑰。要獲得您的AIO密鑰,請單擊“AIO密鑰”,這是目前在頁面的右上角。

步驟4:彈出一個窗口,顯示您的AIO用戶名和活動密鑰。復(fù)制這些,你將需要在下一個過程中。

步驟5:獲得AIO密鑰后,現(xiàn)在必須創(chuàng)建一個New Feed。選擇Feeds >查看全部。一個新的頁面將被加載,在那里你可以看到你過去的訂閱。由于您是新手,因此只能看到Default。

現(xiàn)在,選擇Action > Create New Feed。

將彈出一個窗口,詢問您的姓名和描述。我把它命名為VoiceAC,并做了一些描述。在給出詳細(xì)信息后,選擇“創(chuàng)建”并完成。至此,您已經(jīng)創(chuàng)建了New Feed。

IFTTT設(shè)置語音控制AC使用谷歌助理

IFTTT (If This Then That)是一個基于web的服務(wù),用于創(chuàng)建條件語句,稱為applet。使用IFTTT,我們可以為某些動作創(chuàng)建觸發(fā)器。對于我們的項(xiàng)目,我們將創(chuàng)建一個applet,當(dāng)我們使用google assistant說出特定的一行時(shí),它將觸發(fā)。首先,我們需要在IFTT上創(chuàng)建一個帳戶。

注意:在IFTTT上創(chuàng)建一個帳戶,使用與在Adafruit IO中創(chuàng)建帳戶相同的電子郵件ID。

要在IFTTT上創(chuàng)建帳戶,請導(dǎo)航到IFTTT網(wǎng)站并點(diǎn)擊注冊。然后填寫所需的詳細(xì)信息,如電子郵件、密碼等。創(chuàng)建并注冊您的帳戶后,點(diǎn)擊個人資料,然后點(diǎn)擊“創(chuàng)建”。

點(diǎn)擊“創(chuàng)建”后,將加載一個頁面,上面寫著“創(chuàng)建您自己的If This Then That”。這里的“This”是服務(wù)名稱,它將充當(dāng)條件的輸入,而“That”是操作,它將根據(jù)輸入觸發(fā)。所以在我們的項(xiàng)目中,輸入將是b谷歌Assistant,動作將發(fā)生在Adafruit IO上。現(xiàn)在要創(chuàng)建一個applet,單擊“This”圖標(biāo)。搜索Google assistant。

在步驟2中選擇Google Assistant后,點(diǎn)擊“Say a simple phrase”。

在下一個窗口中,將彈出一個窗口,說“完成觸發(fā)字段”,即短語(ON AC),你想說你的谷歌助理,這將觸發(fā)一個行動。也有一些可選的短語,你可以添加。填寫字段后,點(diǎn)擊“創(chuàng)建觸發(fā)器”。輸入部分完成了。

現(xiàn)在,我們必須設(shè)置“That”(動作)部分。點(diǎn)擊“That”。

在動作服務(wù)搜索欄中搜索Adafruit。

現(xiàn)在,選擇Send data to Adafruit IO。

將加載一個窗口,您必須在其中選擇要為其創(chuàng)建觸發(fā)器的提要名稱(VoiceAC)。在下一個字段中,輸入在說出指定短語時(shí)希望輸入提要的數(shù)據(jù)(ON)。

之后,點(diǎn)擊“Create action”。單擊finish按鈕,applet就可以使用了。

到目前為止,我們創(chuàng)建了一個applet,當(dāng)我們對谷歌助手說ON AC時(shí),它就會觸發(fā)。現(xiàn)在,我們將創(chuàng)建一個applet,當(dāng)我們對谷歌助手說OFF AC時(shí),它將觸發(fā)。從上面繼續(xù)相同的過程,唯一的區(qū)別是步驟2和步驟5。在第2步的字段中,我們要寫OFF AC短語,而不是寫ON AC。

在步驟5中,提要名稱將與前面相同,但是用于保存字段的Data將更改為OFF。

通過點(diǎn)擊“Create action”,您已經(jīng)成功創(chuàng)建了另一個applet,它將由短語“OFF AC”觸發(fā)。

代碼解釋語音控制AC使用谷歌助理

我們要編寫的代碼要記住,首先當(dāng)我們按下按鈕1或按鈕2時(shí),它必須捕獲傳入信號。捕獲傳入信號后,我們需要編寫處理與谷歌助手和NodeMCU通信的代碼,然后通過IR blaster模擬這些信號。本文最后給出了我們項(xiàng)目的主代碼。這里我要解釋一下我們的代碼。

隨著你使用上面的鏈接下載的庫,你必須下載Adafruit MQTT庫由Adafruit使用庫管理器。定義NodeMCU的引腳D7和D8為ON_B和OFF_B。這些引腳用于進(jìn)入用于捕獲紅外信號的環(huán)路。這些引腳默認(rèn)為LOW,如果這些引腳為高,則回路將被激活。

下面給出的代碼為地址、名稱、端口號、密碼、SSID和wifi密碼定義了一個變量。服務(wù)器地址和端口號可以保持原樣,但是必須更改AIO密鑰中獲得的MQTT NAME和MQTT PASS。

我們將引腳4(D2)和引腳14(D5)分配給klrLed和kRecvPin變量,并使用D2引腳發(fā)送紅外數(shù)據(jù),而D5引腳用于接收紅外數(shù)據(jù)

在void設(shè)置中,我們初始化波特率,并且必須等待微控制器形成串行連接。串行通信用于調(diào)試目的。建立連接后,我們將引腳D7(ON_B)和D8(OFF_B)設(shè)置為輸入引腳,D4引腳設(shè)置為輸出。引腳D7和D8用于查找連接到這些引腳的開關(guān)是否處于ON狀態(tài)或OFF狀態(tài)。引腳D4用于連接LED, LED進(jìn)一步用作指示燈。將這些引腳配置為輸入和輸出引腳后,我們就建立了與家庭網(wǎng)絡(luò)的連接。建立連接后,我們通過MQTT協(xié)議訂閱VoiceAC饋線,并通過irsend.begin初始化發(fā)送函數(shù)。

下面給出的代碼處理MQTT連接。MQTT連接的主程序編寫在一個單獨(dú)的函數(shù)中,該函數(shù)名為MQTT_connect()。使用MQTT_connect()函數(shù)調(diào)用MQTT程序,該函數(shù)存在于void循環(huán)中。

下面給出的代碼包含兩個主要的if條件。如果ON_B引腳高,第一個“If”條件將被激活,并且代碼將在第一個“If”循環(huán)中編寫。如果OFF_B引腳高,第二個‘ If ’條件將被激活,并且代碼寫入第二個‘ If ’循環(huán)將運(yùn)行。

如果ON_B引腳高,代碼將進(jìn)入循環(huán)。D4引腳將發(fā)光高,表明程序已進(jìn)入循環(huán)并等待用戶使用交流遙控器初始化ON IR數(shù)據(jù)。

代碼將處于無限循環(huán)中,直到用戶通過紅外遙控器給出正確的紅外代碼。如果數(shù)據(jù)由于噪聲而損壞,函數(shù)resultToHumanReadableBasic(&results)返回“UNKNOWN”。如果resultToHumanReadableBasic(&results)返回除“UNKNOWN”以外的任何字符串,則意味著數(shù)據(jù)是正確的并且沒有噪聲。這將使程序退出while循環(huán)并繼續(xù)執(zhí)行下一條指令。

連接到D4引腳的指示燈LED熄滅,表示用戶已將正確的紅外數(shù)據(jù)發(fā)送到MCU。

下面給出的代碼用于將resultToSourceCode(&results)函數(shù)返回的字符串值轉(zhuǎn)換為uint_16類型。我首先將結(jié)果(resultToSourceCode(&results))存儲在x變量中,這是一個字符串類型。每個數(shù)據(jù)都用逗號分隔,所以我繼續(xù)使用while循環(huán)檢查變量x中的每個字符。如果x變量內(nèi)的字符不是逗號“,”,則將該字符添加到名為convert的字符串變量中。直到出現(xiàn)“,”為止。如果有字符“,”,則表示數(shù)據(jù)已經(jīng)完成了在字符串變量convert中的存儲。存儲在轉(zhuǎn)換變量中的第一個數(shù)據(jù)始終是數(shù)據(jù)的大小。首先,我把數(shù)據(jù)存儲在size1變量中,它是int型。在第一個變量存儲在size1變量中之后,我們必須為下一個進(jìn)程清空“convert”變量,并使其準(zhǔn)備好再次存儲新數(shù)據(jù)。當(dāng)程序感覺到第二個“,”時(shí),我們知道這是我們需要通過IR Blaster發(fā)送的數(shù)據(jù)。

因此,我們以這樣一種方式編寫程序,即第一個傳入數(shù)據(jù)將存儲在size1變量中,其余數(shù)據(jù)將存儲在變量“rawData1”中。我們使用convert. toint()將字符串轉(zhuǎn)換為int型,然后將該數(shù)據(jù)存儲在變量中。這個過程一直進(jìn)行,直到x變量中的每個數(shù)據(jù)都完全存儲在“rawData”變量中。

這個“if”條件檢查OFF_B引腳是HIGH還是Low。如果是HIGH,程序進(jìn)入循環(huán)。“if”條件內(nèi)的代碼與上面相同,但所使用的變量略有變化。在上面的代碼中,我們使用了變量rawData1和size1,但是在這個循環(huán)中,我們將使用變量rawData2和size2。

下面的代碼處理MCU和Adafruit IO服務(wù)器之間的通信。if條件if (!strcmp((char*) voiceAC。lastread, "ON"))只有當(dāng)用戶通過google assistant使用指定的短語時(shí)才為真。函數(shù)irsend.sendRaw()用于在匹配短語時(shí)以38KHz頻率發(fā)送指定大小的原始數(shù)據(jù)。

基于物聯(lián)網(wǎng)的通用交流遙控器的工作原理

我們以這樣一種方式編寫程序:首先,我們必須捕獲從AC遙控器發(fā)出的數(shù)據(jù)。我們通過使用TSOP1738紅外接收器來做到這一點(diǎn)。捕獲信號后,我們將把數(shù)據(jù)存儲在一個變量中,并在需要時(shí)使用紅外爆破器模擬這些信號。

當(dāng)我們打開電源時(shí),我們會注意到指示燈LED(綠色LED)會閃爍。這表示模塊正在等待wifi連接。指示燈停止閃爍,表示nodeMCU已連接wifi網(wǎng)絡(luò)。在建立網(wǎng)絡(luò)連接后,要捕獲紅外數(shù)據(jù),請持續(xù)按下連接到D7或D8的按鈕(ON_B或OFF_B),直到指示燈LED開始發(fā)光。指示燈LED發(fā)光,表示nodeMCU準(zhǔn)備采集紅外數(shù)據(jù)。使用您的AC遙控器發(fā)送紅外信號到我們的TSOP如下所示。如果紅外數(shù)據(jù)正確且無噪聲,則指示燈滅亮,表示NodeMCU成功捕獲紅外數(shù)據(jù),可以重新模擬數(shù)據(jù)。

對另一個剩余的按鈕執(zhí)行相同的過程。如前所述,我們將只處理AC的ON或OFF開關(guān)。ON_B按鈕用于捕獲AC開關(guān)ON所需的數(shù)據(jù),OFF_B按鈕用于捕獲AC開關(guān)OFF所需的數(shù)據(jù)。捕獲兩個數(shù)據(jù)后,將模塊放在AC前面。

在這之后,你可以坐下來,命令你的谷歌助手打開或關(guān)閉交流。如果你愿意,你甚至可以升級這個模塊來捕捉溫度或風(fēng)扇模式等,并控制這些參數(shù)。

本文編譯自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)系本站刪除。
換一批
延伸閱讀

2025年9月8日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 是電源系統(tǒng)與物聯(lián)網(wǎng) (IoT) 領(lǐng)域知名半導(dǎo)體供應(yīng)商英飛凌的全球授權(quán)代理商,...

關(guān)鍵字: 電源系統(tǒng) 物聯(lián)網(wǎng) 半導(dǎo)體

11萬+人次!5000+海外買家! 展會落幕,感恩同行!明年8月深圳再見! 深圳2025年9月1日 /美通社/ -- 據(jù)物聯(lián)網(wǎng)世界報(bào)道。 在AIoT(人工智能+物聯(lián)網(wǎng))技術(shù)加速滲透、全球數(shù)字化轉(zhuǎn)型深化,以...

關(guān)鍵字: IoT 物聯(lián)網(wǎng) TE IC

LoRa聯(lián)盟? 強(qiáng)化本地基礎(chǔ)建設(shè)和市場布局,以支持并擴(kuò)大會員規(guī)模;將在深圳物聯(lián)網(wǎng)博覽會(IOTE Expo Shenzhen)上舉辦LoRaWAN? 專題論壇

關(guān)鍵字: 物聯(lián)網(wǎng) 機(jī)器人 環(huán)境傳感器

深圳2025年8月27日 /美通社/ -- 2025 年 8 月 27 日至29日,IOTE 2025 第二十四屆國際物聯(lián)網(wǎng)展?深圳站于深圳國際會展中心隆重舉行。連接與傳感領(lǐng)域的全球性技術(shù)企業(yè) TE Conne...

關(guān)鍵字: TE CONNECTIVITY IoT 物聯(lián)網(wǎng)

在物聯(lián)網(wǎng)設(shè)備數(shù)量突破千億級的今天,開發(fā)者對核心芯片的訴求已從單一功能轉(zhuǎn)向“全棧集成+生態(tài)協(xié)同”。樂鑫科技推出的ESP32憑借其獨(dú)特的“雙核架構(gòu)+無線雙模+開源生態(tài)”組合,成為智能家居、工業(yè)監(jiān)控、可穿戴設(shè)備等領(lǐng)域的首選方案...

關(guān)鍵字: ESP32 物聯(lián)網(wǎng)

2025年8月21日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權(quán)代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Silicon Labs全新xG26系列無線SoC和MCU。xG26片上系統(tǒng)...

關(guān)鍵字: SoC 微控制器 物聯(lián)網(wǎng)

在物聯(lián)網(wǎng)蓬勃發(fā)展的當(dāng)下,無線局域網(wǎng)絡(luò)廣泛應(yīng)用于各個領(lǐng)域。像 LoRaWAN、Wi - SUN 與 Zigbee 等協(xié)議,在自動抄表、公用事業(yè)及智能家居等場景中被大量采用。然而,這些成熟協(xié)議存在自身的局限性。其復(fù)雜度較高,...

關(guān)鍵字: 物聯(lián)網(wǎng) 無線局域網(wǎng)絡(luò) 組網(wǎng)

工業(yè)4.0與物聯(lián)網(wǎng)深度融合,設(shè)備預(yù)測性維護(hù)已成為制造業(yè)轉(zhuǎn)型升級的核心驅(qū)動力。傳統(tǒng)定期維護(hù)模式導(dǎo)致30%以上的非計(jì)劃停機(jī)與15%的過度維護(hù),而基于機(jī)器學(xué)習(xí)的故障預(yù)警系統(tǒng)可將設(shè)備綜合效率(OEE)提升20%-30%。本文聚焦...

關(guān)鍵字: 工業(yè)4.0 物聯(lián)網(wǎng)
關(guān)閉