ESP32連上無線基地台(AP)並獲取AP資訊

ESP32連上無線基地台(AP)

實驗說明:

用 ESP32內建Wi-Fi連到基地台,程式使用while()迴圈
並以WiFi.staus()判斷是否已連線,如果正在連線,會印出
".",如回傳為否,每隔0.5秒會再進入回迴圈掃描附近
配對的基地台,直到連線成功為跳出迴圈並印出"已連線
成功"字樣。

連線中



已連線



程式碼


#include <WiFi.h> ———套用WiFi庫

const char *ssid = "基地台名稱";
const char *password = "基地台密碼";

void setup(){
    Serial.begin(115200);
    WiFi.begin(ssidpassword);
    while (WiFi.status() != WL_CONNECTED){ ———判斷是否已連線
        delay(500);
        Serial.print(".");
    }
    Serial.println("已連線到Wi-Fi基地台");
    
}
void loop(){
   
}

獲取AP資訊

相關函式請參閱-ESP32函式筆記本

基本上和上面程式碼一樣,只是多套用了取得網路相關的資訊
,每個能連上網路的設備都會有這些相關訊息,例如電腦,在
終諯機輸入ipconfig就會出現下圖:
那麼ESP32同樣可做為網路設備來說也是會有這些資訊
將程式碼上傳後即會取得相關的資訊

#include <WiFi.h>

const char *ssid = "基地台名稱";
const char *password = "基地台密碼";

void setup(){
    Serial.begin(115200);
    WiFi.begin(ssidpassword);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(500);
        Serial.print(".");
    }
    Serial.println("已連上WiFi");
    Serial.print("我的IP位址");
    Serial.println(WiFi.localIP());

    Serial.print("子遮罩網路: ");
    Serial.println(WiFi.subnetMask());

    Serial.print("閘道網路: ");
    Serial.println(WiFi.gatewayIP());

    Serial.print("DNS位址: ");
    Serial.println(WiFi.dnsIP());
    
}
void loop(){
   
}





留言

這個網誌中的熱門文章

ESP32-CAM燒錄出現fd_forward.h: No such file or directory錯誤信息<解決方案>