- Какво е BLE и Bluetooth маяк?
- Как работи и се използва технологията BLE с маяците?
- Какво е Eddystone Beacon?
- Изисквания
- Настройте 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 от друга страна е просто обикновената стара Bluetooth протокол, който използваме за прехвърляне на файлове и други данни. Почти всички BLE устройства имат класическа Bluetooth функционалност, свързана с него. По-рано обяснихме BLE подробно с ESP32.
Bluetooth маяци:
Маяците са хардуерните устройства, които излъчват някои съобщения до близките електронни устройства и се държат като разпространител. Тази технология позволява на преносимите устройства да извършват някои действия, когато са в непосредствена близост до маяково устройство. Сега маяците могат да бъдат внедрени с помощта на BLE и класически Bluetooth. Тъй като повечето смартфони и други електронни устройства са съвместими с BLE и могат да се използват като приемник на маяк, така че внедряването на маяк на BLE е по-ефективно в сравнение с класическия маяк с Bluetooth за намаляване на консумацията на енергия.
Средно маяк с ниска енергия на Bluetooth може да предава BLE сигнали на 80 метра.
Как работи и се използва технологията BLE с маяците?
BLE е технология за ниска консумация на енергия, която е предназначена за комуникация на къси разстояния и е за предпочитане, когато животът на батерията е по-важен фактор от високата скорост на предаване на данни. Прехвърлянето на данни в тази комуникация е само еднопосочно. BLE маякът предава малки пакети данни на равни интервали от време. Тези пакети данни се получават и декодират от приложението за сканиране на маяци, инсталирано в смартфони. Получените данни задействат действия като популяризиране на продукт или избутване на съобщение.
В Bluetooth маяк идентификационен номер се предава 10 пъти всяка секунда от него чрез BLE канали. След това този идентификационен номер се получава от устройството с активирано Bluetooth и се разпознава от приложението за сканиране на маяци, той го свързва с действие, като изтегляне на приложение или част от съдържанието, съхранявано в облака, и го показва на смартфона.
Какво е Eddystone Beacon?
Eddystone е протокол, разработен от Google, който позволява да се излъчват еднопосочни съобщения към BLE устройства. Рамката Eddystone-URL формира гръбнака на Physical Web, което помага при откриването на уеб съдържание в околността. Beacon може да излъчва четири вида данни, използвайки протокола Eddystone. Те са както следва:
- Eddystone-URL за излъчване на URL адреси
- Eddystone-UID за излъчване на идентификатори на маяци
- Eddystone-TLM за излъчване на телеметрични сигнали като температура на устройството, сила на батерията и др.
- Eddystone-EID за сигурност.
Има и други видове маяци като iBeacon, който е за устройства, поддържани от iOS, но Eddystone е само за устройства с Android. Също така имайте предвид, че Google преустанови известия наблизо, сега потребителят ще трябва да инсталира специализирано приложение за скенер на маяци, което ще показва излъчваното съдържание.
В този урок ще използваме Raspberry Pi като Eddystone Beacon и ще се съсредоточим върху излъчването на URL адреса, използвайки Eddystone URL, за да може всеки лесно да получи достъп до излъчваната информация с помощта на своите устройства с Android.
Изисквания
Тук само Raspberry Pi е необходим за изграждането на този Bluetooth маяк. Трябва да е Raspberry Pi 2 или по-нова с Raspbian Jessie или по-нова OD, инсталирана в нея.
Тук ще използваме SSH за достъп до Raspberry Pi на лаптопа. Можете да използвате VNC или връзка с отдалечен работен плот на лаптопа или да свържете вашия Raspberry pi с монитор. Научете повече за настройването на Raspberry Pi без глава тук без монитор.
Настройте Raspberry Pi за Eddystone Beacon
Много е лесно да настроите излъчвателя Eddystone на Raspberry Pi. Той включва само 3 команди.
Това може да стане чрез конфигуриране на HCI (интерфейс на контролера на хоста), който може да бъде достъпен с помощта на hciconfig commad. За да проверите какво може да се направи с помощта на тази команда, въведете командата по-долу в терминала.
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 адреса
За да проверите излъчваното съобщение на вашия смартфон, изтеглете Physical Web App или Beacon скенер на вашия Android смартфон и започнете сканирането. Ще видите излъчената връзка в приложението, както е показано по-долу. Кликнете върху връзката, за да посетите и отворите уебсайта в браузъра.
Сега позволява да се разбере шестнадесетичното кодиране на съобщението. В таблицата по-долу сме дали обяснение на всяка стойност, присъстваща в кода:
Стойност |
Описание |
---|---|
0x08 |
#OGF = Поле на операционната група = Командна група на Bluetooth = 0x08 |
0x0008 |
#OCF = Командно поле за операция = HCI_LE_Set_Advertising_Data = 0x0008 |
1в |
Дължина. Шестнадесетичният 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 |
TX мощност (това трябва да се калибрира) |
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 Beacon, просто преобразувайте символите на 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 URL излъчвател с точно разстояние.
Приложения на Eddystone Bluetooth Beacon
Ето някои от случаите на използване на BLE маяк:
- Търговия на дребно с възможност за BLE: Тази технология може да се използва за привличане на клиенти в близост до магазините, като рекламира вълнуващите оферти и продажби.
- Събития с активиран BLE маяк: Може да се използва за лесна регистрация на събитията и на стадиони с лесни плащания.
- BLE маяци в недвижими имоти: Можете да получите всички подробности за имотите в близост до вас и да резервирате с едно докосване.
Има много други приложения, които можете да измислите и внедрите според изискванията.
Ето как Raspberry Pi може да се използва за излъчване на всяко съобщение или URL адрес, като го преобразува в Bluetooth маяк с помощта на Eddystone. Проверете демонстрационното видео по-долу.
/>