كيف يعمل
يربط المتصفح بجهاز بلوتوث منخفض الطاقة ويعرض شجرة GATT كاملةً: كل خدمة أساسية، والخصائص التي تحتويها، والعمليات التي تدعمها كل خاصية (قراءة أو كتابة أو إشعار أو إشارة)، والواصفات المرتبطة بها، مع معرّف UUID بطول 128 بت والمعرّف القصير بطول 16 بت عندما يكون العنصر قياسيًا.
تُقرأ القيم القابلة للقراءة تلقائيًا وتُفسَّر وفق مواصفة Bluetooth SIG: يظهر مستوى البطارية كنسبة مئوية، وخدمة Device Information كاسم المصنّع والطراز والرقم التسلسلي وإصدارات البرنامج الثابت والعتاد والبرمجيات، ويظهر PnP ID كزوج من معرّفي المصنّع والمنتج. أما ما ليس له معنى محدّد فيُعرض كنص أو رقم أو تفريغ ست عشري.
يمكنك أيضًا الاشتراك في الخصائص التي ترسل إشعارات لمتابعة تغيّرها مباشرةً — معدل ضربات القلب أو درجة حرارة أو عدّاد — وتصدير التصفّح كاملاً بصيغة JSON. تكتفي الأداة بالقراءة ولا تكتب في الجهاز أبدًا. تجري كل الاتصالات بين جهازك والطرف المحيطي عبر واجهة Web Bluetooth، ولا يُرسل أي شيء إلى خادم.
أمثلة
0x180F → 0x2A195B → 91 %تعرض خدمة Battery بايتًا واحدًا يمثّل الشحنة المتبقية، لذا فإن 0x5B تعادل 91 %.0x180A → 0x2A50 (PnP ID)USB Implementers Forum · VID 0x046D · PID 0xC52B · v1.0.0يُعرّف PnP ID الشركة المصنّعة والمنتج بالرموز نفسها التي يستخدمها USB، لذا يمكنك البحث عنها في كتالوج usb.ids.6e400001-b5a3-f393-e0a9-e50e24dcca9eNordic UART Serviceتعود معرّفات UUID بطول 128 بت إلى خدمات خاصة بالمصنّع؛ وتظهر الأكثر انتشارًا، مثل المنفذ التسلسلي من Nordic، باسمها.حالات الاستخدام
- معرفة نسبة البطارية المتبقية في مستشعر أو ميزان أو جهاز يمكن ارتداؤه دون تثبيت تطبيق الشركة المصنّعة.
- الاطلاع على الطراز والرقم التسلسلي وإصدار البرنامج الثابت للجهاز قبل تحديثه أو فتح مطالبة ضمان.
- التحقّق أثناء تطوير البرنامج الثابت من أن الطرف المحيطي يُعلن عن الخدمات والخصائص المتوقّعة بالخصائص الصحيحة.
- اكتشاف معرّف UUID لخاصية خاصة بالمصنّع لتتمكّن من استخدامها في تطبيقك.
- التأكّد مباشرةً من وصول الإشعارات ومن معدّل تكرارها عندما لا يتلقّى تطبيقٌ ما البيانات.
- توثيق شجرة GATT كاملةً لجهاز ما بتصديرها بصيغة JSON لإرفاقها بتقرير.
الأسئلة الشائعة
لماذا لا تعمل الأداة على iPhone أو في Firefox؟
واجهة Web Bluetooth مطبَّقة في المتصفحات المبنية على Chromium — أي Chrome وEdge وOpera — على Windows وmacOS وLinux وChromeOS وAndroid. أما Firefox وSafari فلا يدعمانها، وفي iOS تستخدم جميع المتصفحات محرّك النظام، لذا فهي غير متاحة هناك أيضًا. كما يلزم اتصال HTTPS وأن يكون البلوتوث مفعّلاً في الجهاز.
الجهاز قيد التشغيل لكنه لا يظهر في القائمة.
عادةً ما يعود ذلك إلى ثلاثة أسباب: الطرف المحيطي متصل بالفعل بتطبيق آخر أو بجهاز آخر فتوقّف عن الإعلان عن نفسه؛ أو أنه ليس في وضع الاكتشاف، الذي يُفعَّل في كثير من الأجهزة بالضغط المطوّل على زر؛ أو أن التصفية المختارة ضيّقة جدًا. جرّب الخيار الذي يعرض جميع الأجهزة القريبة وقرّب الجهاز أكثر.
لماذا أرى خدمات أقل مما تعرضه التطبيقات الأصلية؟
لا يمكن لصفحة الويب أن ترى سوى الخدمات التي طلبتها قبل الاتصال، ولهذا تطلب الأداة جميع الخدمات القياسية وتتيح لك إضافة معرّفات UUID الخاصة بالمصنّع التي تعرفها. كما يحتفظ المتصفح بقائمة خدمات محظورة لأسباب أمنية — منها خدمة أجهزة الإدخال (HID) وخدمات تحديث البرنامج الثابت — لا تستطيع أي صفحة قراءتها.
ماذا تعني خصائص الـ characteristic؟
تعني «قراءة» أنه يمكن طلب القيمة في أي وقت. وتشير «كتابة» و«كتابة بلا استجابة» إلى أن الجهاز يقبل استقبال البيانات، مع تأكيد أو بدونه. أما «إشعار» و«إشارة» فتعنيان أن الجهاز نفسه يرسل القيمة عند تغيّرها؛ والفرق أن الإشارة تتطلّب تأكيدًا من العميل، فهي أبطأ لكنها أكثر موثوقية.
لماذا تحمل بعض العناصر معرّف UUID قصيرًا وأخرى معرّفًا طويلاً جدًا؟
المعرّفات بطول 16 بت، مثل 0x180F أو 0x2A19، محجوزة لدى Bluetooth SIG ولها معنى محدّد في المواصفة، لذا تعرضها الأداة باسمها الرسمي. أما معرّف UUID بطول 128 بت فيعود إلى المصنّع: وحده تطبيقه يعرف ما يحتويه، رغم أن المحتوى يُعرض على أي حال كنص أو رقم أو ست عشري.
هل يمكن للأداة أن تكتب أو تغيّر شيئًا في الجهاز؟
لا. تكتفي بقراءة القيم وتفعيل الإشعارات التي تختارها، وهو اشتراك وليس تغييرًا في إعدادات الجهاز. ولا تكتب أبدًا في أي خاصية، لذا لا خطر من ترك الطرف المحيطي في حالة غير متوقّعة.
هل تخرج بيانات الجهاز من حاسوبي؟
لا. يتولّى المتصفح الاتصال عبر محوّل البلوتوث في حاسوبك، ولا تُرسل أي قيمة مقروءة إلى خادم. تمنح الإذن لكل جهاز على حدة من مُحدِّد المتصفح، ويمكنك سحبه متى شئت.