11.1. لماذا Bluetooth¶
تضع الشبكات الكاميرا على شبكة Wi-Fi أو Ethernet بحيث يمكنها التواصل مع أي شيء يمكن الوصول إليه من هناك. حاسوب محمول في نهاية الرواق، أو خادم في قارة أخرى، أو هاتف متنقل عبر الشبكة الخلوية. لكن هذا المدى يأتي مع متطلبات مسبقة. يجب أن تكون هناك شبكة موجودة. ويجب أن تكون هناك نقطة وصول ضمن النطاق، وأن تتوفر بعض بيانات الاعتماد، وأن يكون هناك موجّه مستعد لتزويد الكاميرا بعنوان. كما يجب على الكاميرا أن تُبقي الراديو (أو منفذ Ethernet) يعمل بقوة كافية للحفاظ على الاتصال.
يغطي Bluetooth الحالة المعاكسة -- نطاق قصير، وبلا بنية تحتية، وطاقة منخفضة. تتبادل الكاميرا وهاتف في الغرفة نفسها البيانات عبر وصلة راديو مباشرة، دون أي شيء بينهما. لا نقطة وصول، ولا موجّه، ولا حاجة لأن يكون أي من الطرفين على أي شبكة على الإطلاق. يبقى الراديو مطفأً في معظم الوقت بين دفعات النشاط القصيرة، لذا فإن البطارية التي بالكاد تصمد يوماً واحداً على Wi-Fi يمكن أن تعمل لأشهر.
11.1.1. متى يكون Bluetooth الأداة الصحيحة¶
الحالات الشائعة على الكاميرا:
هاتف أو جهاز لوحي يقترن بالكاميرا. يفتح مستخدم قريب تطبيقاً على هاتفه ويهيّئ الكاميرا، أو يقرأ حالتها، أو يُنزّل النتائج -- دون الحاجة أولاً إلى وضع كلا الجهازين على شبكة Wi-Fi نفسها. تدعم معظم الهواتف Bluetooth Low Energy أصلاً، لذا تكون تجربة المستخدم "افتح التطبيق، اضغط اتصال"، وليست "انضم إلى هذه الشبكة أولاً".
جهاز قابل للارتداء أو مستشعر يُبلّغ الكاميرا. حزام لقياس معدل ضربات القلب، أو مقياس حرارة، أو منارة (beacon)، أو مفتاح تماس -- جميعها أجهزة تعمل بالبطارية مصممة حول Bluetooth Low Energy. تتصل الكاميرا كعميل، وتقرأ قيمها، وتدمج البيانات في كل ما تقوم به.
الكاميرا تنشر تغذية حالة صغيرة. مستوى البطارية، آخر كائن مكتشف، معدل الإطارات -- بضعة أرقام معروضة لأي شيء قريب يريد قراءتها. الاقتران اختياري؛ فبالنسبة للبيانات غير الحساسة يمكن للكاميرا أن تُعلن عن القيم مباشرة دون الحاجة إلى أي اتصال على الإطلاق.
كاميرتان (أو كاميرا ومتحكم دقيق) تتشاركان البيانات دون شبكة. يعرف كلا الطرفين بعضهما؛ وكلا الطرفين في المبنى نفسه؛ ولا يوجد سبب لأن تنتقل البايتات صعوداً إلى السحابة ثم نزولاً مجدداً لتعبر الغرفة.
11.1.2. متى تكون الشبكات هي الأداة الصحيحة بدلاً من ذلك¶
تكون مقايضات Bluetooth خاطئة في عدة حالات شائعة:
أطراف خارج النطاق. يبلغ مدى Bluetooth Low Energy عملياً مترين أو نحو ذلك، وعشرات الأمتار في الفضاء الطلق في أحسن الأحوال. أي شيء عبر مبنى، أو عبر المدينة، أو عبر الإنترنت يحتاج إلى Wi-Fi أو Ethernet.
الوصلات عالية النطاق الترددي. يقدّم Bluetooth Low Energy عملياً من عشرات إلى بضع مئات من الكيلوبتات في الثانية. بثّ الإطارات أو أي فيديو ذي معنى يحتاج إلى Wi-Fi.
التواصل الجماعي متعدد إلى متعدد على بنية تحتية مشتركة. غرفة مليئة بالأجهزة التي تتحدث جميعها إلى خادم واحد، أو شبكة متشابكة من الكاميرات تتشارك النتائج -- هذا النمط هو ما بُنيت من أجله شبكة IP.
11.1.3. Low Energy، وليس الكلاسيكي¶
يغطي مصطلح "Bluetooth" في الاستخدام العادي طاقتين راديويتين متمايزتين. Bluetooth الكلاسيكي هو الموجود في سماعات الرأس اللاسلكية، والصوت داخل السيارة، ووصلات لوحة المفاتيح / الفأرة: راديو بدرجة الصوت والمحادثة، وطاقة معقدة نسبياً، واستهلاك ملحوظ للطاقة. أما Bluetooth Low Energy (BLE) فهو بروتوكول منفصل أحدث يتشارك الاسم التجاري ونطاق 2.4 GHz لكن القليل جداً عدا ذلك. وهو مبني حول دفعات راديو قصيرة وغير متكررة لإبقاء متوسط الطاقة ضئيلاً، وحول نموذج بيانات مفتاح/قيمة بدلاً من بث الصوت.
يدعم MicroPython على الكاميرا BLE فقط. أما Bluetooth الكلاسيكي فليس جزءاً من الـ API على الإطلاق. ويعني مصطلح "Bluetooth" أدناه BLE.
11.1.4. ما الذي يتغير عن نموذج الشبكات¶
يمتلك BLE نفس الطبقات الخمس التي امتلكتها الشبكات، لكن الطبقات العليا تتصرف بشكل مختلف:
لا يوجد تجريد "افتح مقبساً (socket) وأرسل البايتات". فـ BLE مبني حول قاعدة بيانات مفتاح/قيمة صغيرة يستضيفها أحد الطرفين ويقرؤها الطرف الآخر أو يكتب إليها أو يشترك فيها. تنشر الكاميرا قيماً مسمّاة (مستوى بطارية، درجة حرارة، سجل أوامر)؛ والنظير يقرؤها أو يراقبها.
لا يوجد عَنونة بالاسم. تعرّف الأجهزة عن نفسها عبر الإعلان ببثّ قصير يصف من تكون؛ بينما يقوم النظراء بـ المسح بحثاً عن تلك البثوث ويختارون واحداً للاتصال به.
يكون الراديو خاملاً في معظم الوقت. يتفق الطرفان عند وقت الاتصال على عدد مرات الاستيقاظ والتحدث. وبين ذلك، يعود كلاهما إلى النوم.
هذه الفروق الثلاثة هي ما يدفع بقية الـ API الخاص بـ BLE بعيداً عن نموذج المقبس (socket).