電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino物聯(lián)網(wǎng)云智能家居與Alexa使用NodeMCU

Arduino物聯(lián)網(wǎng)云智能家居與Alexa使用NodeMCU

2023-06-25 | zip | 1.32 MB | 次下載 | 免費(fèi)

資料介紹

描述

在這個(gè)物聯(lián)網(wǎng)項(xiàng)目中,我展示了如何使用 ESP8266 Arduino 使用Arduino IoT CloudAlexa制作基于物聯(lián)網(wǎng)的智能家居,以通過語音命令、紅外遙控器和手動(dòng)開關(guān)控制 4 臺家用電器。

?
?
?
poYBAGSBpziATu1UAAICdDB00Go176.png
?
1 / 2
?

如果互聯(lián)網(wǎng)不可用,您可以通過紅外遙控和手動(dòng)開關(guān)控制家電。

  • 使用Alexa控制設(shè)備。
  • 使用 Arduino EEPROM來記住以前的狀態(tài)
  • 用紅外遙控器控制電器。
  • 使用開關(guān)或按鈕手動(dòng)控制設(shè)備
  • 在 Amazon Alexa 應(yīng)用程序中監(jiān)控實(shí)時(shí)反饋室溫。
  • 無需互聯(lián)網(wǎng)即可手動(dòng)控制家電。
  • 用于該項(xiàng)目的所有資源都是免費(fèi)的。

因此,如果您按照所有步驟操作,只需使用 Arduino UNO、NodeMCU 和繼電器模塊即可輕松制作此物聯(lián)網(wǎng)項(xiàng)目。

雖然 PCB 不是強(qiáng)制性的,但我使用 PCB 使電路緊湊并使項(xiàng)目具有專業(yè)外觀。

這個(gè) Arduino 物聯(lián)網(wǎng)云項(xiàng)目如何運(yùn)作?

pYYBAGSBp0WAElBVAAFNP9-jn7o155.png
?

此 Arduino ESP8266 家庭自動(dòng)化按以下步驟工作。

  • 當(dāng)您要求Alexa控制電器時(shí),它會(huì)將信號發(fā)送到 Arduino 物聯(lián)網(wǎng)云服務(wù)器。
  • NodeMCU通過互聯(lián)網(wǎng)接收來自Arduino IoT Cloud的信號。
  • NodeMCU通過串行終端向 Arduino 發(fā)送相同的信號。
  • Arduino UNO將處理該信號并打開或關(guān)閉繼電器。
  • Arduino通過串行通信反饋發(fā)送到 NodeMCU 。
  • NodeMCU 通過互聯(lián)網(wǎng)向Arduino 物聯(lián)網(wǎng)云服務(wù)器發(fā)送反饋。
  • 可以在Amazon Alexa應(yīng)用程序中監(jiān)控實(shí)時(shí)反饋
pYYBAGSBp0iAWCVGAAKEGslQUkw408.png
?

此物聯(lián)網(wǎng)項(xiàng)目所需的組件(無 PCB)

  • 阿杜諾UNO
  • NodeMCU ESP8266
  • 1838紅外線接收器(帶金屬外殼)
  • DHT11傳感器
  • 4 通道 5V SPDT 繼電器模塊
  • 開關(guān)或按鈕
  • 5V 直流電源。
pYYBAGSBp0uAN0xeAAHfludL_fY632.png
?

Arduino 控制繼電器 PCB 所需的組件:

  • Atmega328P微控制器
  • ESP8266 ESP01
  • PC817 光耦合器(4 個(gè))
  • 510 歐姆 0.25 瓦電阻器(4 個(gè))(R1 -- R4)
  • 1k 0.25 瓦電阻器(6 個(gè))(R5 -- R10)
  • 2k 0.25瓦電阻
  • 4.7k 0.25瓦電阻
  • 10k 0.25 瓦電阻器(2 個(gè))
  • 22pF陶瓷電容
  • 104陶瓷電容
  • 220uF 25V 電容 (2no)
  • 1uF 箱形電容 (1no)
  • 16MHz晶振
  • LED 5 毫米(6 個(gè))
  • 1N4007 二極管(4 個(gè))(D1 -- D4)
  • 按鈕(8 個(gè))
  • BC547 三極管(4顆)
  • 繼電器 5v (SPDT)(4 個(gè))
  • 終端連接器
  • 跳線 (5no)
  • 開關(guān) (1no)
  • 海凌交直流220v-5v

ESP8266 Arduino 控制繼電器的電路圖

pYYBAGSBp1aADKQvAAHo3zLJmHI468.png
?

電路非常簡單,我使用數(shù)字引腳D4、D5、D6 和 D7來控制 4 個(gè)繼電器。

數(shù)字引腳D10、D11、D12 和 D13與開關(guān)連接以手動(dòng)控制 4 個(gè)繼電器。

紅外接收器的輸出腳接A0 ,DHT11傳感器接A1 。

我在 Arduino IDE 中使用了INPUT_PULLUP函數(shù),而不是使用上拉電阻。

我使用D2 作為 RX ,使用D3 作為 TX與 NodeMCU 模塊進(jìn)行串行通信。

如果您使用鎖存開關(guān),則只需將按鈕連接到數(shù)字引腳和 GND,而不是按鈕。

我用5V手機(jī)充電器給智能繼電器模塊供電。

高壓下工作時(shí),請采取適當(dāng)?shù)陌踩A(yù)防措施。

使用 ESP8266 NodeMCU 的 Alexa 控制繼電器

poYBAGSBp2KANovwAAE03xM86Rg260.png
?

如果 NodeMCU 連接到 WiFi,您可以通過Amazon Alexa App控制家電。

您還可以要求Alexa從世界任何地方打開和關(guān)閉設(shè)備。

對于這個(gè)家庭自動(dòng)化項(xiàng)目,您不需要任何 Echo DOT 或其他 Alexa 設(shè)備。

如果 NodeMCU 與 WiFi 連接,您還可以通過Arduino IoT Cloud 網(wǎng)絡(luò)儀表板Arduino IoT Cloud Remote 移動(dòng)應(yīng)用程序控制家電。

帶紅外遙控和手動(dòng)開關(guān)的控制繼電器

poYBAGSBp22AUu3HAAE5UlYvTAI344.png
?

您始終可以使用紅外遙控和手動(dòng)開關(guān)控制繼電器。

我將在以下步驟中解釋如何從任何遙控器獲取紅外代碼(十六進(jìn)制代碼)。

如果 NodeMCU 連接到 Wi-Fi,您可以在Amazon Alexa AppArduino 云儀表板中監(jiān)控實(shí)時(shí)反饋。

如果 WiFi 不可用,您仍然可以使用紅外遙控和手動(dòng)開關(guān)控制繼電器。

當(dāng) WiFi 可用時(shí),NodeMCU 將自動(dòng)重新連接 WiFi。

為這個(gè)智能家居系統(tǒng)設(shè)計(jì) PCB

pYYBAGSBp2-Aeq9TAAHZwYGOGP4883.png
?

為了使電路緊湊并具有專業(yè)的外觀,我在測試了智能繼電器模塊的所有功能后設(shè)計(jì)了 PCB。

您可以從以下鏈接下載此家庭自動(dòng)化項(xiàng)目的 PCB Gerber 文件:

用于下載 PCB Gerber 文件的 GitHub 鏈接

為什么要使用 JLC SMT 服務(wù)?

在JLCPCB的一站式在線平臺上,客戶只需支付8.00美元的安裝費(fèi)(每個(gè)接頭0.0017美元)即可享受低成本、高質(zhì)量、快速的SMT服務(wù)。

每月 27 美元的新用戶優(yōu)惠券和 24 美元的 SMT 優(yōu)惠券。

訪問https://jlcpcb.com

JLCPCB SMT 零件庫200k+庫存元件(689 基本元件和 200k+ 擴(kuò)展元件)

零件預(yù)購服務(wù)https://support.jlcpcb.com/article/164-what-is-jlcpcb-parts-pre-order-service

建立個(gè)人圖書館庫存,為現(xiàn)在或?qū)肀4媪慵?/font>

組裝將支持來自 Digikey、mouser 的超過1000 萬個(gè)部件。

從 JLCPCB 訂購 PCB 組件的步驟

pYYBAGSBp3KAfb78AAB6BGHOEck371.jpg
?

1. 訪問https://jlcpcb.com登錄/注冊。

poYBAGSBp3SAPm1PAABuDUaNZf4670.png
?

2. 單擊立即報(bào)價(jià)按鈕。

pYYBAGSBp3iAVuILAABmxqh9E4A004.jpg
?

3. 單擊“添加您的 Gerber 文件”按鈕。然后瀏覽并選擇您下載的 Gerber 文件。

4. 設(shè)置所需參數(shù),如數(shù)量、PCB 遮蔽顏色等。

pYYBAGSBp3uAS1onAAB57aCrmCE831.png
?

5. 選擇組裝面和 SMT 數(shù)量。

pYYBAGSBp32ACp5fAABUp-xPc5I520.png
?

6. 現(xiàn)在上傳BOMPickAndPlace文件。

poYBAGSBp3-AYv85AABk-P0yr-w096.png
?

7. 現(xiàn)在確認(rèn)您要通過 SMT 服務(wù)焊接的所有組件。

8. 單擊“保存到購物車”按鈕。

選擇送貨地址和付款方式

pYYBAGSBp4KANYRPAABYNmZPgJI563.jpg
?

6. 鍵入送貨地址。

7. 選擇適合您的運(yùn)輸方式。

8. 提交訂單并進(jìn)行付款。

您還可以從JLCPCB跟蹤您的訂單

poYBAGSBp4WATQ5_AADDpQF6-P0376.png
?

我的 PCB 需要 3 天時(shí)間才能制造出來,并使用 DHL 交付選項(xiàng)在一周內(nèi)送達(dá)。

pYYBAGSBp4eAEwbIAADqt-LeH3c731.png
?

PCB 包裝完好,質(zhì)量非常好,價(jià)格實(shí)惠。

創(chuàng)建 Arduino 物聯(lián)網(wǎng)云免費(fèi)帳戶

pYYBAGPi_WGACcdkAAB40raLDp4033.png
?

對于這個(gè)智能家居項(xiàng)目,我使用了 Arduino Cloud Free 計(jì)劃。

單擊以下鏈接創(chuàng)建一個(gè)Arduino IoT Cloud帳戶。

https://store.arduino.cc/digital/create

  • 單擊“創(chuàng)建一個(gè)”。
poYBAGPi_WSANpmDAABrFEr_Z5g151.png
?
  • 輸入您的生日,然后單擊“下一步”。
poYBAGPi_WeAbVu5AAB6sgHTsRY463.png
?
  • 輸入電子郵件 ID、用戶名、設(shè)置密碼。然后點(diǎn)擊“注冊”。
poYBAGPi_WmAdQYjAAB3S5Vtbdk545.png
?
  • 現(xiàn)在點(diǎn)擊“物聯(lián)網(wǎng)云”。

在 Arduino 物聯(lián)網(wǎng)云中添加 NodeMCU ESP8266 設(shè)備

pYYBAGSBp5OAWwdnAABZFIlSSoE737.png
?
  • 單擊右側(cè)的選擇設(shè)備。
pYYBAGSBp5WAfKlVAABajGM9sag123.png
?
  • 選擇“Set up a third Party device” ,然后選擇設(shè)備類型為ESP8266 ,設(shè)備型號為NodeMCU 1.0。
poYBAGSBp5iASrUSAABlvQTCfM8096.png
?
  • 您將獲得代碼中需要的設(shè)備 ID密鑰。
  • 點(diǎn)擊“繼續(xù)”,您會(huì)發(fā)現(xiàn)設(shè)備已添加。
pYYBAGSBp5uAWDYOAABoKUOq-Zg901.png
?

可以看到,設(shè)備已添加。

在 Arduino IoT Cloud 中添加變量

現(xiàn)在要控制 4 個(gè)繼電器,您必須添加 4 個(gè)變量。

單擊“添加變量”按鈕。

poYBAGSBp52AG3LPAABbGMxsFRs877.png
?

輸入名稱,然后選擇Alexa 兼容開關(guān)類型。變量權(quán)限將是“讀寫”,變量更新策略將是“更改時(shí)”。

pYYBAGSBp6CACsXXAABhcvJd-3g275.png
?

以類似的方式,您必須添加接下來的 3 個(gè)變量。

poYBAGSBp6KAEbphAABiHH2gPsI486.png
?

對于室溫讀數(shù),請選擇Alexa compatible Temperature Sensor 。變量更新策略將是“定期”,并提及間隔時(shí)間。

設(shè)置 Arduino 物聯(lián)網(wǎng)云儀表板

pYYBAGSBp6SAdu_-AAA0zAFwyZk783.png
?
  • 現(xiàn)在單擊頂部的儀表板以設(shè)置 Arduino 云儀表板。
  • 然后單擊構(gòu)建儀表板。
  • 之后單擊“編輯”圖標(biāo)。然后單擊“添加”并選擇“切換”。
poYBAGSBp6eAHgFfAABAvMVYOWY820.png
?
  • 為這個(gè) Switch 命名,然后將一個(gè)變量鏈接到這個(gè) switch 小部件。
pYYBAGSBp6mARrdmAABDQy03Lpg290.png
?
  • 然后點(diǎn)擊完成。
pYYBAGSBp6yAC4ZJAABFVFWiKOc202.png
?

以類似的方式,您必須添加總共 4 個(gè)開關(guān)小部件來控制 4 個(gè)繼電器。

poYBAGSBp66AHifoAACWxoXnQdI395.png
?

對于溫度,選擇Gauge widgets 并鏈接 Temperature 變量。您還可以設(shè)置MINMAX 限制。

pYYBAGSBp7CAMXgfAACnd8SXZ2U381.png
?

從遠(yuǎn)程獲取 IR 代碼(十六進(jìn)制代碼)

pYYBAGSBp7OAJBYbAACqRL2qv_c949.png
?

現(xiàn)在,要從遙控器獲取十六進(jìn)制代碼,首先,我們必須將紅外接收器輸出引腳連接到 Arduino UNO的A0 引腳。并在 VCC 和 GND 之間提供 5V。IR 接收器必須有金屬外殼,否則,您可能會(huì)遇到問題。

poYBAGSBp7WAY71FAACVMTl8Xbs796.png
?

然后按照以下步驟獲取十六進(jìn)制代碼:

  • 在Arduino IDE 中安裝IRremote庫。
  • 下載附件代碼,并上傳到Arduino UNO。
  • 打開串行監(jiān)視器,波特率為9600。
  • 現(xiàn)在,按下紅外遙控按鈕。
  • 相應(yīng)的十六進(jìn)制代碼將填充在串行監(jiān)視器中。
  • 將所有十六進(jìn)制代碼保存在文本文件中。您必須在主草圖中更新這些十六進(jìn)制代碼。

使用 Arduino IDE 對 ESP8266 NodeMCU 進(jìn)行編程

poYBAGSBp7eAUz4yAACX3r5cO4A773.png
?

為了對 NodeMCU 進(jìn)行編程,我使用了 Arduino IDE。

下載附件代碼。

首先,您必須安裝ArduinoIoTCloud 庫。在安裝過程中,它可能會(huì)要求安裝其他依賴項(xiàng)。然后點(diǎn)擊全部安裝。

pYYBAGSBp7qAcX4dAAFeh21k9ZA786.jpg
?

在代碼中,輸入以下詳細(xì)信息完成所有這些更改后,您可以將代碼上傳到 NodeMCU。

使用 Arduino IDE 對 Arduino UNO 或 ATmega328P 進(jìn)行編程

pYYBAGSBp72AGQzsAAJTVu2AGB4087.png
?

poYBAGSBp8CALfGFAABoH3LZciY649.png
?

但是,如果您不使用 PCB,則可以直接將 Arduino UNO 與筆記本電腦連接。

對于主草圖,您需要安裝以下庫

然后你必須更新紅外遙控器草圖中的十六進(jìn)制代碼。

對于瞬時(shí)開關(guān),使用代碼:Code_ArduinoUNO_EEPROM_WiFi_IR_Button_4Relay.ino

對于鎖存開關(guān),使用代碼:Code_ArduinoUNO_EEPROM_WiFi_IR_Switch_4Relay.ino

為 Arduino 物聯(lián)網(wǎng)云配置 Alexa 應(yīng)用程序

poYBAGPi_eyAbfKhAAC_JyqiihM336.jpg
?

從 Google Play 商店或 App Store下載并安裝Amazon Alexa App 。

  • 點(diǎn)擊“更多”。
  • 然后選擇“技能和游戲”。
  • 搜索 Arduino 并點(diǎn)擊“ Arduino ”。
  • 點(diǎn)擊“啟用使用”。

將 Arduino 云設(shè)備與 Alexa 連接

pYYBAGPi_fOARo2NAACRMdcYX2o273.jpg
?

使用 Arduino Cloud 憑據(jù)登錄。

  • 點(diǎn)擊關(guān)閉。
  • 點(diǎn)擊“發(fā)現(xiàn)設(shè)備”。添加設(shè)備需要一分鐘時(shí)間。在此期間,NodeMCU 應(yīng)連接到 WiFi。
  • 點(diǎn)擊“設(shè)備”,然后點(diǎn)擊“開關(guān)”以查看所有設(shè)備。

因此,所有來自 Arduino IoT Cloud 的設(shè)備都將添加到 Amazon Alexa App。

連接家電

pYYBAGSBp8iAUHMZAAEz8XUa7vk761.png
?

按照電路圖用繼電器模塊連接4臺家電。

在高壓下工作時(shí),請采取適當(dāng)?shù)陌踩A(yù)防措施。

將 110V/230V 電源連接到 PCB。

最后!!Arduino 云智能家居系統(tǒng)已準(zhǔn)備就緒

pYYBAGSBp8uAFp1HAAF963RrBqA148.png
?

現(xiàn)在您可以智能地控制您的家電。

我希望您喜歡這個(gè) Arduino IoT 和 Alexa 控制家庭自動(dòng)化項(xiàng)目。我已經(jīng)分享了這個(gè)項(xiàng)目的所有必需信息。

如果您能分享寶貴的反饋意見,我將不勝感激。另外,如果您有任何疑問,請寫在評論部分。

謝謝你,快樂學(xué)習(xí)。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)