ESP8266 RS-485
Trong bài hướng dẫn này, chúng ta sẽ khám phá cách triển khai giao tiếp RS485 với ESP8266. Cụ thể, chúng ta sẽ đề cập chi tiết các khía cạnh sau:
- Thiết lập kết nối giữa ESP8266 và mô-đun TTL sang RS485.
- Lập trình ESP8266 để nhận dữ liệu từ mô-đun TTL sang RS485.
- Lập trình ESP8266 để truyền dữ liệu tới mô-đun TTL sang RS485.
- Gửi dữ liệu từ máy tính của bạn tới ESP8266 qua RS485, và ngược lại.
Hướng dẫn cũng cung cấp các chỉ dẫn cho cả phần cứng Serial và SoftwareSerial.
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 | × | TTL to RS485 Module | ||
| 1 | × | dây jumper | ||
| 1 | × | (Tùy chọn) USB to RS485 Converter | ||
| 1 | × | (Tùy chọn) USB to RS485 Cable | ||
| 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 TTL sang RS-485
Khi sử dụng giao tiếp nối tiếp trên ESP8266 thông qua các hàm như Serial.print(), Serial.read(), và Serial.write(), ESP8266 sẽ truyền dữ liệu qua chân TX và nhận dữ liệu qua chân RX. Các chân này hoạt động ở mức TTL, có nghĩa là tín hiệu mà chúng xử lý có phạm vi giới hạn. Do đó, đối với giao tiếp nối tiếp ở khoảng cách xa hơn, cần chuyển đổi tín hiệu TTL sang các chuẩn tín hiệu RS232, RS485 hoặc RS422.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng RS-485 với ESP8266 bằng một module TTL sang RS-485. Module này hỗ trợ chuyển đổi tín hiệu TTL sang tín hiệu RS-485 và ngược lại.
Bố trí chân
Mô-đun RS485 sang TTL có hai giao diện:
- Giao diện TTL (kết nối với ESP8266) bao gồm 4 chân
- Chân VCC: chân nguồn, cần được kết nối với VCC (5V, hoặc 3.3V)
- Chân GND: chân nguồn, cần được kết nối với GND (0V)
- Chân RXD: chân dữ liệu, cần được kết nối với một chân TX của ESP8266
- Chân TXD: chân dữ liệu, cần được kết nối với một chân RX của ESP8266
- Giao diện RS485 gồm các chân sau:
- Chân D+ (A hoặc TR+): Chân này hỗ trợ truyền nhận dữ liệu.
- Chân D- (B hoặc TR-): Chân này dùng cho truyền dữ liệu.
- Chân GND: Mặc dù tùy chọn, nhưng nên bổ sung chân này để giảm nhiễu, đảm bảo hiệu suất tối ưu.

Sơ đồ đấu dây
- Sơ đồ nối dây nếu sử dụng serial phần cứng

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.
- Sơ đồ nối dây nếu sử dụng giao tiếp nối tiếp bằng phần mềm

This image is created using Fritzing. Click to enlarge image
Cách lập trình ESP8266 để sử dụng mô-đun RS485
Để 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.
- Khởi tạo giao diện Serial:
- Nếu bạn sử dụng SoftwareSerial, bạn cần bao gồm thư viện và khai báo một đối tượng SoftwareSerial:
- Để đọc dữ liệu từ RS485, bạn có thể sử dụng các hàm sau:
- Để ghi dữ liệu tới RS485, bạn có thể sử dụng các hàm sau:
- Và nhiều hàm khác có thể sử dụng với RS485 trong Tham khảo Serial
ESP8266 Mã cho Serial phần cứng
Mã ESP8266 cho Serial phần mềm
Kiểm tra
Bạn có thể thử nghiệm bằng cách gửi dữ liệu từ PC của bạn đến ESP8266 qua RS-485 và ngược lại. Để thực hiện, hãy làm theo các bước dưới đây:
- Kết nối ESP8266 với PC của bạn qua cáp RS485-to-USB như dưới đây:

- Mở chương trình Terminal nối tiếp và cấu hình các tham số nối tiếp (cổng COM, tốc độ baud...)
- Nhập dữ liệu vào Terminal nối tiếp để gửi tới ESP8266.
- Nếu thành công, bạn sẽ thấy dữ liệu echo trên Terminal nối tiếp.
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.