قم بتحويل Raspberry Pi 3 إلى Eddystone URL beacon



تم إصدار Raspberry Pi 3 mini PC مؤخرًا ، وفي وقت قصير جدًا بعد ظهور النظام في السوق ، بدأوا في إنشاء مشاريع مثيرة للاهتمام على أساسها. واحد منهم ، محدد للغاية ، هو تحويل "التوت" إلى منارة URL Eddystone.

Eddystone هو تنسيق المرشد المفتوح الخاص بـ Google (المواصفات هنا ) ، وهذه التقنية متوافقة مع كل من نظام التشغيل Android و iOS. لكي يعمل هذا ، تحتاج إلى إبقاء Bluetooth LE قيد التشغيل باستمرار على هاتفك الذكي - ربما يكون هذا هو الشرط الوحيد. كل ما هو مطلوب لتحويل RPI 3 إلى Eddystone URL beacon هو جهاز الكمبيوتر المصغر نفسه ، ومصدر طاقة له وبطاقة SD. الباقي تحت القطع.

لذا ، المزيد عن Eddystone. ميزته هي القدرة على إرسال ثلاث حزم بدلاً من حزمة واحدة. هذه هي UID ، URL ، القياس عن بعد.
  • Eddystone-UID. هذا هو نفس المعرف - نظير iBeacon (UUID ، رئيسي ، ثانوي). يتكون من جزئين: معرف مساحة الاسم (10 بايت) ، معرف مثيل (6 بايت).
  • Eddystone-URL. الآن تقوم الإشارات بترجمة عناوين URL حتى 18 بايت. ستساعدنا أدوات تقصير عناوين URL في حل مشكلة عناوين URL الطويلة. على سبيل المثال ، خدمة من Google goo.gl. من هذا العنوان touchin.ru/portfolio/squawk يمكنك الحصول على نسخة قصيرة من goo.gl/PidTf3. هذا هو الابتكار الرئيسي ، سأشرح لماذا بعد ذلك بقليل.
  • Eddystone-TLM (القياس عن بعد). تتوفر بيانات المنارة التالية:

  • مستوى الشحن
  • عدد الحزم المرسلة منذ الاتصال بمصدر الطاقة
  • وقت نشاط المنارة من لحظة الاتصال بمصدر الطاقة
  • درجة الحرارة


يمكن للهاتف الذي يتلقى هذه الحزم إما أن يحذر من تلقي معلومات من نوع معين ، أو القيام ببعض الإجراءات.

تكوين "التوت"

1. تحميل Raspbian .
2. تثبيت الصورة ؛
3. نحن نبحث عن "التوت" IP. يمكن القيام بذلك باستخدام " Raspberry Pi Finder " أو nmap.

$ sudo nmap -sP 192.168.2.0/24
أو
$ arp -a | grep “b8: 27”

4. الاتصال بـ Raspberry:

$ ssh pi @ <the_ip_of_your_pww

5. نحن نبحث عن معلومات حول الأمر hciconfig

$ hciconfig -h

6. قم بتشغيل جهاز bluetooth

pi @ raspberrypi: ~ $ sudo hciconfig hci0 up

7. قم بتعيين وضع "الإعلان وعدم الاتصال"

pi @ raspberrypi: ~ $ sudo hciconfig hci0 leadv 3

8. أدخل بيانات Beacon

pi @ raspberrypi: ~ $ sudo hcitool -i hci0 cmd 0x08 0x0008 17 02 01 06 03 03 aa fe 0f 16 aa fe 10 00 02 77 65 62 67 61 7a 65 72 08 00 00 00 00 00 00 00 00

نبث:

الخيارالوصف
0x08#OGF = حقل مجموعة العمليات = مجموعة أوامر Bluetooth = 0x08
0x0008#OCF = حقل أمر التشغيل = HCI_LE_Set_Advertising_Data = 0x0008
17الطول يتحول الرقم السداسي عشري 17 إلى 23 عشريًا وهو عدد وحدات البايت التالية
02الطول
01قيمة نوع بيانات العلامات
06بيانات الأعلام
03الطول
03القائمة الكاملة لقيمة نوع بيانات خدمة UUIDs ذات 16 بت
أأ16 بت Eddystone UUID
fe16 بت Eddystone UUID
0 والطول يتحول 0f الست عشري إلى 15 عشري وهو عدد وحدات البايت التي تلي
16قيمة نوع بيانات بيانات الخدمة
أأ16 بت Eddystone UUID
fe16 بت Eddystone UUID
10نوع الإطار = URL
00TX Power (يجب معايرة هذا)
02نظام URL (http: // = 0x02)
77'w' بالنظام الست عشري
65'e' بالنظام الست عشري
62'b' بالنظام الست عشري
67'g' بالنظام الست عشري
61'a' بالنظام الست عشري
7 أ'z' بالنظام الست عشري
65'e' بالنظام الست عشري
72'r' بالنظام الست عشري
08.org (.org = 0x08)
00
00
00
00
00
00
00
00


يتيح لك المثال أعلاه إرسال عنوان مدونة مؤلف الفكرة بواسطة Eddystone و "raspberry". إذا كنت بحاجة إلى إرسال عنوان URL الخاص بك ، فقم بتغييره هنا .

لاكتشاف جهاز Raspberry Pi beacon مع iPhone ، استخدم الفيديو التعليمي التالي:



يجب على Android القيام بكل شيء تلقائيًا ، بشرط أن يكون لديك Android 4.3.2 أو أعلى ، وتمكين البلوتوث ، والجيولوجيا ، وأذونات موقع Chrome. يمكنك أيضًا استخدام تطبيق ويب حتى يعمل كل شيء على الفور وبدون مشاكل.

صفحة مؤلف المشروع .

Source: https://habr.com/ru/post/ar392379/


All Articles