التكوين: باستخدام MQTT

حول

MQTT، وهو اختصار لـ Message Queuing Telemetry Transport، هو بروتوكول مراسلة خفيف الوزن وفعال يُستخدم على نطاق واسع في إنترنت الأشياء (IoT) للاتصال بين الأجهزة. تم تصميمه للعمل تحت ظروف عرض نطاق ترددي محدود ومع أجهزة منخفضة الاستهلاك للطاقة، مما يجعله مثاليًا لربط أجهزة الاستشعار البعيدة والأجهزة المحمولة والعديد من الأدوات الصغيرة بالإنترنت.

يمكن لـ Agent DVR نشر الأحداث إلى MQTT واستقبال الأوامر عبره، مما يجعله جسرًا مرنًا بين الكاميرات والنظام الذكي أو نظام أتمتة المنزل لديك.

جارٍ الاتصال

اتصل بـ Agent DVR بخادم MQTT الخاص بك باستخدام قائمة الإعدادات. بمجرد الاتصال، يمكنك تعيين إجراءات التنبيهات لنشر الرسائل إلى خادم MQTT الخاص بك. انظر إعدادات خادم MQTT للتفاصيل.

لتكوين هذا، عدل جهازك وحدد الإجراءات في القائمة. أضف إجراء لتنبيه (أو حدث آخر) واختر MQTT كنوع المهمة. هنا، يمكنك تحديد الموضوع والرسالة المراد نشرها.

إضافة إجراء لـ MQTT

حدد الموضوع المراد النشر إليه (على سبيل المثال، Agent/alerts) وصيغ رسالتك وفقاً لذلك.

إرسال الأوامر

يمكن لـ Agent DVR أيضاً استقبال ومعالجة رسائل MQTT على موضوع SERVER/commands، حيث SERVER هو اسم الخادم الخاص بك (معروض في قائمة الخادم، قابل للتعديل في الإعدادات). يتم حذف أي شرطات مائلة وخطوط سفلية وواصلات من اسم الخادم لموضوعات MQTT. يتم تنسيق هذه الأوامر بطريقة مشابهة لـ HTTP API. ما عليك سوى استبدال /command بـ cmd=:

لتشغيل جميع الأجهزة: cmd=allon.

التقاط صورة على جهاز معين: cmd=snapshot&ot=2&oid=1.

لإعادة ضبط عدّادات عبور سياج الحركة على كاميرا: cmd=resettripwires&ot=2&oid=1.

باستخدام mosquitto، يمكنك إرسال أمر مثل (استبدل SERVER باسم الخادم الخاص بك):

mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'
.

سيقوم Agent DVR بتنفيذ الأمر وإرسال استجابة JSON إلى موضوع SERVER/responses.

MQTT تلقائي

يتميز Agent DVR بتكوين MQTT تلقائي يرسل الأحداث والحالات والإحصائيات الاستخدام الافتراضية. لتفعيل هذه الميزة، فعّل خيار "أحداث MQTT" على تبويب MQTT أثناء تحرير جهاز.

يتم نشر المواضيع تحت SERVER/cameras/NAME/ أو SERVER/microphones/NAME/، حيث SERVER هو اسم الخادم و NAME هو اسم الجهاز (كلاهما بأحرف صغيرة، مع إزالة الشرطات المائلة). يتضمن هذا التكوين أعلام للمواضيع مثل حركة وموصول وتنبيه وتسجيل والفاصل الزمني (Timelapse) والتنبيهات (حالة مُفعل) والكاشف (كشف الحركة قيد التشغيل أو الإيقاف)، بالإضافة إلى نتائج JSON من التعرف على الأشياء بواسطة الذكاء الاصطناعي والوجه واللوحة والصوت.

الكاميرات التي تستخدم كاشف الخطوط الفاصلة مع تفعيل العدد تنشر أيضاً (v7.7.4.0+):

  • tripwire: رسالة واحدة لكل عبور يتم حسابه، على سبيل المثال
    {"wire":1,"direction":"left","left":3,"right":2,"total":5}
  • tripwire_left, tripwire_right, tripwire_total: عدادات المسار الحالية، محفوظة بحيث تكون متاحة حالما تشترك. يتم إعادة ضبطها إلى 0 بواسطة زر إعادة ضبط العدد أو أمر resettripwires أو إعادة تشغيل الكاميرا.

إذا كنت تستخدم Home Assistant فلا تحتاج للعمل مع هذه المواضيع مباشرة: راجع Home Assistant للإعداد التلقائي.

استكشاف الأخطاء

إذا واجهت قطع واتصالات متكررة في MQTT، فهذا عادة ما يشير إلى أن معرف العميل المحدد في إعدادات الخادم ضمن MQTT يتم استخدامه من قبل عملاء متعددين. من المهم التأكد من أن كل عميل متصل بـ MQTT له معرف عميل فريد.

مساعد المنزل

يمكن لـ Agent DVR إعلان أجهزته إلى مساعد المنزل تلقائياً باستخدام اكتشاف MQTT. تظهر الكاميرات والميكروفونات بعد ذلك في مساعد المنزل كأجهزة بها مستشعرات ومفاتيح، جاهزة للاستخدام في لوحات التحكم والأتمتة بدون تكوين YAML.

ما تحصل عليه

  • مستشعر الحركة: مفعل أثناء رؤية الكاشف للنشاط.
  • مستشعر التنبيه: مفعل أثناء إصدار الجهاز للتنبيه.
  • مستشعر الاتصال: ما إذا كان الجهاز متصلاً.
  • مستشعر التسجيل: مفعل أثناء تسجيل الجهاز.
  • مفتاح التفعيل: تشغيل أو إيقاف الجهاز من مساعد المنزل.
  • مفتاح التنبيهات: تسلح أو نزع سلاح التنبيهات من مساعد المنزل.
  • مفتاح الكاشف: تشغيل أو إيقاف كشف الحركة من مساعد المنزل.
  • استشعارات العدد يسار والعدد يمين والعدد الإجمالي: عدادات عبور للكاميرات باستخدام الكاشف السلكي، لعد الأشخاص. (v7.7.4.0+)

عند تفعيل إرسال الإحصائيات يظهر الخادم أيضاً كجهاز بمستشعرات استخدام المعالج والذاكرة والقرص. تظهر جميع الكيانات كـ غير متاح في مساعد المنزل عندما يكون Agent DVR غير متصل.

إعداده

تحتاج إلى وسيط MQTT (عادة ما يكون إضافة Mosquitto على جهاز مساعد المنزل) والتكامل MQTT في مساعد المنزل متصل به. لا تحتاج إلى فتح منافذ إضافية لـ Agent DVR: فهو يتصل بالوسيط مثل مساعد المنزل تماماً.

في تثبيت جديد، أدخل عنوان الوسيط وبيانات تسجيل الدخول تحت مساعد المنزل على شاشة الترحيب. هذا كل شيء: MQTT والاكتشاف مُفعلان لك، وستظهر كل كاميرا وميكروفون تضيفه بعد ذلك في مساعد المنزل تلقائياً.

لإعداده لاحقاً (أو على تثبيت موجود)، انتقل إلى إعدادات الخادم - MQTT، كوّن الوسيط وفعّل كلاً من مفعل واكتشاف مساعد المنزل. ثم فعّل أحداث MQTT على كل جهاز تريد نشره (علامة تبويب MQTT عند تعديل الجهاز). الأجهزة المضافة أثناء تفعيل الاكتشاف تحصل على أحداث MQTT مفعلة تلقائياً؛ الأجهزة الموجودة مسبقاً تحتفظ بإعدادها الحالية.

ملاحظات

  • تظهر الأجهزة في مساعد المنزل في غضون ثوانٍ قليلة من اتصال Agent DVR بالوسيط. إعادة تسمية جهاز أو تبديل أحداث MQTT يحدّث مساعد المنزل تلقائياً.
  • بادئة الاكتشاف في متقدم إعدادات MQTT يجب أن تطابق بادئة الاكتشاف في التكامل MQTT لمساعد المنزل. اترك كليهما عند الافتراضي (homeassistant) ما لم تكن متأكداً من أنك غيّرته.
  • إيقاف اكتشاف مساعد المنزل يزيل الكيانات من مساعد المنزل.
  • المفاتيح تستخدم أوامر MQTT في Agent DVR تحت الغطاء، لذا أي شيء آخر على شبكة MQTT الخاصة بك يمكنه إرسال نفس الأوامر.