Lập trình ESP32 (5/8): WiFi Station — kết nối & reconnect
WiFi.begin, lưu SSID/password an toàn, reconnect không block loop, in IP local.
· 1 min read
Khóa lập trình Arduino ESP32 cơ bản — IoT từ Blink đến SmartNode · Phần 5/8▼
Phần 5/8 (~40 phút) · Phần 4 · Phần 6 — HTTP
#include <WiFi.h>
const char* WIFI_SSID = "YOUR_SSID";
const char* WIFI_PASS = "YOUR_PASSWORD";
void connectWiFi() {
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASS);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println(WiFi.localIP());
}
unsigned long lastCheck = 0;
void setup() {
Serial.begin(115200);
connectWiFi();
}
void loop() {
if (millis() - lastCheck > 10000) {
lastCheck = millis();
if (WiFi.status() != WL_CONNECTED) {
Serial.println("Reconnecting...");
WiFi.disconnect();
WiFi.begin(WIFI_SSID, WIFI_PASS);
}
}
// phần khác của SmartNode chạy ở đây — tránh delay dài
}
Mẹo: Dùng WiFi 2.4 GHz — ESP32 không hỗ trợ 5 GHz-only AP.
Câu hỏi thường gặp
Có nên hard-code mật WiFi trong sketch?
Học tập: tạm OK. Sản phẩm: dùng WiFiManager, NVS, hoặc provisioning — không commit password lên Git.
Bài đọc tiếp theo
Lập trình ESP32 (1/8): Giới thiệu board, cài Arduino IDE & Blink LED
Khóa Arduino ESP32 miễn phí — phần 1: chọn board ESP32-WROOM, cài core esp32 trên Arduino IDE 2.x, nạp Blink, hiểu Serial Monitor. Lộ trình: /blog/hoc-lap-trinh-arduino-esp32-tu-dau
Đọc tiếp →Lập trình ESP32 (2/8): GPIO digital, nút bấm & chống dội (debounce)
GPIO ESP32: digitalRead/Write, nút bấm pull-up nội, toggle LED, debounce phần mềm — nền tảng đọc cảm biến digital.
Đọc tiếp →Lập trình ESP32 (3/8): PWM — LED fade & điều khiển servo SG90
LEDC PWM trên ESP32, fade LED mượt, thư viện ESP32Servo — điều khiển góc servo 0–180°.
Đọc tiếp →Startup của bạn cần tech partner?
Trao đổi miễn phí về MVP, timeline và mô hình chia lợi nhuận phù hợp.