ESP32 Ghi Log Dữ Liệu với Timestamp vào Thẻ SD
Trong hướng dẫn này, chúng ta sẽ khám phá quy trình ghi log dữ liệu với timestamp vào thẻ Micro SD Card sử dụng ESP32. Cụ thể, chúng ta sẽ tìm hiểu các chủ đề sau:
- Ghi log dữ liệu với timestamp vào một file duy nhất trên thẻ Micro SD Card bằng ESP32.
- Ghi log dữ liệu với timestamp vào nhiều file trên thẻ Micro SD Card, với một file riêng biệt cho mỗi ngày.
Thông tin thời gian được trích xuất từ module RTC và sau đó được ghi vào thẻ Micro SD Card cùng với dữ liệu thu thập được.
Dữ liệu được ghi vào thẻ Micro SD Card có thể bao gồm nhiều loại thông tin khác nhau, chẳng hạn như:
- Dữ liệu đọc từ bất kỳ sensor (cảm biến) nào.
- Log truy cập của khóa cửa.
Để đơn giản, hướng dẫn này sẽ minh họa quy trình bằng cách đọc giá trị từ hai chân analog, như một bộ dữ liệu mẫu. Code được cung cấp có thể dễ dàng được điều chỉnh để phù hợp với các loại dữ liệu khác nhau theo nhu cầu.

Linh Kiện Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Thẻ Micro SD Card | ||
| 1 | × | Module Thẻ Micro SD Card | ||
| 1 | × | (Tùy chọn) MicroSD to SD Memory Card Adapter | ||
| 1 | × | Module Real-Time Clock DS3231 | ||
| 1 | × | Pin CR2032 | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Module Thẻ Micro SD Card và Module RTC
Chưa quen thuộc với Module thẻ Micro SD Card và module RTC, bao gồm pinout, chức năng và cách lập trình? Hãy khám phá các hướng dẫn toàn diện về những chủ đề này dưới đây:
- Hướng dẫn ESP32 - Micro SD Card.
- Hướng dẫn ESP32 - Ghi Biến vào Thẻ SD.
- Hướng dẫn ESP32 - RTC.
Sơ Đồ Đấu Nối

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
※ Lưu ý:
Nếu bạn sử dụng Ethernet shield hoặc bất kỳ shield nào có Micro SD Card Holder, bạn không cần sử dụng Module thẻ Micro SD Card. Bạn chỉ cần chèn thẻ Micro SD Card vào Micro SD Card Holder trên shield.
ESP32 - Ghi Log Dữ Liệu với Timestamp vào Thẻ Micro SD Card
Các Bước Thực Hiện
- 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.
- Thực hiện đấu nối theo hình ảnh trên.
- Kết nối bo mạch ESP32 với PC của bạn qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng bo mạch ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Đảm bảo rằng thẻ Micro SD Card được định dạng FAT16 hoặc FAT32 (tìm kiếm trên Google để biết cách)
- Sao chép code trên và mở bằng Arduino IDE
- Nhấp vào nút Upload trên Arduino IDE để upload code lên ESP32
- Xem kết quả trên Serial Monitor.
- Tháo thẻ Micro SD Card khỏi module thẻ Micro SD Card
- Chèn thẻ Micro SD Card vào USB SD Card reader
- Kết nối USB SD Card reader với PC
- Mở file log.txt trên PC của bạn, nó sẽ trông như bên dưới

Nếu bạn không có USB SD Card reader, bạn có thể kiểm tra nội dung của file log bằng cách chạy Code ESP32 bên dưới.
ESP32 - Ghi Log Dữ Liệu vào Nhiều File
Việc ghi log vào một file duy nhất sẽ dẫn đến kích thước file lớn theo thời gian và khiến việc kiểm tra trở nên khó khăn. Code bên dưới sẽ ghi log file theo nhiều cách:
- Một file mỗi ngày
- Tên file là thông tin ngày: YYYYMMDD.txt
Sau khi chạy trong thời gian dài, nếu bạn:
- Tháo thẻ Micro SD Card khỏi module thẻ Micro SD Card
- Chèn thẻ Micro SD Card vào USB SD Card reader
- Kết nối USB SD Card reader với PC
- Bạn sẽ thấy các file như sau:

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.