ESP32 Serial Monitor

Hướng dẫn này sẽ chỉ bạn cách sử dụng Serial Monitor trên Arduino IDE với ESP32

Thiết Bị Cần Thiết

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow Amazon
1×Alternatively, 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide Amazon
1×Alternatively, 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide Amazon
1×Alternatively, ESP32 Uno-form board Amazon
1×Alternatively, ESP32 S3 Uno-form board Amazon
1×Cáp USB Type-C Amazon
1×(Tùy chọn) DC Power Jack Amazon
1×breadboard Amazon
1×Dây Jumper Amazon
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP32 Amazon
1×(Khuyến nghị) Breakout Expansion Board for ESP32 Amazon
1×(Khuyến nghị) Power Splitter for ESP32 Amazon

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included) Amazon
1×DIYables Sensor Kit (18 sensors/displays) Amazon
Tiết lộ: Một số liên kết trong bài viết này là liên kết tiếp thị Amazon và có thể nhận hoa hồng theo chính sách của chương trình.

Về Serial Monitor

Khi bạn lập trình cho ESP32, bạn cần có một cách để biết code ESP32 chạy như thế nào ⇒ sử dụng công cụ Serial Monitor trong Arduino IDE. Nó được thiết kế cho hai mục đích:

  • ESP32 → PC: Code của bạn trên ESP32 gửi dữ liệu qua Serial. Serial Monitor trên PC nhận dữ liệu và hiển thị. Điều này rất hữu ích cho việc debug và giám sát
  • PC → ESP32: Bạn gõ dữ liệu và gửi từ PC đến ESP32. Điều này hữu ích để gửi lệnh từ PC của bạn đến ESP32

Bạn cần một cáp micro USB giữa PC và ESP32. Cáp này cũng được sử dụng để upload code lên ESP32.

Cách Sử Dụng Serial Monitor

Mở Serial Monitor

Bạn chỉ cần click vào biểu tượng trên Arduino IDE như hình bên dưới:

how to open serial monitor on Arduino ide

Các Thành Phần trên Serial Monitor

Serial Monitor bao gồm 8 thành phần

  1. Output console (Bảng điều khiển xuất): thành phần này hiển thị dữ liệu nhận được từ ESP32.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Checkbox Autoscroll (Tự động cuộn): thành phần này cung cấp tùy chọn để bật/tắt tự động cuộn trên output console.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Checkbox Show timestamp (Hiển thị thời gian): thành phần này cung cấp tùy chọn để thêm timestamp trước dữ liệu.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Nút Clear output (Xóa xuất): Khi nút này được nhấp, văn bản trên output console sẽ được xóa.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Lựa chọn Baud rate: thành phần này cung cấp tùy chọn để chọn tốc độ giao tiếp (baud rate) giữa PC và ESP32. Giá trị này PHẢI giống với giá trị được sử dụng trong code ESP32 (trong hàm Serial.begin()).
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Textbox (Hộp văn bản): thành phần này cho phép bạn gõ các ký tự sẽ được gửi đến bo mạch ESP32 khi bạn nhấp nút Send
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. Lựa chọn Ending (Ký tự kết thúc): thành phần này cung cấp tùy chọn để chọn các ký tự kết thúc được thêm vào dữ liệu gửi đến ESP32. Các tùy chọn có sẵn bao gồm:
    • No line ending: không thêm gì
    • Newline: thêm ký tự xuống dòng (LF, hoặc '\n')
    • Carriage return: thêm ký tự về đầu dòng (CR, hoặc '\r')
    • Both NL and CR: thêm cả ký tự xuống dòng và về đầu dòng
    Newbiely | Arduino IDE 2.3.8
    ──
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2
    1. Nút Send (Gửi): khi nút này được nhấp, Serial Monitor sẽ gửi dữ liệu trong Textbox cộng với các ký tự kết thúc đến ESP32
    Newbiely | Arduino IDE 2.3.8
    ──
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2

ESP32 Đến PC

Cách gửi dữ liệu từ bo mạch ESP32 đến PC:

  • Đặt baud rate và khởi tạo cổng Serial bằng cách sử dụng hàm Serial.begin()
Serial.begin(baudrate);
  • Gửi dữ liệu đến Serial Monitor bằng một trong các hàm sau:
  • Ví dụ, gửi "Hello World!" đến Serial Monitor

    Serial.println("Hello World!");

    Ví Dụ Sử Dụng

    Code ví dụ bên dưới gửi "newbiely.com" từ ESP32 đến Serial Monitor mỗi giây

    /* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp32/esp32-serial-monitor */ void setup() { Serial.begin(9600); } void loop() { Serial.println("newbiely.com"); delay(1000); }

    Các Bước Nhanh

    • Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
    • Copy code trên và paste vào Arduino IDE.
    • Biên dịch và upload code lên bo mạch ESP32 bằng cách nhấp nút Upload trên Arduino IDE
    • Mở Serial Monitor trên Arduino IDE
    • Chọn baurate 9600
    • Xem kết quả trên Serial Monitor
    Newbiely | Arduino IDE 2.3.8
    ──
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    newbiely.com newbiely.com newbiely.com newbiely.com
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2
    • Thử thay đổi hàm Serial.println() thành hàm Serial.print()

PC Đến ESP32

Cách gửi dữ liệu từ PC đến ESP32

  • Trên PC:
    • Gõ text trên Serial Monitor
    • Nhấp nút Send.

    Sau đó bạn viết code ESP32 để đọc dữ liệu và xử lý:

    • Đặt baud rate và bắt đầu cổng Serial
    Serial.begin(baudrate);
    • Kiểm tra xem có dữ liệu đến hay không
    if(Serial.available()) { // TODO }
    • Đọc dữ liệu từ cổng Serial bằng một trong các hàm sau:
    • Ví dụ:

      String data = Serial.readStringUntil("\r\n");

      Ví Dụ Sử Dụng

      Code ví dụ ESP32 bên dưới đọc lệnh từ Serial để bật/tắt LED tích hợp.

      • Nếu text nhận được (lệnh) là "ON", bật LED
      • Nếu text nhận được (lệnh) là "OFF": tắt LED
      Làm thế nào ESP32 có thể nhận biết một lệnh? Ví dụ, khi chúng ta gửi các ký tự "OFF", làm thế nào ESP32 có thể phân biệt lệnh là "O", "OF" hay "OFF"?

      ⇒ Chúng ta cần gửi một ký tự kết thúc cùng với lệnh ⇒ chúng ta có thể thêm ký tự xuống dòng ('\n'). Để thêm ký tự xuống dòng, chọn tùy chọn "newline" trên Serial Monitor trước khi gửi dữ liệu. ESP32 sẽ đọc dữ liệu cho đến ký tự xuống dòng. Trong trường hợp này, ký tự xuống dòng được gọi là terminator hoặc delimiter.

      /* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp32/esp32-serial-monitor */ void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); // set the digital pin as output: } void loop() { if (Serial.available()) { // if there is data comming String command = Serial.readStringUntil('\n'); // read string until newline character if (command == "ON") { digitalWrite(LED_BUILTIN, HIGH); // turn on LED Serial.println("Turn LED ON"); } else if (command == "OFF") { digitalWrite(LED_BUILTIN, LOW); // turn off LED Serial.println("Turn LED OFF"); } } }

      Các Bước Nhanh

      • Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
      • Copy code trên và paste vào Arduino IDE.
      • Biên dịch và upload code lên bo mạch ESP32 bằng cách nhấp nút Upload trên Arduino IDE
      • Mở Serial Monitor trên Arduino IDE
      • Chọn baurate 9600 và tùy chọn newline
      • "ON" hoặc "OFF" và nhấp nút Send
      Newbiely | Arduino IDE 2.3.8
      ──
      File
      Edit
      Sketch
      Tools
      Help
      ESP32 Dev Module
      Newbiely.ino
      ···
      8 Serial.println("Hello World!");
      Output
      Serial Monitor
      Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
      New Line
      9600 baud
      Ln 11, Col 1
      ESP32 Dev Module on COM15
      2
      • Xem trạng thái LED tích hợp trên bo mạch ESP32. Chúng ta sẽ thấy trạng thái LED là ON hoặc OFF tương ứng.
      • Chúng ta cũng thấy trạng thái LED trên Serial Monitor
      Newbiely | Arduino IDE 2.3.8
      ──
      File
      Edit
      Sketch
      Tools
      Help
      ESP32 Dev Module
      Newbiely.ino
      ···
      8 Serial.println("Hello World!");
      Output
      Serial Monitor
      Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
      New Line
      9600 baud
      Turn LED ON
      Ln 11, Col 1
      ESP32 Dev Module on COM15
      2
      • Gõ lệnh "ON" hoặc "OFF" nhiều lần.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Bình Luận