Giao thức cấu hình cài đặt thiết bị IoT


9

MQTT được sử dụng rộng rãi trong IoT khi trao đổi dữ liệu ứng dụng giữa thiết bị cuối và dịch vụ máy chủ. Mô hình đăng ký xuất bản giúp dễ sử dụng: không bắt tay, đàm phán, v.v. (ít nhất là trên lớp giao thức MQTT). Nó chủ yếu hướng đến các nhà sản xuất dữ liệu có thể phân phối dữ liệu của họ một cách dễ dàng đến người tiêu dùng.

Tuy nhiên, khi nói đến một máy chủ trung tâm muốn định cấu hình cài đặt trên thiết bị cuối, tôi không chắc rằng model đó rất phù hợp. Máy chủ sẽ muốn gửi lệnh đến thiết bị và đợi phản hồi trở lại (ví dụ: đọc một cài đặt cụ thể, chờ phản hồi), điều này không thực sự phù hợp với mô hình đăng ký xuất bản của MQTT.

Tôi đã tự hỏi liệu có bất kỳ giao thức hiện có nào hướng đến gửi và nhận lệnh và cấu hình các thiết bị từ xa không?


1
Bạn có chắc chắn MQTT không cho phép khách hàng đăng ký kênh điều khiển không? Tôi nghĩ rằng đây là nơi để bắt đầu tìm kiếm câu trả lời, nhưng tôi không đủ tốc độ để tóm tắt trong câu trả lời en.wikipedia.org/wiki/Repftimeation_state_transfer
Sean Houlihane

1
Đừng quên, điểm cuối cần phải là điểm khởi đầu kênh, vì vậy nó kiểm soát mức tiêu thụ điện năng.
Sean Houlihane

1
@SeanHoulihane Chắc chắn có thể sử dụng MQTT để gửi và nhận lệnh / cài đặt như bạn mô tả, nhưng theo cách tôi thấy, lý tưởng là bạn cần có một giao thức "dựa trên phiên", tức là bạn tạo phiên, gửi lệnh và nhận được phản hồi trong cùng phiên đó, do đó dễ dàng liên kết phản hồi với lệnh ban đầu. MQTT dựa trên tin nhắn, vì vậy không có gì để liên kết các tin nhắn với nhau - tùy thuộc vào bạn để xử lý phần đó. Tôi đã tự hỏi liệu có một giao thức có sẵn mà tôi có thể sử dụng cho mục đích đó không.
Amr Bekhit

1
vi.wikipedia.org/wiki/OMA_LWM2M Tôi không chắc chính xác bằng cách nào, nhưng đám mây dường như có thể thực hiện các cuộc gọi PUT hoặc POST để kích hoạt cuộc gọi lại trong máy khách.
Sean Houlihane

MQTTv5 có các trường tiêu đề để đánh dấu một tin nhắn là một phản hồi cho tin nhắn trước đó.
hardillb 15/03/19

Câu trả lời:


6

Nghe có vẻ như một công việc cho CoAP :

Giống như HTTP, CoAP dựa trên mô hình REST cực kỳ thành công: Máy chủ cung cấp tài nguyên theo URL và khách hàng truy cập các tài nguyên này bằng các phương thức như GET, PUT, POST và DELETE.

Từ quan điểm của nhà phát triển, CoAP cảm thấy rất giống HTTP. Lấy giá trị từ cảm biến không khác nhiều so với lấy giá trị từ API Web.

Nó rõ ràng có thể được thực hiện với chi phí rất thấp:

CoAP đã được thiết kế để hoạt động trên các bộ vi điều khiển với mức thấp nhất là 10 KiB RAM và 100 KiB không gian mã

CoAP được chỉ định trong RFC 7252 và có nhiều cách triển khai khác nhau (ví dụ như trong C ).

Nó được lấy cảm hứng rất nhiều từ REST khi được sử dụng với HTTP cho API web, vì vậy nếu bạn quen thuộc với các API đó, bạn sẽ nhanh chóng chọn CoAP. Nếu không, bạn có thể thấy bản trình bày này hữu ích cho bối cảnh. Ý tưởng là mỗi phương pháp HTTP có một ý nghĩa ngữ nghĩa, ví dụ như GETyêu cầu thông tin từ các thiết bị mà không thay đổi bất cứ điều gì và POST, PUTDELETEđột biến dữ liệu.

Như bạn nói, các mô hình xuất bản / đăng ký sẽ không hoạt động trong trường hợp thiết bị của bạn hoạt động như một 'máy chủ' cho hệ thống trung tâm điều phối (hoạt động như một máy khách cho mỗi thiết bị). Thay vào đó, một mô hình tương tự HTTP là lý tưởng, ngoại trừ HTTP có quá nhiều chi phí, đó là nơi CoAP xuất hiện.


0

Tôi đã tự hỏi liệu có bất kỳ giao thức hiện có nào hướng đến gửi và nhận lệnh và cấu hình các thiết bị từ xa không?

Vâng, có một giao thức tốt hơn để quản lý thiết bị trong IoT. Đó là LwM2M - Nó hiệu quả hơn nhiều so với MQTT và cao hơn COAP, MQTT và HTTP.

LwM2M đi kèm với mô hình quản lý thiết bị và dữ liệu được xác định rõ ràng, cung cấp nhiều đối tượng tiêu chuẩn sẵn sàng sử dụng (IPSO Smart Object), giám sát kết nối, hành động của thiết bị từ xa và cập nhật FOTA và SOTA có cấu trúc, trong khi trong MQTT các tính năng này hoàn toàn nhà cung cấp và nền tảng cụ thể. Điều tiếp theo là với MQTT, các bản cập nhật firmware hoặc bất kỳ tính năng quản lý nào khác phải được tạo từ đầu. Ngược lại, LwM2M cung cấp các bản nâng cấp firmware như một trong những chức năng cơ bản của nó, do đó không cần phải phát minh ra bất kỳ khối xây dựng mới nào để liên lạc.

Ở đây bạn có so sánh MQTT vs LwM2M và toàn bộ khóa học sự cố.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.