ما الذي يمكن لتطبيق KolHive التحكم فيه
عندما تبني تطبيقا في KolHive، يمكنه التواصل مع الأجهزة المادية من حولك. يستطيع تطبيقك الاتصال بأجهزة البلوتوث منخفض الطاقة، والوصول إلى الأجهزة المتصلة بشبكة منزلك أو مكتبك، وقراءة مستشعرات الحركة في الهاتف. وفي هواتف Android الداعمة، يمكنه أيضا إرسال إشارات التحكم بالأشعة تحت الحمراء.
على سبيل المثال، تستطيع ليلى في عمّان بناء أداة تقرأ بيانات حزام نبضات القلب عبر البلوتوث أو تفحص مستشعر الرطوبة في أصيص النباتات. ويمكن لعمر في الدار البيضاء تشغيل قابس ذكي متصل بشبكة مكتبه أو إيقاظ حاسوبه المكتبي عبر ميزة Wake-on-LAN. وباستخدام هاتف Android مزود بمرسل أشعة تحت الحمراء، تستطيع ريم في دبي بناء جهاز تحكم عن بعد لتلفاز غرفة المعيشة.
لا تتصل التطبيقات بالأجهزة مباشرة أبدا. يمر كل طلب عبر KolHive، الذي يتحقق مما صرح به التطبيق ويطلب موافقتك أولا.
البلوتوث منخفض الطاقة (Bluetooth Low Energy)
يمكن للتطبيق المبني استخدام البلوتوث منخفض الطاقة (BLE) كجهاز مركزي. يستطيع البحث عن الأجهزة القريبة، والاتصال بها، وقراءة البيانات وكتابتها بحجم يصل إلى 512 بايت، والاشتراك في الإشعارات. لا يدعم النظام البلوتوث الكلاسيكي (Classic Bluetooth)، ولا ملفات تعريف الصوت، ولا الاتصالات التسلسلية عبر RFCOMM.
لا يحصل التطبيق أبدا على قائمة صامتة بالأجهزة القريبة. عندما يطلب التطبيق البحث عن أجهزة، يفتح KolHive نافذة اختيار الأجهزة الخاصة به على شاشتك. لا يرى التطبيق سوى الجهاز الواحد الذي تختاره أنت، وخدمات البلوتوث التي يحددها مسبقا بالاسم.
يعمل البلوتوث في تطبيق KolHive على أجهزة Mac وWindows وiPhone وiPad وAndroid. تطلب أجهزة Apple الإذن عند الاستخدام الأول، بينما يطلب نظام Android 12 أو الأحدث إذن الوصول إلى الأجهزة القريبة (Nearby devices). وفي متصفح الويب، يعمل البلوتوث في متصفحي Chrome وEdge فقط، ولا يعمل في Safari أو Firefox.
الأجهزة المتصلة بشبكتك المحلية
يستطيع تطبيقك العثور على الأجهزة المتصلة بشبكتك المحلية والتواصل معها عبر بروتوكولات HTTP وWebSocket وTCP وUDP. كما يمكنه اكتشاف الأجهزة باستخدام SSDP أو mDNS وإرسال حزم Wake-on-LAN. يقتصر الوصول على عناوين الشبكة الخاصة فقط، إذ يرفض KolHive الاتصال بمضيفي الإنترنت العام، وعناوين الاسترجاع (loopback)، وعنوان جهازك نفسه.
يمكن لكل نافذة تطبيق فتح ما يصل إلى 16 مقبسا (sockets) في وقت واحد، وإجراء 4 طلبات لاكتشاف الأجهزة في الدقيقة. يبلغ الحد الأقصى لاستجابات HTTP نحو 5 ميجابايت. ولا تُقبل الشهادات الموقعة ذاتيا إلا للأجهزة المحلية وفقط عندما يطلب التطبيق ذلك.
يعمل التحكم الكامل بالشبكة المحلية على أنظمة Mac وWindows وAndroid. على جهاز Mac، يعرض النظام نافذة طلب إذن الشبكة المحلية. أما على iPhone وiPad، فتعمل اتصالات HTTP وWebSocket وTCP وأسماء النطاقات المنتهية بـ .local، لكن الاكتشاف عبر البث المتعدد (SSDP) والبث العام (broadcast) وميزة Wake-on-LAN لا تعمل. ولهذا السبب، يستطيع كريم في القاهرة تشغيل التلفاز عبر Wake-on-LAN من جهاز Mac أو حاسوب Windows أو هاتف Android، لكن لا يمكنه ذلك من iPhone أو iPad.
في متصفح الويب، يمر التحكم بالشبكة المحلية عبر أحد أجهزتك المسجّل دخولها في KolHive من خلال رابط نظير إلى نظير (peer link) مباشر ومشفر. يطلب الاستخدام الأول موافقتك على ذلك الجهاز. تنتقل البيانات من جهاز إلى آخر مباشرة دون وسيط TURN، بينما تنقل خوادمنا رسائل الإشارة الصغيرة اللازمة لإنشاء الرابط فقط. إذا لم يكن أي من أجهزتك متصلا بالإنترنت، يبلغ النظام التطبيق بعدم توفر جهاز وسيط.
مستشعرات الحركة والأشعة تحت الحمراء والموقع الجغرافي
تعمل مستشعرات الحركة في التطبيقات الأصلية على الهواتف والأجهزة اللوحية فقط. على أجهزة iPhone وiPad وAndroid، يمكن للتطبيق قراءة الجيروسكوب، ومقياس التسارع، ومقياس تسارع المستخدم، ومقياس المغناطيسية، ومقياس الضغط الجوي (البارومتر) بتردد يصل إلى 200 هرتز. أما الحواسيب المكتبية التي تعمل بأنظمة Mac وWindows وLinux فتبلغ بأن هذه المستشعرات غير مدعومة.
في متصفح الويب، تستخدم التطبيقات واجهة Generic Sensor API الخاصة بالمتصفح أو أحداث حركة الجهاز حيثما توفرت، دون وجود بديل ويب لمقياس المغناطيسية أو البارومتر. ويطلب متصفح Safari على iPhone وiPad إذنك قبل مشاركة بيانات المستشعرات.
يستطيع التطبيق المبني إرسال رموز التحكم بالأشعة تحت الحمراء فقط على هواتف Android المزودة بمرسل أشعة تحت الحمراء مدمج (IR blaster). يقتصر كل نمط إشارة على 1,024 نبضة وبمدة أقصاها 2 ثانية. لا تتوفر ميزة الأشعة تحت الحمراء على أجهزة iPhone أو iPad أو Mac أو Windows أو Linux أو عبر الويب.
يمكن للتطبيقات أيضا قراءة الموقع الجغرافي للجهاز باستخدام نظام GPS والموقع المدمج على Android، أو خدمة Core Location على أجهزة Apple. ولا يعمل هذا إلا عندما يصرح التطبيق بحاجته إلى الموقع الجغرافي وتسمح أنت بذلك.
ما الذي يعمل على كل منصة
يعتمد الوصول إلى الأجهزة على نوع الجهاز الذي تستخدمه، وما إذا كنت تشغل تطبيق KolHive الأصلي أو متصفح الويب.
| الميزة | Mac | Windows | iPhone/iPad | Android | المتصفح |
|---|---|---|---|---|---|
| بلوتوث LE | نعم | نعم | نعم | نعم | Chrome وEdge |
| الشبكة المحلية | نعم | نعم | نعم | نعم | عبر جهازك |
| الاكتشاف وWake-on-LAN | نعم | نعم | لا | نعم | عبر جهازك |
| مستشعرات الحركة | لا | لا | نعم | نعم | حيثما يدعم المتصفح ذلك |
| الأشعة تحت الحمراء | لا | لا | لا | نعم | لا |
كيف يضبط KolHive وصول التطبيقات إلى الأجهزة
تصل التطبيقات إلى الأجهزة عبر الواجهات kolhive.lan وkolhive.bluetooth وkolhive.sensors وkolhive.infrared. يجب التصريح بكل قدرة في ملف بيان التطبيق (manifest) مع تحديد الغرض وطريقة استخدام البيانات. يُرفض أي استدعاء غير مصرح به على ثلاث مراحل: أثناء فحص التثبيت، وداخل الصفحة، وعلى مستوى المضيف. يمكنك قراءة المزيد حول كيفية فحص الأذونات في مقال المراجعة الأمنية لفرق تقنية المعلومات.
يختار KolHive الجهاز المستهدف عبر نافذة الاختيار الخاصة به بدلا من السماح للتطبيق بالبحث أو الاتصال في الخلفية. وعندما تغلق نافذة التطبيق أو تعيد تحميلها، يغلق KolHive كل مقبس مفتوح واتصال بلوتوث وتدفق بيانات من المستشعرات. وأثناء إخفاء نافذة التطبيق، يتوقف تدفق بيانات المستشعرات مؤقتا بشكل تلقائي بينما تستمر اتصالات البلوتوث في العمل.
قبل استخدام أي ميزة من ميزات الأجهزة، يستدعي التطبيق الدالة available() للتحقق مما إذا كان جهازك يدعمها. لا يعرض هذا الفحص أي نافذة لطلب الإذن، بل يعيد السبب الحقيقي عند تعذر تشغيل الميزة، مما يتيح للتطبيق عرض رسالة واضحة لك عندما لا تكون الميزة مدعومة على جهازك.
ما لا تغطيه هذه الميزة
- اتصالات USB والمنفذ التسلسلي (serial) وHID وNFC غير مدعومة للتطبيقات المبنية.
- البلوتوث الكلاسيكي، وملفات تعريف الصوت عبر البلوتوث، والاتصالات التسلسلية عبر RFCOMM غير مدعومة.
- لا يحتوي نظام Linux على جسر للشبكة المحلية للتطبيقات المبنية لأنها تفتح في متصفح النظام.
- ميزة Wake-on-LAN والاكتشاف عبر البث المتعدد (SSDP) لا يعملان من أجهزة iPhone أو iPad.
- يعمل التحكم بالأشعة تحت الحمراء فقط على هواتف Android المزودة بمرسل أشعة تحت الحمراء مدمج (IR blaster).
- لا تعمل مستشعرات الحركة على الحواسيب المكتبية التي تعمل بأنظمة Mac أو Windows أو Linux.
- يتطلب التحكم بالأشعة تحت الحمراء تطبيق KolHive لنظام Android، وهو غير متاح بعد في Google Play.
الأسئلة الشائعة
هل يستطيع تطبيق في KolHive التحكم في أجهزة المنزل الذكي؟
نعم، إذا كانت أجهزة المنزل الذكي تتواصل عبر شبكتك المحلية باستخدام بروتوكولات HTTP أو WebSocket أو TCP أو UDP، أو تستخدم البلوتوث منخفض الطاقة (BLE). على أنظمة Mac وWindows وAndroid، يمكن للتطبيقات أيضا اكتشاف الأجهزة المحلية عبر SSDP أو mDNS وإرسال حزم Wake-on-LAN. أما على iPhone وiPad، فتعمل الاتصالات المباشرة وأسماء .local، لكن الاكتشاف عبر البث المتعدد وWake-on-LAN لا يعملان.
هل يمكنني استخدام مستشعرات هاتفي من تطبيق يعمل على حاسوبي؟
لا، فمستشعرات الحركة مثل الجيروسكوب ومقياس التسارع تعمل فقط عند تشغيل التطبيق على هاتف أو جهاز لوحي. وتبلغ حواسيب Mac وWindows وLinux بأن مستشعرات الحركة غير مدعومة. ورغم أن المتصفح على حاسوبك يمكنه تمرير طلبات الشبكة المحلية عبر هاتف مسجل الدخول، فإنه لا يمرر بيانات المستشعرات.
هل تدعم نسخة المتصفح الاتصال عبر البلوتوث؟
نعم، عند استخدام متصفح Google Chrome أو Microsoft Edge. يتيح هذان المتصفحان لـ KolHive عرض نافذة اختيار الأجهزة والاتصال بأجهزة البلوتوث منخفض الطاقة. أما متصفحا Safari وFirefox فلا يدعمان اتصالات البلوتوث عبر الويب.
هل يمكن لتطبيق البحث عن الأجهزة من دون استئذاني؟
لا، لا يستطيع أي تطبيق البحث بصمت عن أجهزة البلوتوث أو استخدام أجهزة غير مصرح بها. ففي حالة البلوتوث، يعرض KolHive نافذة الاختيار الخاصة به ولا يكشف للتطبيق سوى الجهاز الواحد الذي تحدده. وفي حالة الوصول إلى الشبكة المحلية، يطلب النظام أو جهازك الوسيط موافقتك قبل أن يتمكن التطبيق من الاتصال.
مجاني لأنظمة Mac وWindows وLinux، أو افتحه مباشرة في المتصفح.
تنزيل KolHive