- Що таке маяк BLE та Bluetooth?
- Як технологія BLE працює та використовується з маяками?
- Що таке Еддістон Маяк?
- Вимоги
- Налаштування Raspberry Pi для Eddystone Beacon
- Оптимізуйте потужність передавального сигналу, калібруючи потужність Tx
- Застосування Eddystone Bluetooth Beacon
Bluetooth є однією з революційних технологій бездротової передачі даних, управління іншими пристроями, побудови систем домашньої автоматизації тощо. Але чи замислювались ви коли-небудь про те, що Bluetooth також може використовуватися для передачі будь-якої інформації на прилеглі пристрої для відображення важливої інформації, легко замовлення тощо. Існує протокол, розроблений Google, для виконання завдання якого можна легко розгорнути в Raspberry Pi, щоб зробити його мовником Bluetooth Beacon.
У цьому посібнику ми дізнаємося про BLE (Bluetooth Low Energy) та маяк Bluetooth та встановимо Eddystone Bluetooth Beacon у Raspberry Pi для трансляції URL-адреси. Його дуже легко перетворити Raspberry Pi на маяк Bluetooth, оскільки він має вбудований Bluetooth.
Що таке маяк BLE та Bluetooth?
Як випливає з назви, Bluetooth Low Energy споживає менше енергії, ніж класичний Bluetooth. Це досягається шляхом надсилання даних за необхідності з попередньо визначеними періодичними оновленнями. Але на відміну від класичного Bluetooth, він не використовується для передачі файлів або музики. Пристрій BLE працює з Bluetooth V4.0 і може працювати з низькою потужністю як сервер або як клієнт, що робить BLE ідеальним вибором для маяків, розумних годинників, фітнес-ремінців тощо. Протокол Bluetooth, який ми використовуємо для передачі файлів та інших даних. Майже на всіх пристроях BLE пов'язана класична функціональність Bluetooth. Раніше ми детально пояснювали BLE з ESP32.
Маяки Bluetooth:
Маяки є апаратними пристроями, які транслюють деякі повідомлення прилеглих електронних пристроїв і ведуть себе як мовник. Ця технологія дозволяє портативним пристроям виконувати деякі дії, коли вони перебувають у безпосередній близькості від маякового пристрою. Тепер маяки можна реалізувати за допомогою BLE та класичного Bluetooth. Оскільки більшість смартфонів та інших електронних пристроїв сумісні з BLE і їх можна використовувати як приймач маяка, тому впровадження маяка BLE є більш ефективним порівняно з класичним маяком Bluetooth для зменшення енергоспоживання.
У середньому маяк Bluetooth із низьким енергоспоживанням може передавати сигнали BLE на 80 метрів.
Як технологія BLE працює та використовується з маяками?
BLE - це технологія низького енергоспоживання, розроблена для зв'язку на короткий діапазон, і вона є кращою, коли час автономної роботи є більш важливим фактором, ніж висока швидкість передачі даних. Передача даних у цьому зв'язку є лише односторонньою. Маяк BLE передає невеликі пакети даних через рівні проміжки часу. Ці пакети даних приймаються та декодуються за допомогою програми сканера маяків, встановленої у смартфонах. Отримані дані викликають такі дії, як просування товару чи проштовхування повідомлення.
У маяку Bluetooth ідентифікаційний номер передається 10 разів щосекунди через канал BLE. Потім цей ідентифікаційний номер отримує пристрій із підтримкою Bluetooth і розпізнається програмою сканера маяків, він пов’язує його з дією, наприклад, завантажує програму або фрагмент вмісту, що зберігається в хмарі, і відображає його на смартфоні.
Що таке Еддістон Маяк?
Eddystone - це протокол, розроблений Google, який дозволяє транслювати односторонні повідомлення на пристрої BLE. Фрейм Eddystone-URL утворює основу фізичної мережі, яка допомагає виявляти веб-вміст в оточенні. Beacon може передавати чотири типи даних за допомогою протоколу Eddystone. Вони такі:
- Eddystone-URL для трансляції URL-адрес
- Eddystone-UID для трансляції ідентифікаторів маяків
- Eddystone-TLM для передачі телеметричних сигналів, таких як температура пристрою, рівень заряду акумулятора тощо.
- Eddystone-EID для безпеки.
Існують також інші типи маяків, такі як iBeacon, який призначений для пристроїв, що підтримують iOS, але Eddystone призначений лише для пристроїв Android. Також зауважте, що Google припинив роботу Повідомлень поблизу, тепер користувачеві доведеться встановити спеціалізовану програму сканера маяків, яка відображатиме вміст, що транслюється.
У цьому підручнику ми будемо використовувати Raspberry Pi як маяк Eddystone і зосередитись на трансляції URL-адреси за допомогою URL-адреси Eddystone, щоб кожен міг легко отримати доступ до переданої інформації за допомогою своїх пристроїв Android.
Вимоги
Тут для побудови цього маяка Bluetooth потрібен лише Raspberry Pi. Це має бути Raspberry Pi 2 або новіша версія, на якій встановлено Raspbian Jessie, або новіша OD.
Тут ми будемо використовувати SSH для доступу до Raspberry Pi на ноутбуці. Ви можете використовувати VNC або підключення до віддаленого робочого столу на ноутбуці, або можете підключити Raspberry pi до монітора. Дізнайтеся більше про налаштування Raspberry Pi без голови тут без монітора.
Налаштування Raspberry Pi для Eddystone Beacon
Налаштувати мовник Eddystone на Raspberry Pi дуже просто. Він включає лише 3 команди.
Це можна зробити, налаштувавши HCI (інтерфейс контролера хосту), до якого можна отримати доступ за допомогою команди hciconfig. Щоб перевірити, що можна зробити за допомогою цієї команди, введіть команду нижче в терміналі.
hciconfig -h
1. По-перше, ми повинні ввімкнути пристрій Bluetooth на нашому Raspberry Pi, використовуючи команду нижче.
sudo hciconfig hci0 вгору
2. Тепер ми повинні встановити Bluetooth, щоб він «рекламував та не підключався» пристрій, використовуючи команду нижче.
sudo hciconfig hci0 leadv 3
3. Вищезазначені команди змушують пристрій запускати послугу мовлення, тепер просто введіть дані маяка в наступну команду, яка містить інформацію про різні кадри та URL-адресу у шістнадцятковому форматі. Виконайте наведену нижче команду, щоб розпочати мовлення маяка.
sudo hcitool -i hci0 cmd 0x08 0x0008 1c 02 01 06 03 03 aa fe 14 16 aa fe 10 00 02 63 69 72 63 75 69 74 64 69 67 65 73 74 07 00 00 00
Ця команда буде транслювати URL-адресу
Щоб перевірити повідомлення, що транслюється на вашому смартфоні, завантажте на свій смартфон Android сканер Physical Web App або сканер Beacon і починайте сканування. Ви побачите посилання, яке транслюється в додатку, як показано нижче. Клацніть на посилання, щоб відвідати та відкрити веб-сайт у браузері.
Тепер давайте зрозуміємо шістнадцяткове кодування повідомлення. У нижченаведеній таблиці ми дали пояснення кожного значення в коді:
Значення |
Опис |
---|---|
0x08 |
#OGF = Поле робочої групи = Командна група Bluetooth = 0x08 |
0x0008 |
#OCF = Поле команди операції = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Довжина. Шістнадцяткове число 1c перетворюється на 23 десяткові, тобто кількість байтів, що слідують. |
02 |
Довжина |
01 |
Значення типу даних прапорів |
06 |
Дані прапорів |
03 |
Довжина |
03 |
Повний список 16-розрядних значень типу даних UUID служб |
аа |
16-розрядний Eddystone UUID |
fe |
16-розрядний Eddystone UUID |
14 |
Довжина. Шістнадцяткове число 14 перетворюється на 15 десяткових значень, тобто кількість байтів, що слідують |
16 |
Значення типу даних службових даних |
аа |
16-розрядний Eddystone UUID |
fe |
16-розрядний Eddystone UUID |
10 |
Тип кадру = URL |
00 |
Потужність передачі (це слід відкалібрувати) |
02 |
Схема URL-адреси (http: // = 0x02) |
63 |
'c' у шістнадцятковій |
69 |
'i' у шістнадцятковій |
72 |
'r' у шістнадцятковій |
63 |
'c' у шістнадцятковій |
75 |
'u' у шістнадцятковій |
69 |
'i' у шістнадцятковій |
74 |
't' у шістнадцятковій |
64 |
'd' у шістнадцятковій |
69 |
'i' у шістнадцятковій |
67 |
'g' у шістнадцятковій |
65 |
'e' у шістнадцятковій |
73 |
's' у шістнадцятковій |
74 |
't' у шістнадцятковій |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Щоб транслювати будь-яку користувацьку URL-адресу за допомогою радіомаяка Raspberry Pi Bluetooth, просто перетворіть символи URL-адреси у шістнадцяткові за допомогою будь-якого онлайн-інструменту та вставте його у вищевказану команду. Максимальна кількість символів, які можна передати, - 16, якщо URL-адреса занадто довга, скоротіть її, використовуючи будь-які служби скорочення URL-адрес, наприклад bitly.com, а потім помістіть дані в таблицю вище.
Перетворювати кожного символа в шістнадцятковий еквівалент дуже громіздко і трудомістко. Отже, щоб зробити вашу роботу просто, є калькулятор команд Eddystone URL, де вам просто потрібно ввести URL-адресу, яку ви хочете транслювати, і ваша команда буде готова таким чином.
Зараз маяк Bluetooth транслює URL-адресу і працює нормально, але є ще одна річ, яку потрібно відкалібрувати, це потужність Tx, яка є одним із значень у вищезазначеній команді, щоб отримати точну відстань від маяка Bluetooth.
Оптимізуйте потужність передавального сигналу, калібруючи потужність Tx
У кадрі Eddystone є кілька переданих компонентів, і потужність Tx є однією з них, яка говорить про силу сигналу. Декодуючи силу сигналу, приймач знаходить відстань від мовника Beacon. Значення потужності Tx може коливатися в діапазоні від -12 до 10. Для отримання точної відстані нам потрібно знайти значення методом потрапляння та випробування. Для цього відрегулюйте значення потужності Tx в команді повідомлення Eddystone і поставте свій смартфон на відстань 1 м, відкривши програму сканера Beacon. Тепер почніть вводити значення потужності Tx в команді від 0 до негативних значень. Не забудьте перетворити десяткові значення у шестигранному десятковому форматі, для цього використовуйте інструменти онлайн-перетворювача значень для зручного декодування та візьміть дві останні цифри перетвореного значення. У моєму випадку значення гекса становить f4. Перевірте відстань у програмі сканера, відрегулюйте значення до тих пір, поки вона не покаже приблизно 1 м, а після цього ви будете використовувати мовний агент Eddystone з точною відстанню.
Застосування Eddystone Bluetooth Beacon
Ось деякі приклади використання маяка BLE:
- Роздрібна торгівля з підтримкою BLE: Ця технологія може бути використана для залучення покупців поблизу магазинів, рекламуючи захоплюючі пропозиції та розпродажі.
- Події з увімкненим маяком BLE: Він може бути використаний для легкої реєстрації на заходах та на стадіонах за допомогою легкої оплати оплати.
- BLE-маяки в нерухомості: Ви можете отримати всі деталі об’єктів нерухомості, що є поблизу Вас, і забронювати їх одним дотиком.
Є багато інших додатків, які ви можете продумати та реалізувати відповідно до вимог.
Отже, як Raspberry Pi може бути використаний для трансляції будь-якого повідомлення або URL-адреси, перетворивши їх у маяк Bluetooth за допомогою Eddystone. Перегляньте демонстраційне відео нижче.
/>