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





