Series
Lập Trình ESP32 Cơ Bản
  1. Series Lập Trình ESP32 Cơ Bản – Giới Thiệu: Lộ Trình 19 Bài Từ Số 0
  2. 1Lập trình ESP32 – Bài 1: ESP32 là gì? Hướng dẫn bắt đầu với ESP32 cho người mới
  3. 2Lập trình ESP32 – Bài 2: Kết nối WiFi và kiểm tra Internet với ESP32
  4. 3Lập trình ESP32 – Bài 3: Đọc nút nhấn và điều khiển LED với ESP32
  5. 4Lập trình ESP32 – Bài 4: Đọc nhiệt độ & độ ẩm với cảm biến DHT11
  6. 5Lập trình ESP32 – Bài 5: ESP32 Web Server – Điều khiển LED qua trình duyệt
  7. 6Lập trình ESP32 – Bài 6: Điều khiển LED RGB
  8. 7Lập trình ESP32 – Bài 7: Điều khiển Relay qua Web Server
  9. 8Lập trình ESP32 – Bài 8: WebSocket – Điều khiển LED realtime từ trình duyệt
  10. 9Lập trình ESP32 – Bài 9: Đọc cảm biến ánh sáng (LDR) và hiển thị realtime qua WebSocket
  11. 10Lập trình ESP32 – Bài 10: Điều khiển Servo SG90 qua Web Server
  12. 11Lập trình ESP32 – Bài 11: Đọc các loại biến trở (Potentiometer / Analog Sensor)
  13. 12Lập trình ESP32 – Bài 12: Đọc cảm biến khoảng cách HC-SR04
  14. 13Lập trình ESP32 – Bài 13: ESP32 – Đọc cảm biến nhiệt độ, độ ẩm DHT11 và hiển thị dữ liệu realtime qua WebSocket
  15. 14Lập trình ESP32 – Bài 14: Hiển thị màn hình TFT (SPI)
  16. 15Lập trình ESP32 – Bài 15: Màn hình OLED SSD1306 (I2C)
  17. 16Lập trình ESP32 – Bài 16: Module SIM 4G A7680C – Gọi điện thoại, in thông tin SIM/Module, trạng thái 4G
  18. 17Lập trình ESP32 – Bài 17: Phát nhạc MP3 với module DFPlayer Mini
  19. 18Lập trình ESP32 – Bài 18: Đọc cảm biến khí gas MQ-2 và hiển thị lên màn hình OLED
  20. 19Lập trình ESP32 – Bài 19: Kết nối MQTT, Publish dữ liệu cảm biến & Subscribe điều khiển thiết bị
Kiến thức

Lập trình ESP32 – Bài 2: Kết nối WiFi và kiểm tra Internet với ESP32

Th10 2025
Lập trình ESP32 – Bài 2: Kết nối WiFi và kiểm tra Internet với ESP32

Hướng dẫn cách kết nối ESP32 với mạng WiFi, kiểm tra trạng thái kết nối Internet và in địa chỉ IP lên Serial Monitor. Áp dụng cho mọi board ESP32 DevKit.

Mục lục

  1. Giới thiệu
  2. Phần cứng cần chuẩn bị
  3. Phần mềm và thư viện
  4. Sơ đồ kết nối
  5. Mã nguồn ví dụ
  6. Giải thích mã
  7. Kết quả khi chạy
  8. Gợi ý mở rộng

1. Giới thiệu

Kết nối WiFi là bước đầu tiên để biến ESP32 trở thành thiết bị IoT thực thụ.

Sau khi thiết lập WiFi thành công, ESP32 có thể gửi dữ liệu cảm biến lên server, MQTT broker, hoặc hiển thị thông tin trên web.

Trong bài này, bạn sẽ học cách:

  • Kết nối ESP32 vào mạng WiFi gia đình.
  • Kiểm tra trạng thái kết nối.
  • In địa chỉ IP lên Serial Monitor.

2. Phần cứng cần chuẩn bị

  • Bo mạch ESP32 DevKit V1 (38 pin)
  • Cáp USB Type-C (hoặc Micro-USB)
  • Máy tính có Internet và cài Arduino IDE

Ghi chú: không cần thêm linh kiện ngoài vì chỉ sử dụng WiFi tích hợp.

3. Phần mềm và thư viện

  • Arduino IDE + thư viện ESP32 (đã cài ở bài 1).
  • Không cần cài thêm thư viện phụ.

4. Sơ đồ kết nối

Ghi chú: ESP32 nhận nguồn trực tiếp qua cổng USB, không cần đấu thêm linh kiện nên không cần sơ đồ kết nối dây.

5. Mã nguồn ví dụ

#include <WiFi.h>

const char *ssid = "YourWiFiName"; // thay bằng tên WiFi của bạn
const char *password = "YourPassword"; // thay bằng mật khẩu WiFi

void setup()
{
    Serial.begin(115200);
    delay(1000);
    Serial.println("Connecting to WiFi...");
    WiFi.begin(ssid, password);
    int retry = 0;

    while (WiFi.status() != WL_CONNECTED && retry < 20)
    {
        delay(500);
        Serial.print(".");
        retry++;
    }

    if (WiFi.status() == WL_CONNECTED)
    {
        Serial.println("\n✅ Connected!");
        Serial.print("IP address: ");
        Serial.println(WiFi.localIP());
    }
    else
    {
        Serial.println("\n❌ Failed to connect WiFi.");
    }
}

void loop()
{

    // kiểm tra trạng thái mỗi 10 giây
    if (WiFi.status() != WL_CONNECTED)
    {
        Serial.println("⚠️ Lost connection. Trying to reconnect...");
        WiFi.reconnect();
    }
    else
    {
        Serial.println("WiFi still connected.");
    }
    delay(10000);
}

6. Giải thích mã

  • WiFi.begin(ssid, password); – khởi động kết nối tới mạng WiFi.
  • WiFi.status() – kiểm tra trạng thái (WL_CONNECTED = đã kết nối).
  • WiFi.localIP() – in địa chỉ IP mà router cấp cho ESP32.
  • WiFi.reconnect() – tự động kết nối lại khi mất WiFi.

7. Kết quả khi chạy

Trên Serial Monitor bạn sẽ thấy:

Connecting to WiFi ………….

 Connected!

IP address: 192.168.1.105

Nếu nhập sai mật khẩu hoặc không có mạng, sẽ báo lỗi “Failed to connect WiFi”.

8. Gợi ý mở rộng

  • Gửi dữ liệu lên web hoặc MQTT sau khi kết nối.
  • Thêm đèn LED báo trạng thái WiFi.
  • Lưu SSID/PASS vào Flash (Preferences).