Giao tiếp, IoT và dự án với ESP32: UART, I2C, Modbus, Wi-Fi, MQTT, LoRa

Nhóm bài về cách các thiết bị trao đổi dữ liệu: chuẩn giao tiếp có dây trong điện tử và công nghiệp, kết nối không dây và IoT, và các dự án ghép những phần đó thành một hệ thống hoàn chỉnh.

  • Chuẩn giao tiếp có dây: UART, I2C, SPI, 1-Wire, RS-485, Modbus RTU, Modbus TCP, CAN bus, vòng dòng 4-20 mA.
  • Không dây và IoT: Wi-Fi, web server, MQTT, Bluetooth, BLE, ESP-NOW, LoRa, RF 433 MHz, hồng ngoại, ESP32 với điện thoại và dịch vụ đám mây.
  • Dự án hoàn chỉnh: dự án làm trọn từ cảm biến, sơ đồ nối, chương trình tới hiển thị và gửi dữ liệu.

Thứ tự nên đọc và các nhóm chủ đề khác có ở Góc kỹ thuật.

RS-485 là gì: cặp dây vi sai, điện trở đầu cuối và cách dùng module MAX485 với ESP32
RS-485 là gì: cặp dây vi sai, điện trở đầu cuối và cách dùng module MAX485 với ESP32

Giải thích chuẩn RS-485: tín hiệu vi sai trên hai dây A, B, điện trở đầu cuối 120 Ω, truyền bán song công với chân DE, RE. Kèm sơ đồ nối module MAX485 và chương trình hỏi đáp giữa hai mạch ESP32.

Tự thiết kế khung tin trên UART: byte bắt đầu, độ dài, CRC và thời gian chờ
Tự thiết kế khung tin trên UART: byte bắt đầu, độ dài, CRC và thời gian chờ

Hướng dẫn thiết kế một khung tin trên UART gồm byte bắt đầu, độ dài, loại, dữ liệu và CRC-16, cùng bộ nhận dạng máy trạng thái trên ESP32 biết bỏ khung hỏng và tự hồi phục khi mất đồng bộ.

Kiểm tra lỗi truyền dữ liệu: bit chẵn lẻ, checksum và CRC-16 của Modbus
Kiểm tra lỗi truyền dữ liệu: bit chẵn lẻ, checksum và CRC-16 của Modbus

So sánh bốn cách phát hiện lỗi truyền dữ liệu: bit chẵn lẻ, tổng kiểm tra, XOR và CRC. Giải thích từng bước thuật toán CRC-16 của Modbus và chương trình ESP32 cho thấy mã nào phát hiện được lỗi nào.

Mức logic 3,3 V và 5 V: khi nào cần chuyển mức và cách nối an toàn với ESP32
Mức logic 3,3 V và 5 V: khi nào cần chuyển mức và cách nối an toàn với ESP32

Giải thích mức logic 3,3 V và 5 V: ngưỡng mức thấp, mức cao của ESP32, Arduino và các họ IC; khi nào nối thẳng được, khi nào cần mạch chia áp hoặc mạch chuyển mức MOSFET. Kèm chương trình đo kiểm tra.

1-Wire là gì: khe thời gian, mã ROM và cách đọc DS18B20 bằng ESP32
1-Wire là gì: khe thời gian, mã ROM và cách đọc DS18B20 bằng ESP32

Giải thích giao tiếp 1-Wire: một dây dữ liệu, điện trở kéo lên, bốn kiểu khe thời gian, mã ROM 64 bit và CRC. Kèm hai chương trình ESP32 tự viết giao thức để đọc mã ROM và nhiệt độ DS18B20.

SPI là gì: MOSI, MISO, SCK, CS, bốn chế độ và cách dùng trên ESP32
SPI là gì: MOSI, MISO, SCK, CS, bốn chế độ và cách dùng trên ESP32

Giải thích giao tiếp SPI: bốn dây MOSI, MISO, SCK, CS, truyền hai chiều cùng lúc và bốn chế độ clock. Kèm hai chương trình ESP32: tự gửi tự nhận để kiểm tra bus và gửi lệnh thô cho thẻ nhớ.

I2C là gì: START, STOP, địa chỉ, ACK và cách đọc ghi thanh ghi trên ESP32
I2C là gì: START, STOP, địa chỉ, ACK và cách đọc ghi thanh ghi trên ESP32

Giải thích giao tiếp I2C ở mức từng bit: hai dây SDA, SCL, điện trở kéo lên, START, địa chỉ, ACK, STOP. Kèm hai chương trình ESP32: tự tạo tín hiệu I2C bằng GPIO và đọc ghi thanh ghi bằng Wire.

UART là gì: khung truyền, tốc độ baud và cách dùng Serial2 trên ESP32
UART là gì: khung truyền, tốc độ baud và cách dùng Serial2 trên ESP32

Giải thích giao tiếp UART: khung truyền 8N1, tốc độ baud, nối chéo TX với RX. Hướng dẫn dùng Serial2 của ESP32 để tự gửi tự nhận và để hai mạch trao đổi từng dòng lệnh.

Tổng quan các chuẩn giao tiếp cho vi điều khiển: UART, I2C, SPI, RS-485, CAN và cách chọn
Tổng quan các chuẩn giao tiếp cho vi điều khiển: UART, I2C, SPI, RS-485, CAN và cách chọn

So sánh các chuẩn giao tiếp thường gặp với vi điều khiển: UART, I2C, SPI, 1-Wire, RS-485, CAN, Ethernet và không dây. Giải thích tín hiệu vi sai, ba lớp của một hệ giao tiếp và cách chọn chuẩn theo nhu cầu.

Làm gateway LoRa sang MQTT bằng ESP32: node cảm biến chạy pin gửi dữ liệu về broker
Làm gateway LoRa sang MQTT bằng ESP32: node cảm biến chạy pin gửi dữ liệu về broker

Hướng dẫn làm hệ thống LoRa hoàn chỉnh với ESP32 và SX1278: node chạy pin đo điện áp, gửi gói rồi ngủ sâu; gateway nhận gói LoRa và publish dữ liệu JSON lên broker MQTT qua Wi-Fi.

Cấu hình LoRa trên ESP32: SF, băng thông, tỉ lệ mã, công suất và cách thử tầm xa
Cấu hình LoRa trên ESP32: SF, băng thông, tỉ lệ mã, công suất và cách thử tầm xa

Giải thích bốn tham số cấu hình LoRa (SF, băng thông, tỉ lệ mã, công suất), cách tính thời gian phát một gói và hướng dẫn làm bộ thử tầm xa bằng ESP32, SX1278 và màn hình OLED.

Hướng dẫn dùng LoRa SX1278 (Ra-02) với ESP32: nối dây SPI, gửi và nhận gói tin đầu tiên
Hướng dẫn dùng LoRa SX1278 (Ra-02) với ESP32: nối dây SPI, gửi và nhận gói tin đầu tiên

Hướng dẫn nối module LoRa SX1278 Ra-02 433 MHz với ESP32 qua SPI, cài thư viện LoRa trên Arduino IDE, viết chương trình gửi và nhận gói tin, đọc RSSI, SNR và xử lý lỗi thường gặp.


Hiển thị 37 - 48 / 57 kết quả

Đã thêm vào giỏ hàng