ESP8266 RS422
Trong hướng dẫn này, chúng ta sẽ đi sâu vào cách thiết lập giao tiếp RS422 với ESP8266. Chúng ta sẽ đi qua các bước sau một cách chi tiết:
- Kết nối ESP8266 với mô-đun TTL sang RS422.
- Lập trình ESP8266 để nhận dữ liệu từ mô-đun TTL sang RS422.
- Lập trình ESP8266 để gửi dữ liệu đến mô-đun TTL sang RS422.
- Giao tiếp dữ liệu giữa máy tính của bạn và ESP8266 thông qua RS422 hai chiều.
Hướng dẫn cũng cung cấp chỉ dẫn cho cả Hardware 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 RS422 Module | ||
| 1 | × | dây jumper | ||
| 1 | × | (Tùy chọn) RS422 to USB 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-422
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ẽ phát 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 chúng xử lý có phạm vi giới hạn. Do đó, để 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 RS-232, RS-422 hoặc RS-485.
Trong hướng dẫn này, chúng ta sẽ đi sâu vào việc sử dụng RS422 (hay còn gọi là RS-422) với ESP8266 bằng cách dùng một mô-đun TTL sang RS422. Mô-đun này cho phép chuyển đổi tín hiệu TTL thành tín hiệu RS422 và ngược lại.
Bố trí chân
Mô-đun RS422 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 nối với VCC (5V, hoặc 3.3V)
- Chân GND: chân nguồn, cần được nối với GND (0V)
- Chân RXD: chân dữ liệu, cần được nối với chân TX của ESP8266
- Chân TXD: chân dữ liệu, cần được nối với chân RX của ESP8266
- Giao diện RS422 gồm các chân sau:
- Chân A (R+): chân RX+ của module, kết nối chân này với chân TX+ (T+ hoặc chân Y) của thiết bị RS422 khác.
- Chân B (R-): chân RX- của module, kết nối chân này với chân TX- (T- hoặc chân Z) của thiết bị RS422 khác.
- Chân Y (T+): chân TX+ của module, kết nối chân này với chân RX+ (R+ hoặc chân A) của thiết bị RS422 khác.
- Chân Z (T-): chân TX- của module, kết nối chân này với chân RX- (R- hoặc chân B) của thiết bị RS422 khác.

Sơ đồ đấu dây
- Sơ đồ nối dây khi sử dụng giao tiếp nối tiếp 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ơ đồ đấu dây khi sử dụng serial 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 RS422
Để 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 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ừ RS422, bạn có thể sử dụng các hàm sau:
- Để ghi dữ liệu vào RS422, bạn có thể sử dụng các hàm sau:
- Và nhiều hàm khác để sử dụng với RS422 trong Tài liệu tham khảo Serial
Mã ESP8266 cho Serial phần cứng
Mã ESP8266 cho Software Serial
Kiểm thử
Bạn có thể thực hiện một bài kiểm tra bằng cách gửi dữ liệu từ PC của bạn tới ESP8266 qua RS-422 và ngược lại. Để thực hiện điều này, hãy làm theo các bước dưới đây:
- Kết nối ESP8266 với PC của bạn bằng cáp RS422-to-USB như bên dưới:

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