كيف تربط أجهزة Bluetooth بتطبيق Apple Home عبر جسر Matter

دون تغيير شريحة كل جهاز: بوابة Matter واحدة تربط مفاتيح وأضواء Bluetooth Mesh بتطبيق Apple Home. البنية والقرارات الأساسية والخطوات التالية.

أعمل منذ فترة على مشروع يُدخل مجموعة من أجهزة Bluetooth إلى Apple Home.

الأجهزة نفسها بسيطة: مفاتيح جدارية بمفتاح واحد إلى أربعة مفاتيح، ومصابيح قابلة لتعتيم الإضاءة، ومصابيح بدرجات لون وإضاءة متغيرة، إضافةً إلى مفتاح لاسلكي يُلصق على الجدار. تشكّل هذه الأجهزة شبكة Bluetooth Mesh، ولطالما جرى التحكم بها عبر تطبيقنا الخاص الذي يؤدي عمله على أكمل وجه.

الضغط يأتي من العملاء. السؤال الأكثر تكرارًا الذي نسمعه: «هل أستطيع التحكم بها عبر Apple Home؟» ثم يلحقه عادةً السؤال عن Google Home وHome Assistant.

لقد دفعت Apple وGoogle وAmazon جميعها باتجاه Matter. وصار الناس يتوقعون إدارة كل جهاز في المنزل من تطبيق واحد، وستزداد صعوبة بيع المنتجات التي لا تدعم Matter.

هذه المقالة هي النظرة الشاملة على المشروع كله: لماذا اخترنا هذا النهج، وكيف تبدو البنية المعمارية، وإلى أين وصلنا. وستتناول المقالات اللاحقة الرقائق والمعالج الرئيسي وحزمة البروتوكول والاعتماد، كلًّا على حدة.

خياران: رقاقة جديدة في كل جهاز، أو بوابة واحدة

هناك طريقتان عامتان لإدخال أجهزة Bluetooth إلى Matter.

الخيار الأول: تغيير الأجهزة. استبدال رقاقة كل جهاز بحل Thread أو Wi-Fi يدعم Matter، وإعادة كتابة البرنامج الثابت، ثم اعتماد كل طراز على حدة لدى Matter.

الخيار الثاني: ترك الأجهزة كما هي وإضافة بوابة. تتحدث البوابة مع الأجهزة عبر Bluetooth من جهة، وتنضم إلى شبكة المنزل بوصفها جهاز Matter من الجهة الأخرى. فيرى Apple Home بوابة Matter واحدة خلفها قائمة من المفاتيح والمصابيح. وتسمّي مواصفات Matter هذا النوع من الأجهزة Bridge.

تغيير الأجهزة إضافة بوابة
تكلفة الجهاز رقاقة أغلى في كل وحدة دون تغيير
عمل البرنامج الثابت إعادة كتابته لكل طراز تعديلات صغيرة على الأجهزة؛ ومعظم العمل في البوابة
اعتماد Matter لكل طراز على حدة للبوابة، مرة واحدة
الأجهزة المباعة سابقًا تُترك خلف الركب تنضم بعد تحديث البرنامج الثابت
شراء إضافي للمستخدم لا شيء بوابة واحدة

لدينا طرازات كثيرة، وأسعار وحدات منخفضة، وأعداد كبيرة من الأجهزة المثبتة فعلًا في المنازل. لم تكن إعادة تصميم كل جهاز خيارًا واقعيًا، فاخترنا البوابة.

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

البنية المعمارية

يتألف النظام من أربع طبقات، من الأعلى إلى الأسفل:

مخطط يوضح الطبقات الأربع (يُترك بالإنجليزية كما هو):

Apple Home / Google Home / Home Assistant
   │  Matter (Wi-Fi or Ethernet)
   ▼
[Linux gateway]
   ├─ Matter Bridge: each switch and light is a device
   ├─ Device table: devices, gangs, online status
   ├─ Mapping layer: Matter commands ↔ Mesh messages
   └─ Mesh adapter: drives the Bluetooth module
   │  UART
   ▼
[Bluetooth module] provisioning, Mesh messages
   │  Bluetooth SIG Mesh
   ▼
switches / dimmable lights / color lights / wireless switches
  • في الأعلى منصات المنزل الذكي. لا تتحدث إلا Matter، ولا تعلم أن Bluetooth يعمل تحتها.
  • لوحة البوابة تشغّل Linux وبرنامجًا واحدًا. تبدو من الخارج بوابة Matter، وتدير من الداخل كل أجهزة Bluetooth.
  • وحدة Bluetooth رقاقة مستقلة. تعمل حزمة Bluetooth Mesh على الوحدة، ويرسل مضيف Linux إليها التعليمات عبر المنفذ التسلسلي.
  • في الأسفل الأجهزة، وهي تستخدم بروتوكول Mesh القياسي من Bluetooth SIG، أي SIG Mesh.

الفائدة الرئيسية من هذا الفصل أن نصفَي Bluetooth وMatter يمكن تصحيح أخطائهما واستبدالهما بشكل مستقل. فتغيير المعالج الرئيسي لاحقًا لا يمسّ وحدة Bluetooth ولا البرنامج الثابت للأجهزة، وتغيير مورّد وحدة Bluetooth لا يؤثر إلا في طبقة المحوّل.

الطبقة الأهم: الترجمة

يجري العمل الحقيقي في طبقة التعيين (mapping layer). فهي تترجم أنواع أجهزة Matter وأوامره إلى رسائل يفهمها Bluetooth Mesh.

جهازنا كيف يظهر في Apple Home ما الذي يحتاج إلى تحويل
مفتاح بمفتاح واحد إلى 4 مفاتيح مفتاح منفصل لكل مفتاح (On/Off Light) لا شيء
مصباح قابل للتعتيم Dimmable Light مستوى Matter من 1 إلى 254، وسطوع Mesh من 0 إلى 65535
مصباح أبيض بدرجة قابلة للضبط Color Temperature Light يستخدم Matter وحدة mireds: 1,000,000 مقسومة على قيمة Kelvin
مصباح ملوّن Extended Color Light تستخدم الصبغة والتشبّع نطاقات مختلفة
مفتاح لاسلكي Generic Switch الضغطات القصيرة والطويلة والمزدوجة تصبح أحداث أزرار في Matter

يظهر المفتاح ذو الأربعة مفاتيح في Apple Home بوصفه أربعة مفاتيح منفصلة، يمكن وضع كلٍّ منها في غرفة أو مشهد مختلف. هذه هي الطريقة المعتادة لعمل Bridge، وهي أيضًا الأسهل فهمًا للمستخدمين.

الترجمة نفسها ليست صعبة. أما الصعب فتفصيلان يسهل إغفالهما.

الأول هو الأزرار الفيزيائية. حين يضغط أحدهم على المفتاح في الجدار، يجب أن تتغير الحالة في Apple Home أيضًا. لذلك يبلّغ كل جهاز البوابة بحالته الجديدة كلما تغيّرت، وتزامنها البوابة مع Matter. معالجة «التطبيق يتحكم بالجهاز» نصف المهمة فقط؛ أما «الجهاز يخبر التطبيق» فلا تقل عنها أهمية.

الثاني هو انقطاع الاتصال. إذا فقد مصباح الطاقة عند الجدار، ينبغي أن يعرض Apple Home «لا استجابة» بدلًا من آخر حالة معروفة. يرسل كل جهاز نبضة دورية إلى البوابة، وإذا فاتت عدة نبضات متتالية عُدّ الجهاز غير متصل.

وهناك خيار تصميمي آخر يتعلق بتجربة المستخدم: المفتاح اللاسلكي يتحكم بالمصابيح مباشرةً دون المرور بالبوابة. يرسل المفتاح أمره إلى عنوان المجموعة الخاص بالغرفة، فتستجيب المصابيح مباشرةً، وتكتفي البوابة بالإنصات للحفاظ على تزامن الحالة. وحتى لو خرجت البوابة من الشبكة أو تعطلت، يظل المفتاح على الجدار يضيء المصابيح. على البوابة أن تضيف الراحة، لا أن تصبح نقطة فشل وحيدة.

القرارات الرئيسية

لم تُحسم عدة أجزاء من التصميم إلا بعد مقارنات كثيرة. إليكم الخلاصات، أما المبررات فلها مقالاتها الخاصة.

  • SIG Mesh بين الأجهزة والبوابة، لا بروتوكول خاص. يعرّف المعيار نماذج للمفاتيح والمصابيح، فيمكن للبوابة والأجهزة استخدام رقائق من مورّدين مختلفين والعمل معًا ما دام الطرفان ملتزمين به.
  • وحدة Silicon Labs في البوابة، ورقائق Telink في الأجهزة. في البوابة تهمّ الوثائق والأدوات قبل كل شيء: يمكن لوحدة Silicon Labs أن تعمل معالجًا مساعدًا، وبروتوكولها التسلسلي موثّق توثيقًا جيدًا. أما في الأجهزة فتهمّ التكلفة وسلسلة التوريد الصينية، وهو ما يرجّح Telink.
  • المعالج الرئيسي يتوقف على المهمة. للربط (bridging) وحده تكفي رقاقة اقتصادية مثل RK3506 من Rockchip. ومع هامش إضافي للأتمتة المحلية أو لصفحة إدارة عبر الويب، اختر RK3562. ومع شاشة تعمل لوحة تحكم، انتقل إلى RK3576.
  • rs-matter، المكتوبة بلغة Rust، لحزمة Matter. تُبنى في برنامج واحد صغير، وتدعم إضافة الأجهزة وإزالتها أثناء التشغيل، وهذا يناسب Bridge تمامًا.

أين وصلنا

ما أُنجز حتى الآن نموذج برمجي أولي:

  • يحاكي حاسوب Windows البوابة، وأُضيف إلى Apple Home بمسح رمزه.
  • يحاكي هاتف جهاز Bluetooth. تكتشفه البوابة، فيظهر في Apple Home جهازًا يمكن التحكم به.
  • التبديل في Apple Home يرسل الأمر إلى الجهاز المحاكى. وعند إضافة الأجهزة أو إزالتها، تظهر في Apple Home أو تختفي منه.

بعبارة أخرى، سلسلة Matter ↔ البوابة ↔ جهاز Bluetooth تعمل برمجيًا، ويتعرف Apple Home على الأجهزة المربوطة ويتحكم بها.

أما ما لم يُنجز بعد فهو العتاد الحقيقي: اختبار وحدة Silicon Labs مع أجهزة Telink، وتشغيل كل شيء على لوحة بوابة Linux. لوحات التطوير مطلوبة وفي الطريق، وهذا محور عملنا في الأسابيع القليلة القادمة.

مشكلات ما زالت تنتظر الحل

هذه الأسئلة هي ما يحدد إمكانية الانتقال بالتصميم إلى الإنتاج، ولكلٍّ منها مقالة خاصة:

  1. هل تعمل رقائق المورّدين معًا؟ ينبغي أن تعمل بوابة Silicon Labs مع أجهزة Telink عبر البروتوكول القياسي، لكن ذلك يحتاج إلى اختبار على لوحات حقيقية.
  2. كم جهازًا تتحمل بوابة واحدة؟ بضع عشرات في المنزل لا تشكل مشكلة؛ أما التركيبات التجارية فقد تتجاوز المئة بسهولة، وتحتاج إلى اختبار تحميل.
  3. ماذا لو تعطلت البوابة؟ بعد انقطاع الكهرباء أو إعادة التشغيل أو استبدال وحدة Bluetooth، يجب أن تعود الأجهزة التي سبق إعدادها من تلقاء نفسها، دون أن يضطر المستخدمون إلى إقرانها من جديد.
  4. الاعتماد. اعتماد Matter، ومتطلبات HomeKit، واعتماد الترددات الراديوية: كم يكلّف كلٌّ منها وأيها يأتي أولًا.

كلمة أخيرة

إدخال أجهزة Bluetooth إلى Matter أقل غموضًا مما يبدو. يذهب الوقت في اختيار الرقائق، والحفاظ على تزامن حالة الأجهزة، والتخطيط لأعطال البوابة، وأعمال الاعتماد التي لا مفرّ منها قبل الإنتاج.

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

إن كانت لديكم أجهزة Bluetooth تريدون إدخالها إلى Matter، أو كنتم تبنون بوابة مشابهة، فيسعدني الحديث معكم. أفكار التصميم واختيارات الرقائق والدروس المستفادة كلها مطروحة للنقاش: linktr.ee/weiyii

اقرأ وشارك عبر WeChat

رمز QR لهذا المقال

امسح الرمز لفتح المقال، ثم شاركه من قائمة WeChat.