SERVICE

MQTT Engine

MQTT สำหรับกลุ่มอุปกรณ์ Cams MQTT Engine คือแบ็กเอนด์คอนซูมเมอร์ที่อยู่หลัง EMQX ซึ่งสมัครรับหัวข้อการลงเวลาและสถานะการออนไลน์แบบใช้ร่วมกัน ส่งอีเวนต์เข้าสู่ไปป์ไลน์การลงเวลาเดียวกับทรานสปอร์ต HTTP และ TCP และเผยแพร่ซองคำสั่งจากเซิร์ฟเวอร์ไปยังอุปกรณ์

ภาพรวม

เอนจินทรานสปอร์ต MQTT ที่รับอีเวนต์การลงเวลาและพุชคำสั่งอุปกรณ์ผ่านโบรกเกอร์ EMQX — สร้างมาสำหรับกลุ่มอุปกรณ์เชื่อมต่อขนาดใหญ่

MQTT Engine คือทรานสปอร์ต MQTT ในตระกูลเอนจินของ Cams เป็นคู่หูของ HTTP และ persistent TCP ทำงานเป็นแบ็กเอนด์คอนซูมเมอร์หลังโบรกเกอร์ EMQX: สมัครรับหัวข้อการลงเวลาและสถานะการออนไลน์แบบใช้ร่วมกันภายใต้ api/mqtt/v1/{sn}/ ส่งแต่ละอีเวนต์เข้าสู่ไปป์ไลน์ร่วม และเผยแพร่คำสั่งจากเซิร์ฟเวอร์ไปยังอุปกรณ์บนหัวข้อคำสั่งในรูปแบบซอง JSON ที่รองรับการใช้งานในอนาคต EMQX จัดการเซสชัน TLS การยืนยันตัวตน QoS และ last-will ของอุปกรณ์ และอินสแตนซ์เอนจินหลายตัวทำ load-balance ผ่าน EMQX shared subscription สำหรับกลุ่มอุปกรณ์ขนาดใหญ่

SERVICEMQTTEMQXTLSJSONC++
โครงสร้างหัวข้อ 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":{} }

ความสามารถ

ทำอะไรได้บ้าง

รับข้อมูลผ่าน MQTT

สมัครรับหัวข้ออีเวนต์แบบใช้ร่วมกัน และส่งแต่ละอีเวนต์การลงเวลาเข้าสู่ไปป์ไลน์จัดเก็บและพุชเดียวกับ HTTP และ TCP

ติดตามสถานะการออนไลน์

รับหัวข้อสถานะการออนไลน์และ last-will เพื่อให้การตัดการเชื่อมต่อที่โบรกเกอร์ตรวจพบทำเครื่องหมายอุปกรณ์เป็นออฟไลน์

พุชคำสั่ง

เผยแพร่คำสั่งจากเซิร์ฟเวอร์ถึงอุปกรณ์ที่อยู่ในคิวบนหัวข้อคำสั่งรายอุปกรณ์ในรูปแบบซอง JSON ที่ QoS 1

ขยายแนวนอน

EMQX shared subscription ทำ load-balance การลงเวลาข้ามอินสแตนซ์เอนจินหลายตัวสำหรับกลุ่มอุปกรณ์ขนาดใหญ่

คุณสมบัติ

รวมทุกอย่างไว้ให้

  • ส่วนหน้าทรานสปอร์ต MQTT สำหรับการลงเวลา เทียบเท่ากับเอนจิน HTTP และ TCP แท้
  • โครงสร้างหัวข้อ api/mqtt/v1/{sn}/{evt|cmd|st} สอดคล้องกับแอปและ EMQX ACL
  • แบ็กเอนด์คอนซูมเมอร์หลัง EMQX: shared subscription ทำ load-balance ข้าม N อินสแตนซ์
  • รับอีเวนต์การลงเวลาที่ payload เหมือนกับ body ของ HTTP punch เข้าสู่ไปป์ไลน์ร่วม
  • สถานะการออนไลน์และ last-will ผ่านหัวข้อสถานะ เพื่อให้การตัดการเชื่อมต่อทำเครื่องหมายอุปกรณ์เป็นออฟไลน์
  • พุชคำสั่งจากเซิร์ฟเวอร์ถึงอุปกรณ์เป็นซอง JSON {id, op, data} ที่รองรับการใช้งานในอนาคต ที่ QoS 1
  • TLS ไปยังโบรกเกอร์พร้อมการตรวจสอบ CA เอนจินใช้บัญชีแบ็กเอนด์ ไม่ใช่หมายเลขซีเรียลอุปกรณ์
  • บิลด์ข้ามแพลตฟอร์ม (Linux และ Windows) บน Eclipse Paho C++

สร้างด้วย MQTT Engine

รับคีย์ อ่านเอกสาร แล้วส่งมอบ ทีมของเราช่วยดูแลการผสานรวมครั้งแรกของคุณ

คำถามที่พบบ่อย

คำถามที่พบบ่อย

MQTT Engine เกี่ยวข้องกับ EMQX อย่างไร

EMQX ยังคงเป็นโบรกเกอร์ที่จัดการเซสชัน TLS การยืนยันตัวตน QoS และ last-will ของอุปกรณ์ ส่วน MQTT Engine เป็นแบ็กเอนด์คอนซูมเมอร์ที่สมัครรับหัวข้อแบบใช้ร่วมกันเพื่อรับข้อมูลการลงเวลาและเผยแพร่คำสั่งไปยังอุปกรณ์

รันหลายอินสแตนซ์ของ MQTT Engine ได้หรือไม่

ได้ EMQX shared subscription ทำ load-balance หัวข้อการลงเวลาและสถานะการออนไลน์ข้ามทุกอินสแตนซ์ที่ทำงานอยู่ คุณจึงขยายขนาดได้ด้วยการเพิ่มอินสแตนซ์

รูปแบบคำสั่งจากเซิร์ฟเวอร์ถึงอุปกรณ์เป็นอย่างไร

ซอง JSON {id, op, data} บนหัวข้อคำสั่งที่ QoS 1 โดย op เป็นฟิลด์เดียวที่จำเป็น และอุปกรณ์รุ่นเก่าจะเพิกเฉย op ที่ไม่รู้จักเพื่อรองรับการใช้งานในอนาคต

ที่เกี่ยวข้อง

สำรวจแพลตฟอร์มเพิ่มเติม