Arduino Uno R4 WiFi板如何通過設(shè)置本地web服務(wù)器來控制家中的事物
在這篇文章中,我們將使一個非常有用和非常容易的家庭自動化項目。
而對于這個家庭自動化系統(tǒng)的制作,我們不需要任何像blynk, ESP-Rainmeker, Arduino IOT Cloud這樣的互聯(lián)網(wǎng)和物聯(lián)網(wǎng)平臺。
我們只需要一個路由器或熱點來制作本地服務(wù)器,這里路由器將作為網(wǎng)頁和Arduino UNO R4 WIFI板之間的橋梁。
Arduino幾天前推出了Arduino UNO R3板的后繼產(chǎn)品,即Arduino UNO R4,它有兩個版本,一個是Arduino UNO R4 Minima,第二個是Arduino UNO R4 WIFI。
這個Arduino UNO R4 wifi有一個內(nèi)置的ESP32芯片組,所以我們期望wifi和藍牙連接。
這個新的Arduino UNO R4板與Arduino UNO R3板具有相同的外形因素,并且引腳與R3板完全相同。
具有相同的外形因素和引腳,現(xiàn)在我們可以輕松地將Arduino UNO R3的所有屏蔽或模塊與這個新的R4板一起使用。
去年我為初學(xué)者設(shè)計了一個學(xué)習(xí)PCB,這是一種Arduino UNO R3屏蔽。只需將屏蔽板放在Arduino UNO R3板上,即可輕松制作酷炫的家庭自動化項目....這是一種即插即用的東西。
本項目利用新推出的Arduino Uno R4 WiFi板和定制設(shè)計的Arduino屏蔽板的功能,通過本地web服務(wù)器控制兩個繼電器。
我們將做一個本地網(wǎng)絡(luò)服務(wù)器,從本地服務(wù)器,我們將能夠控制我們的家用電器。讓我們深入研究這個項目的復(fù)雜性。
Arduino UNO R4 WiFi板:
Arduino UNO R4 WiFi板是一款多功能且功能強大的開發(fā)工具,結(jié)合了瑞薩電子32位微控制器RA4M1和ESP32模塊的功能,可促進Wi-Fi和藍牙連接。
主要特點
微控制器(MCU):該板容納高性能瑞薩RA4M1, Arm Cortex-M4微控制器,工作時鐘速度為48 MHz。它配備了32kb的SRAM和256kb的閃存。該MCU通過USB支持HID,并具有實時時鐘(RTC),數(shù)模轉(zhuǎn)換器(DAC)和CAN總線。
連接模塊:板載ESP32-S3模塊,支持Wi-Fi和藍牙連接。這個模塊可以通過一個特定的頭單獨編程。
工作電壓:RA4M1和單板的gpio工作在5V, ESP32-S3模塊工作在3.3V。
LED矩陣:一個獨特的12x8 LED矩陣允許用戶直接在板上創(chuàng)建視覺原型,培養(yǎng)項目設(shè)計的創(chuàng)造力。
Qwiic連接器:該特性促進了即插即用風(fēng)格的項目創(chuàng)建,增強了開發(fā)人員的易用性。
兼容性和資源
Arduino UNO R4 WiFi板兼容各種硬件,包括4繼電器屏蔽,電機屏蔽Rev3,以太網(wǎng)屏蔽Rev2和9軸運動屏蔽。它支持通過Arduino IDE, Arduino CLI和Web Editor編程。該板還提供了一系列教程和指南,以幫助用戶有效地設(shè)置和利用這些功能。
NextPCB:您的PCB制造和組裝一站式解決方案
由于NextPCB -可靠的多層PCB制造商的幫助和支持,該項目成功完成。NextPCB是全球最有經(jīng)驗的PCB制造商之一,專注于PCB和組裝行業(yè)超過15年。
無與倫比的可靠性和質(zhì)量
NextPCB以提供高可靠性PCB解決方案而自豪。擁有超過15年的內(nèi)部制造專業(yè)知識,他們保證100%的產(chǎn)品質(zhì)量,如果出現(xiàn)任何問題,承諾免費重制。他們對質(zhì)量的承諾反映在他們令人印象深刻的99.6%準時交貨率上,確保您的項目遵守規(guī)定的時間表,沒有任何障礙。
綜合服務(wù)
PCB制造
NextPCB專業(yè)生產(chǎn)各種pcb,包括:
?陶瓷印刷電路板
?金屬芯PCB
?鋁印刷電路板
?LED PCB
?柔性印刷電路板
?Rigid-flex PCB
?厚銅PCB
?高TG PCB
?高頻印刷電路板
?人類發(fā)展指數(shù)PCB
他們的制造工藝采用全球高端材料和設(shè)備,包括臺灣電鍍線和德國飛探頭測試儀,確保生產(chǎn)耐用和高效的PCB。
免費PCB組裝服務(wù)
為了支持工程師和愛好者的努力,NextPCB提供免費的PCB組裝服務(wù),讓個人和企業(yè)免費體驗NextPCB的可靠PCB組裝。這一舉措證明了NextPCB致力于促進創(chuàng)新和支持PCB社區(qū)。
代碼
點擊這里下載這個家庭自動化項目的代碼。
讓我們一步一步地分解代碼來理解這個項目是如何工作的:
包括庫
在代碼的開頭,我們包含兩個庫:一個用于控制LED矩陣,另一個用于處理WiFi連接。
定義變量
這里,我們定義了幾個變量:
?LED1和LED2是連接到led的引腳。
?矩陣是一個控制LED的矩陣對象。
?hi[]是一個數(shù)組,用于存儲顯示在LED矩陣上的數(shù)據(jù)。
?ssid和pass是WiFi網(wǎng)絡(luò)憑據(jù)。
?output1和output2存儲led的當前狀態(tài)。
?header存儲HTTP請求頭。
?currentTime和previousTime有助于管理循環(huán)中的時間。
?timeoutTime為等待客戶端連接的最大時間。
?status存儲當前WiFi連接狀態(tài)。
?server是創(chuàng)建WiFi服務(wù)器的對象。
設(shè)置函數(shù)
在設(shè)置函數(shù)中,我們初始化串行通信,啟動LED矩陣,并設(shè)置LED引腳作為輸出。我們還啟動了WiFi連接并啟動了服務(wù)器。
循環(huán)函數(shù)
循環(huán)函數(shù)持續(xù)運行另外兩個函數(shù):webServer()和LEDMatrix()。
LED矩陣功能
LEDMatrix函數(shù)使用hi[]數(shù)組中存儲的數(shù)據(jù)在LED矩陣上顯示一個幀。
Web服務(wù)器功能
webServer函數(shù)處理傳入的客戶端連接。它讀取HTTP請求并相應(yīng)地控制led。它還提供一個HTML頁面,允許用戶通過web界面控制led。
打印WiFi狀態(tài)命令功能
printWifiStatus函數(shù)將當前WiFi連接的詳細信息打印到串口監(jiān)視器上,包括SSID、IP地址和信號強度。它還顯示了訪問web界面的URL。
將此代碼上傳到Arduino UNO R4板。
連接圖
現(xiàn)在按照這個連接圖連接你的燈泡或任何你想控制的設(shè)備。
如果你沒有Arduino屏蔽,你想使用繼電器,然后使用這個連接圖進行連接。
現(xiàn)在一切都準備好了,安裝這個項目在家里或辦公室,任何你想要的地方。
該項目展示了Arduino Uno R4 WiFi板在家庭自動化中的巨大潛力。通過創(chuàng)建本地web服務(wù)器,用戶可以輕松地遠程控制設(shè)備。再加上NEXTPCB提供的服務(wù),將這些項目變?yōu)楝F(xiàn)實從未如此簡單。
與Arduino Uno R4 WiFi板和NEXTPCB一起踏上您的創(chuàng)新之旅,步入家庭自動化的未來。
本文編譯自hackster.io





