DỊCH VỤ

MQTT Engine

MQTT cho đội thiết bị Cams. MQTT Engine là một backend consumer đặt sau EMQX, đăng ký các topic chấm công và hiện diện dùng chung, đưa sự kiện vào cùng pipeline chấm công như các phương thức truyền tải HTTP và TCP, và xuất bản các command envelope từ máy chủ đến thiết bị.

Tổng quan

Một engine truyền tải MQTT tiếp nhận các sự kiện chấm công và đẩy lệnh thiết bị qua broker EMQX — được xây dựng cho các đội thiết bị kết nối quy mô lớn.

MQTT Engine là phương thức truyền tải MQTT trong họ engine Cams, song hành với HTTP và TCP bền vững. Nó chạy như một backend consumer đặt sau broker EMQX: đăng ký các topic chấm công và hiện diện dùng chung dưới api/mqtt/v1/{sn}/, đưa từng sự kiện vào pipeline dùng chung, và xuất bản lệnh từ máy chủ đến thiết bị trên topic lệnh dưới dạng JSON envelope tương thích về sau. EMQX xử lý phiên TLS của thiết bị, xác thực, QoS và last-will; nhiều phiên bản engine cân bằng tải qua shared subscription của EMQX cho các đội thiết bị lớn.

DỊCH VỤMQTTEMQXTLSJSONC++
Sơ đồ topic MQTT (EMQX)
# device -> server (attendance)
api/mqtt/v1/{sn}/evt   { "user_id":"1001", "att_time":"...", "att_state":1 }
# device -> server (presence / LWT)
api/mqtt/v1/{sn}/st    { "online": true }
# server -> device (command)
api/mqtt/v1/{sn}/cmd   { "id":"c1", "op":"sync_user", "data":{} }

Khả năng

Nó làm được gì

Tiếp nhận qua MQTT

Đăng ký các topic sự kiện dùng chung và đưa từng sự kiện chấm công vào cùng pipeline lưu trữ và đẩy như HTTP và TCP.

Theo dõi hiện diện

Tiêu thụ topic hiện diện và last-will để các lần ngắt kết nối do broker phát hiện sẽ đánh dấu thiết bị ngoại tuyến.

Đẩy lệnh

Xuất bản các lệnh từ máy chủ đến thiết bị đã xếp hàng đợi trên topic lệnh của từng thiết bị dưới dạng JSON envelope ở QoS 1.

Mở rộng theo chiều ngang

Shared subscription của EMQX cân bằng tải chấm công trên nhiều phiên bản engine cho các đội thiết bị lớn.

Tính năng

Tất cả đều có sẵn

  • Mặt tiền truyền tải MQTT cho chấm công, ngang hàng với các engine HTTP và TCP gốc
  • Sơ đồ topic api/mqtt/v1/{sn}/{evt|cmd|st} khớp với ứng dụng và ACL của EMQX
  • Backend consumer đặt sau EMQX: shared subscription cân bằng tải trên N phiên bản
  • Tiếp nhận các sự kiện chấm công có payload giống hệt body punch HTTP vào pipeline dùng chung
  • Hiện diện và last-will qua topic trạng thái để các lần ngắt kết nối đánh dấu thiết bị ngoại tuyến
  • Đẩy lệnh từ máy chủ đến thiết bị dưới dạng JSON envelope {id, op, data} tương thích về sau ở QoS 1
  • TLS đến broker với xác minh CA; engine dùng tài khoản backend, không dùng số sê-ri thiết bị
  • Bản dựng đa nền tảng (Linux và Windows) trên Eclipse Paho C++

Xây dựng với MQTT Engine

Lấy khóa, đọc tài liệu và triển khai. Đội ngũ của chúng tôi hỗ trợ bạn trong lần tích hợp đầu tiên.

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

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

MQTT Engine liên quan đến EMQX như thế nào?

EMQX vẫn là broker xử lý phiên TLS của thiết bị, xác thực, QoS và last-will. MQTT Engine là backend consumer đăng ký các topic dùng chung để tiếp nhận chấm công và xuất bản lệnh đến thiết bị.

Tôi có thể chạy nhiều phiên bản MQTT Engine không?

Có. Shared subscription của EMQX cân bằng tải các topic chấm công và hiện diện trên mọi phiên bản đang chạy, nên bạn mở rộng bằng cách thêm phiên bản.

Định dạng lệnh từ máy chủ đến thiết bị là gì?

Một JSON envelope {id, op, data} trên topic lệnh ở QoS 1, trong đó op là trường duy nhất bắt buộc và các op không xác định bị thiết bị cũ bỏ qua để tương thích về sau.

Liên quan

Khám phá thêm về nền tảng