醬是創客的ESP32教學主題第四篇,以Ai-Thinker安信可NodeMCU-32S(使用Arduino語言)來實作教學,本篇教學將著重於設定開發板為軟體模擬無線基地台Soft AP模式,並可讓手機/電腦連線,為何要設定成soft AP模式? 因為你要讓用戶自行連線到開發板設定無線網路的SSID和密碼。我們總不能為一個開發板專案設定一個固定SSID和密碼,然後跟用戶說你的SSID/password一定要和我的一樣才能連線。

以下是我們今天的目標

  • 開發板使用soft AP模式並提供DHCP IP給client
  • SSID為iot
  • 無線網路密碼: chosemaker
  • 無線網路頻道: 6
  • AP的IP/Subnet Mask/Gateway: 192.168.100.1/255.255.255.0/192.168.100.1

設備:
安信可NodeMCU-32S #露天拍賣 #蝦皮購物

Arduino 範例程式碼如下

//醬是創客 開發實作的好夥伴
#include "WiFi.h"

const char* ssid = "iot";
const char* passphrase = "chosemaker";
IPAddress local_ip(192,168,100,1);
IPAddress gateway(192,168,100,1);
IPAddress subnet(255,255,255,0);

void setup() {
  Serial.begin(115200);
  setupAP();
}

void loop() {
  
}

void setupAP(void) {
  WiFi.softAP(ssid, passphrase, 6);
  WiFi.softAPConfig(local_ip, gateway, subnet);
  Serial.println("run softap");
}

這時候我們用手機或電腦透過wi-fi連至iot並輸入密碼chosemaker,這時候我們可以拿到192.168.100.2的IP

Arduino 序列埠監控視窗 輸出如下

run softap
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0