Có các chủ đề MQTT tiêu chuẩn?


7

Tôi chưa quen với MQTT (và tự động hóa gia đình nói chung, tôi nhiều hơn trong các hệ thống và nhà phát triển), đã bật công tắc WiFi (Sonoff Basic), kết nối nó với một phiên bản của Mosquitto và Trợ lý gia đình và cho đến nay mọi thứ đều hoạt động tốt.

Khi theo dõi xe buýt Mosquitto, tôi thấy tất cả các loại tin nhắn, chẳng hạn như

tele/hass1/LWT Online
tele/home/room1/switch1/LWT Online
cmnd/home/room1/switch1/POWER OFF

Tôi nhận ra home/room1/switch1cái mà tôi đã xác định trên công tắc WiFi của mình và sau đó công tắc đã gửi một số chủ đề có tiền tố cmnd(lệnh? Điều đó sẽ gây ngạc nhiên khi không ai thao túng công tắc) và tele(đo từ xa?). tele/hass1/...được tạo bởi Home Assistant.

Có bất kỳ tiêu chuẩn hoặc thực tiễn thường được chấp nhận cho các tiền tố?

Tài liệu MQTT giải thích cách các chủ đề được định dạng nhưng không giới thiệu bất kỳ cấu trúc nào (ngoại trừ các chủ đề bắt đầu bằng $) vì vậy tôi đoán rằng, trong trường hợp tốt nhất, nó sẽ là một cách thực hành tốt nhất (hoặc thực hành dừng hoàn toàn).


1
Bạn ghi điểm vì không bắt đầu chủ đề của mình bằng cách dẫn đầu /, điều này thật sai lầm vì nó thêm một phân đoạn null vào cây chủ đề không cần thiết và khiến việc sử dụng ký tự đại diện đúng cách hơi khó khăn hơn một chút.
hardillb 16/03/18

Câu trả lời:


7

Nói chung, không - không có bất kỳ tiêu chuẩn nào cho việc đặt tên chủ đề ngoài các thông số kỹ thuật MQTT .

rất nhiều ý kiến về cách bạn nên xây dựng các chủ đề MQTT của mình và không có nhiều quy tắc cố định . Mặc dù điều này hơi đáng lo ngại khi bạn muốn biết chính xác thực tiễn tốt nhất là gì, nhưng việc thiếu các quy tắc nghiêm ngặt có nghĩa là bạn có được sự linh hoạt với một nhà môi giới MQTT.

Khi bạn đang sử dụng Trợ lý tại nhà, điều này sẽ thu hẹp mọi thứ một chút, nhưng cụ thể hơn, các chủ đề bạn đang xem là dành riêng cho công tắc Sonoff của bạn. API được mô tả trong wiki này :

  • Tin nhắn : cmnd

    • Phát hành bởi : thiết bị hiển thị ở phía bên tay phải

    • Ý định : điều khiển Sonoff; thiết lập cấu hình; hỏi tình trạng

  • Tin nhắn : stat

    • Phát hành bởi : Sonoffs ở phía bên tay trái

    • Ý định : báo cáo lại trạng thái hoặc thông báo cấu hình

  • Tin nhắn : tele

    • Phát hành bởi : một số Sonoffs (như thiết bị đo nhiệt độ)

    • Ý định : báo cáo thông tin từ xa không được yêu cầu trong khoảng thời gian định kỳ

Sơ đồ được đề cập ở đây , mặc dù nó được xem tốt nhất trong trang wiki được liên kết ở trên.

Nói chung , bất kỳ hệ thống phân cấp được sử dụng sẽ được nhà sản xuất hoặc hệ thống cụ thể; Các thiết bị Sonoff thường sẽ tuân theo cấu trúc chủ đề MQTT được ghi lại và các nhà sản xuất khác có thể sử dụng một cái gì đó khác nhau. Không phải tất cả các nhà sản xuất sẽ ghi lại sản phẩm của họ tốt (hoặc hoàn toàn!) - vì vậy hãy cẩn thận khi mua sản phẩm.

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.