ESP32 WiFi連線教學

esp32 WiFi連線教學

如果你是第一次使用ESP32,本文章會帶你從安裝ESP32開發板管理員到wifi連線。

假如你已經有安裝好開發板管理員的話,則可以直接跳到wifi連線的段落。

前置作業

  1. 安裝好Arduino IDE
  2. 有Wifi熱點
  3. 擁有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強度,但只要按一下板子左下角的重置按鈕,就會顯示出來了。

參考書籍

ESP3超圖解 ESP32 深度實作/趙英傑

這本書我覺得適合有Arduino入門基礎的人,因為裡面不會解釋一些基本的Arduino程式,而是說明物聯網相關程式的功能,除了Arduino程式之外,還有提到一點網頁程式,之後可以應用在自己所需的場合,內容非常豐富,CP值很高。


最後!! 如果你喜歡這篇文章,或是這篇文章對你有幫助的話,也歡迎分享出去給需要的人,訂閱免費電子報獲得最新資訊😄😄😄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *