Bỏ qua tới nội dung
LSLab

Tổng quan: Firmware và kết nối mạng IoT

  • Khởi động
  • Bài viết
  • Từ 10 tuổi
  • 4 phút đọc
Bo mạch vi điều khiển nối qua cáp USB với laptop, router không dây ở phía sau.

Firmware là chương trình được xây dựng rồi nạp lên bo của thiết bị IoT. Trong sketch Arduino, setup() chạy một lần và loop() lặp liên tục; framework firmware khác có thể dùng cấu trúc khác. Để gửi dữ liệu lên mạng, thiết bị có thể dùng một giao thức nhẹ như MQTT, và NIST có hướng dẫn cho nhà sản xuất.

Mục lục
Chương trình trên bo gửi dữ liệu qua mạng.
  • Bo chạy firmware
  • Máy chủ trên mạng

Bạn sẽ học được gì

  • Nêu được firmware được xây dựng và nạp như thế nào.
  • Hiểu vòng setup() và loop().
  • Kể được vì sao MQTT hợp với thiết bị IoT.

Cần biết trước

Nên biết bo ESP32 hoặc Arduino là gì.

Firmware được xây dựng và nạp như thế nào?

ESP-IDF là bộ khung phát triển chính thức cho các dòng chip ESP32. Một ví dụ đơn giản cho thấy cách xây dựng và nạp firmware lên bo ESP32.

Mã được xây dựng trên máy tính rồi nạp lên bo.
  • Máy tính có ESP-IDF
  • Firmware đã xây dựng
  • Bo ESP32

setup() và loop() chạy ra sao?

Hàm setup() chạy một lần khi sketch chạy. Hàm loop() lặp lại liên tục.

Phần chuẩn bị chạy một lần, phần chính lặp mãi.
  • setup() chạy một lần
  • loop() chạy
  • Quay lại loop()

MQTT đưa dữ liệu lên mạng thế nào?

MQTT là giao thức truyền tải bản tin kiểu xuất bản và đăng ký, theo mô hình máy khách và máy chủ. MQTT nhẹ, mở, đơn giản và được thiết kế để dễ triển khai. Ở mức QoS 2, bản tin được chuyển giao đúng một lần trong trao đổi giao thức; điều này không tự bảo đảm ứng dụng xử lý dữ liệu đúng một lần từ đầu đến cuối.

Về bảo mật, NIST công bố hướng dẫn cho nhà sản xuất và các bên hỗ trợ khi tạo thiết bị và sản phẩm IoT.

Thiết bị xuất bản, máy chủ chuyển cho bên đăng ký; hướng dẫn bảo mật đi kèm.
  • Thiết bị xuất bản
  • Máy chủ MQTT
  • Bên đăng ký
  • Hướng dẫn bảo mật

Ví dụ trong đời sống

Hãy cùng người lớn nghĩ về một cảm biến độ ẩm đất. Trong ví dụ giả định này, sketch Arduino đọc cảm biến trong loop(), rồi gửi số đo qua MQTT để một ứng dụng hiển thị.

Hiểu lầm thường gặp

Firmware nào cũng dùng setup() và loop(). Hai hàm này mô tả cấu trúc sketch Arduino; framework khác như ESP-IDF có cấu trúc chương trình riêng.

MQTT là giao thức nặng, khó dùng cho thiết bị nhỏ. MQTT nhẹ, mở, đơn giản và được thiết kế để dễ triển khai.

Câu hỏi thường gặp

ESP-IDF là gì?

Là bộ khung phát triển chính thức cho các dòng chip ESP32.

setup() và loop() khác nhau thế nào?

setup() chạy một lần, còn loop() lặp lại liên tục.

MQTT là gì?

Là giao thức truyền tải bản tin kiểu xuất bản và đăng ký.

Ai công bố hướng dẫn bảo mật cho thiết bị IoT?

NIST công bố hướng dẫn cho nhà sản xuất và các bên hỗ trợ.

Tóm tắt

Thuật ngữ trong bài

Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.

Firmware
Chương trình được xây dựng rồi nạp lên bo của thiết bị.
ESP-IDF
Bộ khung phát triển chính thức của Espressif cho chip ESP32.
setup() và loop()setup() and loop()
Hai hàm của sketch Arduino: một hàm chạy một lần, một hàm lặp liên tục.
MQTT
Giao thức truyền tải bản tin nhẹ theo kiểu xuất bản và đăng ký.
Chất lượng dịch vụQuality of service
Các mức chuyển giao bản tin của MQTT: QoS 0 tối đa một lần, QoS 1 ít nhất một lần, QoS 2 đúng một lần ở cấp giao thức.

Bài này chưa được đánh dấu là đã xem

Thấy nội dung sai hoặc chưa an toàn?

Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.

Báo lỗi bài này
Xem tất cả bài của chủ đề

Nguồn

Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.