ESP8266 Thẻ nhớ Micro SD
Hướng dẫn này sẽ chỉ cho bạn cách sử dụng thẻ Micro SD với ESP8266. Cụ thể, chúng ta sẽ tìm hiểu:
- Cách kết nối thẻ nhớ microSD với ESP8266.
- Cách lập trình ESP8266 để mở một tệp tin trên thẻ nhớ microSD và tạo nó nếu nó chưa tồn tại.
- Cách lập trình ESP8266 để ghi dữ liệu vào một tệp tin trên thẻ nhớ microSD.
- Cách lập trình ESP8266 để đọc một tệp tin trên thẻ nhớ microSD theo từng ký tự.
- Cách lập trình ESP8266 để đọc một tệp tin trên thẻ nhớ microSD theo từng dòng.
- Cách lập trình ESP8266 để thêm nội dung vào một tệp tin hiện có trên thẻ nhớ microSD.
- Cách lập trình ESP8266 để ghi đè lên một tệp tin trên thẻ nhớ microSD.

Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | Micro SD Card | ||
| 1 | × | Micro SD Card Module | ||
| 1 | × | dây jumper | ||
| 1 | × | (Tùy chọn) MicroSD to SD Memory Card Adapter | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về mô-đun thẻ nhớ Micro SD
Mô-đun thẻ nhớ Micro SD là một cầu nối giữa ESP8266 và thẻ nhớ Micro SD. Nó có thể thiết lập kết nối với ESP8266 và có thể được dùng để chứa thẻ nhớ Micro SD. Nói cách khác, nó đóng vai trò là cầu nối giữa ESP8266 và thẻ nhớ Micro SD.
Bố trí các chân của mô-đun thẻ nhớ micro SD

Mô-đun thẻ nhớ Micro SD có 6 chân:
- Chân VCC: Nên được kết nối với chân 5V của Arduino.
- Chân GND: Nên được kết nối với GND của Arduino.
- Chân MISO: (Master In Slave Out) Nên được kết nối với chân MISO của Arduino.
- Chân MOSI: (Master Out Slave In) Nên được kết nối với chân MOSI của Arduino.
- Chân SCK: Nên được kết nối với chân SCK của Arduino.
- Chân SS: (Slave Select) Nên được kết nối với chân được chỉ định trong mã ESP8266 là chân SS.
Chuẩn bị
Đảm bảo thẻ Micro SD được định dạng ở FAT16 hoặc FAT32 (bạn có thể tra cứu trực tuyến để biết thêm thông tin).
Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
ESP8266 - Cách mở một tệp trên thẻ nhớ Micro SD và tạo nếu chưa tồn tại
Mã ESP8266
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu tiên bạn sử dụng ESP8266.
- Nối các linh kiện như trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 phù hợp, ví dụ NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
- Lắp thẻ Micro SD vào module Micro SD.
- Kết nối giữa module Micro SD và ESP8266 theo sơ đồ nối dây.
- Kết nối ESP8266 với PC bằng cáp USB.
- Mở Arduino IDE và chọn bo mạch và cổng phù hợp.
- Mở Serial Monitor trong Arduino IDE.
- Sao chép và dán đoạn mã dưới đây vào Arduino IDE.
- Nhấp vào nút Tải lên trên Arduino IDE để biên dịch và tải mã lên ESP8266.
- Trình theo dõi Serial sẽ hiển thị kết quả của lần thực thi đầu tiên.
- Sẽ khác
- Kết quả hiển thị trên Serial Monitor cho các lần chạy tiếp theo sẽ khác biệt.
※ Lưu ý:
Bạn có thể sẽ không thấy đầu ra trên Serial Monitor khi lần đầu tải mã của bạn lên, nếu việc này được thực hiện trước khi mở Serial Monitor.
- Rút thẻ Micro SD khỏi mô-đun.
- Đặt thẻ Micro SD vào đầu đọc thẻ SD USB.
- Cắm đầu đọc thẻ SD USB vào máy tính.
- Kiểm tra xem tập tin có tồn tại hay không.
ESP8266 - Cách ghi và đọc dữ liệu vào và từ một tệp trên thẻ nhớ microSD
Đoạn mã dưới đây:
- Lưu dữ liệu vào một tệp
- Đọc nội dung của tệp từng ký tự và hiển thị nó trên Serial Monitor
- Serial Monitor đã hiển thị nội dung của tệp tin.
※ Lưu ý:
Theo mặc định, dữ liệu sẽ được thêm vào cuối tệp. Nếu bạn khởi động lại ESP8266 với mã ở trên, văn bản sẽ được thêm vào cuối tệp một lần nữa, và Serial Monitor sẽ hiển thị thêm nhiều dòng như thế này:
Bạn có thể tháo thẻ Micro SD khỏi mô-đun và sử dụng đầu đọc thẻ SD USB để xem nội dung của nó trên máy tính của bạn.
ESP8266 - Cách đọc một tệp trên thẻ nhớ Micro SD theo từng dòng
- Đầu ra được hiển thị trên Trình theo dõi nối tiếp.
※ Lưu ý:
Bạn có thể thấy thêm các dòng trên Serial Monitor nếu nội dung của tệp chưa bị xóa trước đó.
ESP8266 - Cách ghi đè một tệp trên thẻ nhớ Micro SD
Theo mặc định, nội dung sẽ được thêm vào cuối tệp. Cách đơn giản nhất để ghi đè lên một tệp là: xóa tệp hiện có và tạo một tệp mới có cùng tên.
- Kết quả được hiển thị trên Serial Monitor.
- Khởi động lại ESP8266
- Xác nhận xem nội dung trong tệp có được thêm vào Trình theo dõi nối tiếp hay không.
Bạn có thể tháo thẻ nhớ Micro SD khỏi mô-đun và xem nội dung của nó trên máy tính của bạn. Cần một đầu đọc thẻ SD USB để thực hiện việc này.
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.