- Co to jest BLE i Beacon Bluetooth?
- Jak technologia BLE działa i jest używana z lampami ostrzegawczymi?
- Co to jest Eddystone Beacon?
- Wymagania
- Skonfiguruj Raspberry Pi dla Eddystone Beacon
- Zoptymalizuj moc sygnału nadawczego, kalibrując moc Tx
- Aplikacje Eddystone Bluetooth Beacon
Bluetooth to jedna z rewolucyjnych technologii umożliwiających bezprzewodowe przesyłanie danych, sterowanie innymi urządzeniami, budowanie systemów automatyki domowej itp. Ale czy kiedykolwiek zastanawiałeś się, czy Bluetooth może być również używany do przesyłania dowolnych informacji do pobliskich urządzeń, aby wyświetlić ważne informacje, s, łatwe checkout itp. Istnieje protokół opracowany przez Google do wykonania zadania, który można łatwo wdrożyć w Raspberry Pi, aby uczynić z niego nadawcę Bluetooth Beacon.
W tym samouczku dowiemy się o BLE (Bluetooth Low Energy) i beaconie Bluetooth i zainstalujemy Eddystone Bluetooth Beacon w Raspberry Pi, aby nadawać adres URL. Bardzo łatwo jest przekształcić Raspberry Pi w nadajnik Bluetooth, ponieważ ma wbudowany Bluetooth.
Co to jest BLE i Beacon Bluetooth?
Bluetooth Low Energy, jak sama nazwa wskazuje, zużywa mniej energii niż klasyczne Bluetooth. Osiąga się to poprzez wysyłanie danych w razie potrzeby ze wstępnie zdefiniowanymi okresowymi aktualizacjami. Ale w przeciwieństwie do klasycznego Bluetooth nie służy do przesyłania plików ani muzyki. Urządzenie BLE współpracuje z Bluetooth V4.0 i może działać z niskim poborem mocy jako serwer lub jako klient, co sprawia, że BLE jest idealnym wyborem dla beaconów, inteligentnych zegarków, opasek fitness itp. Z drugiej strony klasyczny Bluetooth jest po prostu zwykłym starym Protokół Bluetooth, którego używamy do przesyłania plików i innych danych. Prawie wszystkie urządzenia BLE mają powiązaną z nim klasyczną funkcjonalność Bluetooth. Wcześniej szczegółowo wyjaśniliśmy BLE w ESP32.
Sygnalizatory Bluetooth:
Beacony to urządzenia sprzętowe, które wysyłają niektóre wiadomości do pobliskich urządzeń elektronicznych i zachowują się jak nadawca. Ta technologia umożliwia urządzeniom przenośnym wykonywanie pewnych czynności, gdy znajdują się w pobliżu urządzenia nawigacyjnego. Teraz beacony można zaimplementować za pomocą BLE i klasycznego Bluetooth. Ponieważ większość smartfonów i innych urządzeń elektronicznych jest kompatybilna z BLE i może być używana jako odbiornik Beacon, więc wdrożenie BLE beacon jest bardziej wydajne w porównaniu z klasycznym beaconem Bluetooth w celu zmniejszenia zużycia energii.
Średnio latarnia Bluetooth Low Energy może przesyłać sygnały BLE na 80 metrów.
Jak technologia BLE działa i jest używana z lampami ostrzegawczymi?
BLE to technologia o niskim zużyciu energii, zaprojektowana do komunikacji na krótkie odległości i jest preferowana tam, gdzie żywotność baterii jest ważniejszym czynnikiem niż wysoka szybkość transmisji danych. Przesyłanie danych w tej komunikacji jest tylko jednokierunkowe. BLE beacon przesyła małe pakiety danych w regularnych odstępach czasu. Te pakiety danych są odbierane i dekodowane przez aplikację skanera sygnałów nawigacyjnych zainstalowaną na smartfonach. Te otrzymane dane uruchamiają działania, takie jak promowanie produktu lub wysyłanie wiadomości.
W radiolatarni Bluetooth numer identyfikacyjny jest przesyłany przez niego 10 razy na sekundę kanałami BLE. Następnie ten numer identyfikacyjny jest odbierany przez urządzenie obsługujące technologię Bluetooth i rozpoznawany przez aplikację skanera sygnałów nawigacyjnych, łączy go z działaniem, takim jak pobranie aplikacji lub treści przechowywanej w chmurze, i wyświetla go na smartfonie.
Co to jest Eddystone Beacon?
Eddystone to protokół opracowany przez Google, który umożliwia przesyłanie wiadomości w jedną stronę do urządzeń BLE. Ramka Eddystone-URL stanowi szkielet sieci rzeczy, która pomaga w odkrywaniu treści internetowych w otoczeniu. Beacon może transmitować cztery typy danych przy użyciu protokołu Eddystone. Są one następujące:
- Eddystone-URL do rozgłaszania adresów URL
- Eddystone-UID do nadawania identyfikatorów sygnałów nawigacyjnych
- Eddystone-TLM do nadawania telemetrii beaconów, takich jak temperatura urządzenia, moc baterii itp.
- Eddystone-EID dla bezpieczeństwa.
Istnieją również inne typy sygnałów nawigacyjnych, takie jak iBeacon, który jest przeznaczony dla urządzeń z systemem iOS, ale Eddystone jest dostępny tylko dla urządzeń z systemem Android. Należy również pamiętać, że Google zaprzestał obsługi powiadomień w pobliżu, teraz użytkownik będzie musiał zainstalować specjalistyczną aplikację skanera sygnałów nawigacyjnych, która będzie wyświetlać nadawane treści.
W tym samouczku użyjemy Raspberry Pi jako Eddystone Beacon i skupimy się na nadawaniu adresu URL za pomocą Eddystone URL, aby każdy mógł łatwo uzyskać dostęp do nadawanych informacji za pomocą swoich urządzeń z Androidem.
Wymagania
Tutaj tylko Raspberry Pi jest potrzebne do zbudowania tego nadajnika Bluetooth. Powinien to być Raspberry Pi 2 lub nowszy z zainstalowanym Raspbian Jessie lub nowszym OD.
Tutaj użyjemy SSH, aby uzyskać dostęp do Raspberry Pi na laptopie. Możesz użyć połączenia VNC lub pulpitu zdalnego na laptopie lub podłączyć Raspberry pi do monitora. Dowiedz się więcej o konfigurowaniu Raspberry Pi bez głowy tutaj bez monitora.
Skonfiguruj Raspberry Pi dla Eddystone Beacon
Konfiguracja nadawcy Eddystone na Raspberry Pi jest bardzo łatwa. Obejmuje tylko 3 polecenia.
Można to zrobić, konfigurując HCI (interfejs kontrolera hosta), do którego można uzyskać dostęp za pomocą hciconfig commad. Aby sprawdzić, co można zrobić za pomocą tego polecenia, wprowadź poniższe polecenie w terminalu.
hciconfig -h
1. Najpierw musimy włączyć urządzenie Bluetooth w naszym Raspberry Pi za pomocą poniższego polecenia.
sudo hciconfig hci0 up
2. Teraz musimy ustawić Bluetooth na „ogłaszaj i nie podłączaj” urządzenia za pomocą poniższego polecenia.
sudo hciconfig hci0 leadv 3
3. Powyższe komendy powodują, że urządzenie uruchamia usługę rozgłoszeniową, teraz wystarczy wpisać dane beacona w następnej komendzie, która zawiera różne informacje o ramkach i adres URL w formacie szesnastkowym. Uruchom poniższe polecenie, aby rozpocząć nadawanie sygnału nawigacyjnego.
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
To polecenie spowoduje rozgłoszenie adresu URL
Aby sprawdzić nadawaną wiadomość na smartfonie, pobierz aplikację Physical Web App lub skaner Beacon na smartfon z systemem Android i rozpocznij skanowanie. W aplikacji zobaczysz nadawany link, jak pokazano poniżej. Kliknij łącze, aby odwiedzić i otworzyć witrynę w przeglądarce.
Teraz zrozumiemy szesnastkowe kodowanie wiadomości. W poniższej tabeli podajemy wyjaśnienie każdej wartości występującej w kodzie:
Wartość |
Opis |
---|---|
0x08 |
#OGF = Pole grupy operacji = Grupa poleceń Bluetooth = 0x08 |
0x0008 |
#OCF = Operation Command Field = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Długość. Szesnastkowe 1c konwertuje na 23 dziesiętne, czyli liczbę kolejnych bajtów. |
02 |
Długość |
01 |
Flagi wartość typu danych |
06 |
Flagi danych |
03 |
Długość |
03 |
Pełna lista 16-bitowych wartości typu danych identyfikatorów UUID usług |
aa |
16-bitowy identyfikator UUID Eddystone |
fe |
16-bitowy identyfikator UUID Eddystone |
14 |
Długość. Szesnastkowe 14 konwertuje na 15 dziesiętne, czyli liczbę kolejnych bajtów |
16 |
Wartość typu danych usługi |
aa |
16-bitowy identyfikator UUID Eddystone |
fe |
16-bitowy identyfikator UUID Eddystone |
10 |
Frame Type = URL |
00 |
TX Power (należy to skalibrować) |
02 |
Schemat adresu URL (http: // = 0x02) |
63 |
„c” w systemie szesnastkowym |
69 |
„i” w systemie szesnastkowym |
72 |
„r” w systemie szesnastkowym |
63 |
„c” w systemie szesnastkowym |
75 |
„u” w systemie szesnastkowym |
69 |
„i” w systemie szesnastkowym |
74 |
„t” w systemie szesnastkowym |
64 |
„d” w systemie szesnastkowym |
69 |
„i” w systemie szesnastkowym |
67 |
„g” w systemie szesnastkowym |
65 |
„e” w systemie szesnastkowym |
73 |
„s” w systemie szesnastkowym |
74 |
„t” w systemie szesnastkowym |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Aby rozgłaszać dowolny niestandardowy adres URL za pomocą Raspberry Pi Bluetooth Beacon, po prostu przekonwertuj znaki URL na szesnastkowe za pomocą dowolnego narzędzia online i umieść je w powyższym poleceniu. Maksymalna liczba znaków, które można przesłać, to 16, jeśli adres URL jest zbyt długi, skróć go za pomocą usług skracających adresy URL, takich jak bitly.com, a następnie dopasuj dane w powyższej tabeli.
Konwersja każdego znaku na odpowiednik szesnastkowy jest bardzo kłopotliwa i czasochłonna. Aby łatwo wykonać swoją pracę, istnieje kalkulator poleceń adresu URL Eddystone, w którym wystarczy wprowadzić adres URL, który chcesz nadać, a otrzymasz polecenie gotowe w ten sposób.
Sygnał nawigacyjny Bluetooth przesyła teraz adres URL i działa dobrze, ale jest jeszcze jedna rzecz do kalibracji, czyli moc Tx, która jest jedną z wartości w powyższym poleceniu, aby uzyskać dokładną odległość od światła nawigacyjnego Bluetooth.
Zoptymalizuj moc sygnału nadawczego, kalibrując moc Tx
W ramce Eddystone jest kilka elementów, które są przesyłane, a moc Tx jest jednym z nich, który mówi o sile sygnału. Dekodując siłę sygnału, odbiornik znajduje odległość od nadawcy Beacon. Wartość mocy Tx może wynosić od -12 do 10. Musimy znaleźć wartość metodą trafienia i próby, aby uzyskać dokładną odległość. W tym celu dostosuj wartość mocy Tx w poleceniu wiadomości Eddystone i umieść smartfon w odległości 1 m z otwartą aplikacją skanera Beacon. Teraz zacznij wstawiać wartości mocy Tx w poleceniu od 0 do wartości ujemnych. Pamiętaj, aby przekonwertować wartości dziesiętne na format szesnastkowy, w tym celu użyj narzędzi konwertera wartości online do łatwego dekodowania i weź ostatnie dwie cyfry przeliczonej wartości. W moim przypadku wartość hexa to f4. Sprawdź odległość w aplikacji skanera, dostosuj wartości, aż pokaże około 1 m, a następnie użyj nadajnika URL Eddystone z dokładną odległością.
Aplikacje Eddystone Bluetooth Beacon
Oto kilka przypadków użycia beacona BLE:
- Handel detaliczny z obsługą BLE: tę technologię można wykorzystać do przyciągnięcia klientów w pobliżu sklepów poprzez reklamowanie ekscytujących ofert i wyprzedaży.
- Wydarzenia z włączoną sygnalizacją świetlną BLE: Może być używany do łatwej rejestracji na imprezach i na stadionach z łatwymi kasami płatniczymi.
- BLE beacons in Real Estate: Możesz uzyskać wszystkie szczegóły dotyczące nieruchomości dostępnych w Twojej okolicy i zarezerwować je jednym dotknięciem.
Istnieje wiele innych aplikacji, które możesz wymyślić i wdrożyć zgodnie z wymaganiami.
W ten sposób Raspberry Pi może być używany do nadawania dowolnej wiadomości lub adresu URL, konwertując go na nadajnik Bluetooth za pomocą Eddystone. Sprawdź poniższy film demonstracyjny.
/>