AI Hunter
Member
Hôm nay chúng ta sẽ thổi hồn vào con chip vô tri. Nếu bạn làm cho đèn LED trên mạch chớp tắt được, bạn đã thành công 50% chặng đường IoT.
Thay vì dùng Arduino IDE giao diện cổ lỗ sĩ, chúng ta sẽ dùng PlatformIO - một Extension siêu mạnh trên VS Code. Nó hỗ trợ gợi ý code, quản lý thư viện và debug xịn xò.
Khi cắm ESP32 vào máy tính, máy tính cần Driver để hiểu đây là thiết bị gì (cổng COM).
Tùy vào loại mạch bạn mua (giá rẻ hay xịn), nó sẽ dùng chip giao tiếp USB khác nhau:
Cách kiểm tra đã nhận chưa:
*Lưu ý:* Nếu cắm vào mà không thấy gì, hãy đổi sợi cáp USB khác. 90% lỗi là do sợi cáp chỉ sạc được mà không truyền dữ liệu được.
Cấu trúc file trong PlatformIO:
Mở file
Nhìn xuống dưới đáy cửa sổ VS Code, bạn sẽ thấy một thanh công cụ màu xanh dương.
Hành động:
1. Cắm ESP32 vào máy.
2. Bấm Upload (→).
3. Chờ Terminal chạy các dòng chữ trắng/vàng.
4. Nếu thấy dòng "Connecting........____" mà nó cứ chạy mãi không dừng: Hãy nhấn giữ nút BOOT trên mạch ESP32 khoảng 2 giây rồi thả ra.
5. Khi thấy "Success", chúc mừng! Code đã nằm trong chip.
Nhìn vào mạch ESP32:
Bạn vừa thực hiện thành công "Cú bắt tay đầu tiên" với phần cứng.
Con chip này giờ đã nghe lời bạn: Bạn bảo nó sáng là nó sáng, bảo tắt là nó tắt.
Nhưng chớp tắt theo chu kỳ thì chán quá. Một thiết bị IoT phải biết kết nối Internet để nhận lệnh từ xa.
1. Cài đặt Vũ khí (VS Code + PlatformIO)
Thay vì dùng Arduino IDE giao diện cổ lỗ sĩ, chúng ta sẽ dùng PlatformIO - một Extension siêu mạnh trên VS Code. Nó hỗ trợ gợi ý code, quản lý thư viện và debug xịn xò.
- Bước 1: Mở Visual Studio Code (Bạn đã có sẵn từ Season 1).
- Bước 2: Vào mục Extensions (biểu tượng 4 ô vuông bên trái), tìm từ khóa
PlatformIO IDE. - Bước 3: Bấm Install.
- Bước 4: Kiên nhẫn! Lần đầu cài nó sẽ tải Core về khá lâu. Hãy đợi đến khi nó báo "PlatformIO: Intialized" và yêu cầu Reload lại VS Code.
2. Cài đặt Driver (Quan trọng)
Khi cắm ESP32 vào máy tính, máy tính cần Driver để hiểu đây là thiết bị gì (cổng COM).
Tùy vào loại mạch bạn mua (giá rẻ hay xịn), nó sẽ dùng chip giao tiếp USB khác nhau:
- Trường hợp 1 (Phổ biến nhất - Mạch giá rẻ): Chip CH340.
=> Tải driver CH340 và cài đặt. - Trường hợp 2 (Mạch xịn): Chip CP210x.
=> Tải driver CP210x VCP và cài đặt.
Cách kiểm tra đã nhận chưa:
- Windows: Chuột phải This PC -> Manage -> Device Manager -> Ports (COM & LPT). Nếu thấy dòng "USB-SERIAL CH340 (COMx)" là ngon.
- Mac/Linux: Mở Terminal gõ
ls /dev/cu.*. Nếu thấy /dev/cu.usbserial-xxxx là được.
*Lưu ý:* Nếu cắm vào mà không thấy gì, hãy đổi sợi cáp USB khác. 90% lỗi là do sợi cáp chỉ sạc được mà không truyền dữ liệu được.
3. Khởi tạo Project đầu tiên
- Bấm vào biểu tượng Alien (Đầu người ngoài hành tinh) của PlatformIO bên thanh trái.
- Chọn PIO Home -> Open.
- Bấm New Project.
- Điền thông tin:
- Name: Jarvis_Node_1
- Board: Gõ "DOIT ESP32 DEVKIT V1" (Đây là board thông dụng nhất).
- Framework: Arduino.
- Name: Jarvis_Node_1
- Bấm Finish. (Lần đầu tạo project sẽ mất vài phút để tải SDK của ESP32 về).
4. Viết Code Blink (C++)
Cấu trúc file trong PlatformIO:
src/main.cpp: Nơi viết code chính.platformio.ini: Nơi cấu hình thư viện, tốc độ upload...
Mở file
src/main.cpp, xóa hết code cũ và dán đoạn sau vào:
C++:
#include <Arduino.h>
// Chân đèn LED có sẵn trên mạch (thường là GPIO 2)
#define LED_PIN 2
// Hàm setup() chạy 1 lần duy nhất khi khởi động
void setup() {
// Cấu hình chân LED là OUTPUT (Xuất tín hiệu điện)
pinMode(LED_PIN, OUTPUT);
// Bật cổng Serial để giao tiếp với máy tính (tốc độ 115200)
Serial.begin(115200);
Serial.println("Jarvis Hardware Online!");
}
// Hàm loop() chạy lặp lại mãi mãi
void loop() {
Serial.println("Đèn Sáng");
digitalWrite(LED_PIN, HIGH); // Xuất điện 3.3V -> Đèn sáng
delay(1000); // Chờ 1000ms (1 giây)
Serial.println("Đèn Tắt");
digitalWrite(LED_PIN, LOW); // Ngắt điện (0V) -> Đèn tắt
delay(1000); // Chờ 1 giây
}
5. Nạp Code (Flash Firmware)
Nhìn xuống dưới đáy cửa sổ VS Code, bạn sẽ thấy một thanh công cụ màu xanh dương.
- Biểu tượng dấu tích (✓): Build (Biên dịch code kiểm tra lỗi).
- Biểu tượng mũi tên (→): Upload (Nạp code vào mạch).
- Biểu tượng phích cắm (
): Serial Monitor (Xem log từ mạch gửi về).
Hành động:
1. Cắm ESP32 vào máy.
2. Bấm Upload (→).
3. Chờ Terminal chạy các dòng chữ trắng/vàng.
4. Nếu thấy dòng "Connecting........____" mà nó cứ chạy mãi không dừng: Hãy nhấn giữ nút BOOT trên mạch ESP32 khoảng 2 giây rồi thả ra.
5. Khi thấy "Success", chúc mừng! Code đã nằm trong chip.
6. Kết quả
Nhìn vào mạch ESP32:
- Một đèn LED màu xanh dương nhỏ xíu sẽ chớp... tắt... chớp... tắt đều đặn mỗi giây.
- Bấm vào biểu tượng Phích cắm (Serial Monitor) trên VS Code, chỉnh baudrate thành 115200, bạn sẽ thấy dòng chữ:
Mã:Jarvis Hardware Online! Đèn Sáng Đèn Tắt ...
Tổng kết
Bạn vừa thực hiện thành công "Cú bắt tay đầu tiên" với phần cứng.
Con chip này giờ đã nghe lời bạn: Bạn bảo nó sáng là nó sáng, bảo tắt là nó tắt.
Nhưng chớp tắt theo chu kỳ thì chán quá. Một thiết bị IoT phải biết kết nối Internet để nhận lệnh từ xa.
Bài viết liên quan
WiFi & MQTT
bởi AI Hunter,