如果你是第一次使用ESP32,本文章會帶你從安裝ESP32開發板管理員到wifi連線。
假如你已經有安裝好開發板管理員的話,則可以直接跳到wifi連線的段落。
內容目錄
前置作業
- 安裝好Arduino IDE
- 有Wifi熱點
- 擁有ESP32(本篇文章使用NodeMCU-32S)
安裝ESP32開發板管理員
為何要安裝ESP32開發板管理員?
我們平時寫的Arduino程式是我們可以看得懂的,但ESP32是看不懂我們寫的程式,而Arduino IDE就可以透過ESP32開發板管理員,來讓我們寫的程式轉成ESP32看得懂的編碼,就可以執行我們的程式了~
安裝步驟
打開Arduino IDE,在主選單中點開[檔案/偏好設定],在[額外的開發板管理員網址]中貼上下列網址: https://dl.espressif.com/dl/package_esp32_index.json
點開主選單[工具/開發板/開發板管理員],之後在開發版管理員視窗中搜尋「esp32」,預設版本通常會是最新的(圖中為1.0.6版),最後點選安裝即可。
點選主選單[工具/開發板/ESP32 Arduino],這邊會出現很多ESP32系列的板子,我是用NodeMCU32-32S,因此選擇[Node32s],這個也是比較常見的款式。
測試上傳程式
這邊就來上傳個簡單的程式來測試看看會不會成功。
可以從[檔案/範例/01.Basics/Blink],叫出範例的LED閃爍程式,上傳測試看看會不會成功。
如果上述的程式上傳成功,那麼我們就可以開始寫程式讓esp32連上wifi啦~
Wifi連線
Wifi模式
用WiFi.h程式庫會有4種wifi模式可以用:
語法 | WIFI模式 | 功能 |
---|---|---|
WiFi.mode(WIFI_AP); | Access Point (AP) | ESP32可以讓其他設備透過wifi接入(就像家裡的wifi基地台,可供手機連線)。 |
WiFi.mode(WIFI_STA); | Station(STA) | 無線終端模式,也就是讓ESP32可以連接上其他的熱點(就像手機一樣,可以連上家裡wifi)。 |
WiFi.mode(WIFI_AP_STA); | AP+STA | 將ESP32設置成兩個模式並存。 |
WiFi.mode(WIFI_OFF); | OFF | 關閉wifi |
通常我們都會將ESP32設置成STA模式,連接家裡wifi基地台,這樣手機連接wifi基地台,也可以連上ESP32。
程式
#include<WiFi.h>
const char ssid[]="WiFi網路名稱"; //修改為你家的WiFi網路名稱
const char pwd[]="WiFi密碼"; //修改為你家的WiFi密碼
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA); //設置WiFi模式
WiFi.begin(ssid,pwd);
Serial.print("WiFi connecting");
//當WiFi連線時會回傳WL_CONNECTED,因此跳出迴圈時代表已成功連線
while(WiFi.status()!=WL_CONNECTED){
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.print("IP位址:");
Serial.println(WiFi.localIP()); //讀取IP位址
Serial.print("WiFi RSSI:");
Serial.println(WiFi.RSSI()); //讀取WiFi強度
}
void loop() {
}
打開序列埠監控是窗就可以看到ESP32所分配到的IP位址以及WiFi強度。
ESP32打開序列埠監控視窗的時候好像不會重置,因此有時打開會發現沒出現IP位址跟WiFi強度,但只要按一下板子左下角的重置按鈕,就會顯示出來了。
參考書籍
這本書我覺得適合有Arduino入門基礎的人,因為裡面不會解釋一些基本的Arduino程式,而是說明物聯網相關程式的功能,除了Arduino程式之外,還有提到一點網頁程式,之後可以應用在自己所需的場合,內容非常豐富,CP值很高。
最後!! 如果你喜歡這篇文章,或是這篇文章對你有幫助的話,也歡迎分享出去給需要的人,訂閱免費電子報獲得最新資訊😄😄😄