- Was ist BLE und Bluetooth Beacon?
- Wie funktioniert und wird die BLE-Technologie mit Beacons verwendet?
- Was ist Eddystone Beacon?
- Bedarf
- Richten Sie Raspberry Pi für Eddystone Beacon ein
- Optimieren Sie die Sendesignalleistung durch Kalibrieren der Sendeleistung
- Anwendungen von Eddystone Bluetooth Beacon
Bluetooth ist eine der revolutionären Technologien, um Daten drahtlos zu übertragen, andere Geräte zu steuern, Hausautomationssysteme zu bauen usw. Aber haben Sie sich jemals gefragt, ob Bluetooth auch zum Senden von Informationen an Geräte in der Nähe verwendet werden kann, um wichtige Informationen einfach anzuzeigen? Kasse usw. Es gibt ein von Google entwickeltes Protokoll, dessen Aufgabe einfach in Raspberry Pi bereitgestellt werden kann , um es zum Bluetooth Beacon-Sender zu machen.
In diesem Tutorial lernen wir BLE (Bluetooth Low Energy) und Bluetooth Beacon kennen und installieren das Eddystone Bluetooth Beacon in Raspberry Pi, um eine URL zu senden. Es ist sehr einfach, Raspberry Pi in ein Bluetooth-Beacon umzuwandeln, da es über Bluetooth verfügt.
Was ist BLE und Bluetooth Beacon?
Die Bluetooth Low Energy, wie der Name schon sagt verbraucht weniger Strom als klassischer Bluetooth. Dies wird erreicht, indem bei Bedarf Daten mit vordefinierten regelmäßigen Aktualisierungen gesendet werden. Im Gegensatz zu klassischem Bluetooth wird es jedoch nicht zum Übertragen von Dateien oder Musik verwendet. Ein BLE-Gerät arbeitet mit Bluetooth V4.0 und kann mit geringem Stromverbrauch als Server oder als Client betrieben werden, was BLE zu einer idealen Wahl für Beacons, Smartwatches, Fitnessbänder usw. macht. Klassisches Bluetooth hingegen ist einfach nur alt Bluetooth-Protokoll, mit dem wir Dateien und andere Daten übertragen. Fast allen BLE-Geräten ist die klassische Bluetooth-Funktionalität zugeordnet. Wir haben BLE zuvor mit ESP32 ausführlich erklärt.
Bluetooth-Beacons:
Beacons sind die Hardwaregeräte, die einige Nachrichten an nahegelegene Elektronikgeräte senden und sich wie ein Sender verhalten. Diese Technologie ermöglicht es den tragbaren Geräten, einige Aktionen auszuführen, wenn sie sich in unmittelbarer Nähe des Beacon-Geräts befinden. Jetzt können Beacons mit BLE und klassischem Bluetooth implementiert werden. Da die meisten Smartphones und anderen elektronischen Geräte mit BLE kompatibel sind und als Beacon-Empfänger verwendet werden können, ist die Implementierung von BLE-Beacons im Vergleich zu klassischen Bluetooth-Beacons effizienter, um den Stromverbrauch zu senken.
Im Durchschnitt kann ein Bluetooth Low Energy Beacon BLE-Signale auf 80 Meter übertragen.
Wie funktioniert und wird die BLE-Technologie mit Beacons verwendet?
BLE ist eine Technologie mit geringem Stromverbrauch, die für die Kommunikation über kurze Entfernungen ausgelegt ist. Sie wird bevorzugt, wenn die Batterielebensdauer wichtiger ist als eine hohe Datenrate. Die Datenübertragung in dieser Kommunikation erfolgt nur in eine Richtung. BLE Beacon überträgt kleine Datenpakete in regelmäßigen Zeitabständen. Diese Datenpakete werden von der auf Smartphones installierten Beacon-Scanner-App empfangen und dekodiert. Diese empfangenen Daten lösen Aktionen wie die Werbung für ein Produkt oder das Versenden einer Nachricht aus.
In Bluetooth Beacon wird eine ID-Nummer 10 Mal pro Sekunde von ihr über BLE-Kanäle übertragen. Diese ID-Nummer wird dann vom Bluetooth-fähigen Gerät empfangen und von der Beacon-Scanner-App erkannt. Sie verknüpft sie mit einer Aktion, z. B. dem Herunterladen einer App oder eines in der Cloud gespeicherten Inhalts, und zeigt sie auf dem Smartphone an.
Was ist Eddystone Beacon?
Eddystone ist ein von Google entwickeltes Protokoll, mit dem One-Way-Nachrichten an BLE-Geräte gesendet werden können. Der Eddystone-URL-Frame bildet das Rückgrat des physischen Webs, das bei der Erkennung von Webinhalten in der Umgebung hilft. Beacon kann mithilfe des Eddystone-Protokolls vier Datentypen senden. Sie sind wie folgt:
- Eddystone-URL zum Senden von URL-Adressen
- Eddystone-UID zum Senden von Beacons-IDs
- Eddystone-TLM für die Übertragung von Beacon-Telemetrie wie Gerätetemperatur, Batteriestärke usw.
- Eddystone-EID für die Sicherheit.
Es gibt auch andere Arten von Beacons wie iBeacon für iOS-unterstützte Geräte, Eddystone jedoch nur für Android-Geräte. Beachten Sie auch, dass Google Benachrichtigungen in der Nähe eingestellt hat. Jetzt muss der Benutzer eine spezielle Beacon-Scanner-App installieren, die den übertragenen Inhalt anzeigt.
In diesem Tutorial verwenden wir Raspberry Pi als Eddystone Beacon und konzentrieren uns auf die Übertragung der URL-Adresse mithilfe der Eddystone-URL, damit jeder mithilfe seiner Android-Geräte problemlos auf die übertragenen Informationen zugreifen kann.
Bedarf
Hier wird nur Raspberry Pi benötigt, um dieses Bluetooth-Beacon zu bauen. Es sollte Raspberry Pi 2 oder neuer mit Raspbian Jessie oder einem neueren OD sein.
Hier verwenden wir SSH, um auf Raspberry Pi auf dem Laptop zuzugreifen. Sie können eine VNC- oder Remotedesktopverbindung auf dem Laptop verwenden oder Ihren Raspberry pi mit einem Monitor verbinden. Erfahren Sie hier mehr über das kopflose Einrichten von Raspberry Pi ohne Monitor.
Richten Sie Raspberry Pi für Eddystone Beacon ein
Es ist sehr einfach, den Eddystone-Sender auf Raspberry Pi einzurichten. Es sind nur 3 Befehle erforderlich.
Dies kann durch Konfigurieren der HCI (Host Controller Interface) erfolgen, auf die über hciconfig commad zugegriffen werden kann. Geben Sie den folgenden Befehl im Terminal ein, um zu überprüfen, was mit diesem Befehl getan werden kann.
hciconfig -h
1. Zuerst müssen wir das Bluetooth-Gerät auf unserem Raspberry Pi mit dem folgenden Befehl aktivieren.
sudo hciconfig hci0 up
2. Jetzt müssen wir das Bluetooth mit dem folgenden Befehl auf " Gerät werben und nicht verbindbar" einstellen.
sudo hciconfig hci0 leadv 3
3. Mit den obigen Befehlen kann das Gerät den Rundfunkdienst ausführen. Geben Sie jetzt einfach im nächsten Befehl Beacon-Daten ein, die verschiedene Frame-Informationen und URLs im Hexadezimalformat enthalten. Führen Sie den folgenden Befehl aus, um die Beacon-Übertragung zu starten.
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
Dieser Befehl sendet die URL
Laden Sie die Physical Web App oder den Beacon-Scanner auf Ihr Android-Smartphone herunter und starten Sie den Scanvorgang, um die auf Ihrem Smartphone gesendete Nachricht zu überprüfen. Sie sehen den gesendeten Link in der App wie unten gezeigt. Klicken Sie auf den Link, um die Website im Browser zu besuchen und zu öffnen.
Lassen Sie uns nun die hexadezimale Codierung der Nachricht verstehen. In der folgenden Tabelle haben wir alle im Code enthaltenen Werte erläutert:
Wert |
Beschreibung |
---|---|
0x08 |
#OGF = Operationsgruppenfeld = Bluetooth-Befehlsgruppe = 0x08 |
0x0008 |
#OCF = Operation Command Field = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Länge. Das hexadezimale 1c wird in 23 Dezimalzahlen konvertiert. Dies ist die Anzahl der folgenden Bytes. |
02 |
Länge |
01 |
Flags Datentypwert |
06 |
Flags Daten |
03 |
Länge |
03 |
Vollständige Liste des Datentypwerts für 16-Bit-Service-UUIDs |
aa |
16-Bit-Eddystone-UUID |
zB |
16-Bit-Eddystone-UUID |
14 |
Länge. Das Hexadezimal 14 wird in 15 Dezimalzahlen konvertiert. Dies ist die Anzahl der folgenden Bytes |
16 |
Wert des Datentyps für Servicedaten |
aa |
16-Bit-Eddystone-UUID |
zB |
16-Bit-Eddystone-UUID |
10 |
Rahmentyp = URL |
00 |
Sendeleistung (dies sollte kalibriert werden) |
02 |
URL-Schema (http: // = 0x02) |
63 |
'c' hexadezimal |
69 |
'i' hexadezimal |
72 |
'r' hexadezimal |
63 |
'c' hexadezimal |
75 |
'u' hexadezimal |
69 |
'i' hexadezimal |
74 |
't' hexadezimal |
64 |
'd' hexadezimal |
69 |
'i' hexadezimal |
67 |
'g' hexadezimal |
65 |
'e' hexadezimal |
73 |
's' hexadezimal |
74 |
't' hexadezimal |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Um eine benutzerdefinierte URL mit Raspberry Pi Bluetooth Beacon zu senden, konvertieren Sie einfach die URL-Zeichen mit einem beliebigen Online-Tool in hexadezimal und fügen Sie sie in den obigen Befehl ein. Es können maximal 16 Zeichen übertragen werden. Wenn die URL zu lang ist, kürzen Sie sie mithilfe von URL-Shortners-Diensten wie bitly.com und passen Sie die Daten in die obige Tabelle ein.
Es ist sehr umständlich und zeitaufwändig, jedes Zeichen in ein hexadezimales Äquivalent umzuwandeln. Um Ihre Arbeit zu vereinfachen, gibt es einen Eddystone-URL-Befehlsrechner, in den Sie nur die URL eingeben müssen, die gesendet werden soll, und Sie werden Ihren Befehl so fertigstellen.
Bluetooth Beacon sendet jetzt die URL und funktioniert einwandfrei. Es muss jedoch noch eine weitere Sache kalibriert werden: die Sendeleistung, die einer der Werte im obigen Befehl ist, um die genaue Entfernung vom Bluetooth Beacon zu ermitteln.
Optimieren Sie die Sendesignalleistung durch Kalibrieren der Sendeleistung
Im Eddystone-Frame werden nur wenige Komponenten übertragen, und die Sendeleistung ist eine davon, die die Stärke des Signals angibt. Durch Dekodieren der Signalstärke ermittelt der Empfänger die Entfernung zum Beacon-Sender. Der Wert der Sendeleistung kann zwischen -12 und 10 liegen. Wir müssen den Wert durch Treffer- und Versuchsmethode ermitteln, um die genaue Entfernung zu erhalten. Passen Sie dazu den Wert der Sendeleistung im Nachrichtenbefehl Eddystone an und bringen Sie Ihr Smartphone bei geöffneter Beacon-Scanner-App in eine Entfernung von 1 m. Beginnen Sie nun damit, die Werte der Sendeleistung im Befehl von 0 auf negative Werte zu setzen. Denken Sie daran, die Dezimalwerte im Hexa-Dezimalformat zu konvertieren. Verwenden Sie dazu die Online-Wertekonvertierungswerkzeuge für eine einfache Dekodierung und nehmen Sie die letzten beiden Ziffern des konvertierten Werts. In meinem Fall ist der Hexa-Wert f4. Überprüfen Sie die Entfernung in der Scanner-App, passen Sie die Werte an, bis ca. 1 m angezeigt werden. Anschließend müssen Sie den Eddystone URL-Sender mit genauer Entfernung verwenden.
Anwendungen von Eddystone Bluetooth Beacon
Hier sind einige Anwendungsfälle für BLE-Beacons:
- BLE-fähiger Einzelhandel: Mit dieser Technologie können Kunden in der Nähe der Geschäfte angezogen werden, indem für die aufregenden Angebote und Verkäufe geworben wird.
- BLE Beacon-fähige Events: Es kann verwendet werden, um sich einfach bei Events und in Stadien mit einfachen Zahlungsabrechnungen anzumelden.
- BLE-Leuchtfeuer in Immobilien: Sie können alle Details der in Ihrer Nähe verfügbaren Immobilien abrufen und mit einem Tastendruck buchen.
Es gibt viele andere Anwendungen, die Sie sich vorstellen und entsprechend den Anforderungen implementieren können.
Auf diese Weise kann der Raspberry Pi zum Senden von Nachrichten oder URLs verwendet werden, indem diese mit Eddystone in ein Bluetooth-Beacon umgewandelt werden. Überprüfen Sie das Demonstrationsvideo unten.
/>