- Hvad er BLE og Bluetooth Beacon?
- Hvordan fungerer BLE Technology og bruges sammen med Beacons?
- Hvad er Eddystone Beacon?
- Krav
- Opsæt Raspberry Pi til Eddystone Beacon
- Optimer den transmitterende signaleffekt ved at kalibrere Tx Power
- Anvendelser af Eddystone Bluetooth Beacon
Bluetooth er en af den revolutionerende teknologi til trådløs overførsel af data, styring af andre enheder, opbygning af hjemmeautomatiseringssystemer osv. Men har du nogensinde spekuleret på, at Bluetooth også kan bruges til at udsende enhver information til enheder i nærheden for at vise vigtig information, s, let checkout osv. Der er en protokol, der er udviklet af Google til at udføre opgaven, som let kan implementeres i Raspberry Pi for at gøre det til Bluetooth Beacon-udsenderen.
I denne vejledning får vi kendskab til BLE (Bluetooth Low Energy) og Bluetooth-beacon og installerer Eddystone Bluetooth Beacon i Raspberry Pi for at udsende en URL. Det er meget nemt at konvertere Raspberry Pi til et Bluetooth-beacon, da det har indbygget Bluetooth.
Hvad er BLE og Bluetooth Beacon?
Den Bluetooth low energy, som navnet indikerer, bruger mindre strøm end klassiske Bluetooth. Det opnås ved at sende data efter behov med foruddefinerede periodiske opdateringer. Men i modsætning til klassisk Bluetooth bruges det ikke til at overføre filer eller musik. En BLE-enhed fungerer med Bluetooth V4.0 og kan fungere med lav effekt som server eller som klient, hvilket gør BLE til et ideelt valg til fyrtårne, smarte ure, fitnessbånd osv. Klassisk Bluetooth er på den anden side bare den enkle almindelige gamle Bluetooth-protokol, som vi bruger til at overføre filer og andre data. Næsten alle BLE-enheder har klassisk Bluetooth-funktionalitet tilknyttet. Vi har tidligere forklaret BLE detaljeret med ESP32.
Bluetooth-beacons:
Beacons er hardwareenhederne, der sender nogle meddelelser til nærliggende elektroniske enheder og opfører sig som en tv- station. Denne teknologi gør det muligt for de bærbare enheder at udføre nogle handlinger, når de er tæt på beacon-enheden. Nu kan beacons implementeres ved hjælp af BLE og klassisk Bluetooth. Da de fleste smartphones og andre elektroniske enheder er kompatible med BLE og kan bruges som Beacon-modtager, så implementering af BLE-beacon er mere effektiv sammenlignet med klassisk Bluetooth-beacon for at reducere strømforbruget.
I gennemsnit kan et Bluetooth-lavenergifyr sende BLE-signaler til 80 meter.
Hvordan fungerer BLE Technology og bruges sammen med Beacons?
BLE er lavt strømforbrugsteknologi, der er designet til kommunikation med kort rækkevidde, og det foretrækkes, hvor batterilevetiden er en vigtigere faktor end høj datahastighed. Dataoverførslen i denne kommunikation er kun envejs. BLE beacon sender små datapakker med jævne mellemrum. Disse datapakker modtages og dekodes af en beacon scanner-app installeret i smartphones. Disse modtagne data udløser handlinger som at promovere et produkt eller skubbe en besked.
I Bluetooth-fyr sendes et ID-nummer 10 gange hvert sekund af det via BLE-kanaler. Derefter modtages dette ID-nummer af den Bluetooth-aktiverede enhed og genkendes af beacon scanner-appen, det linker det til en handling, såsom at downloade en app eller et stykke indhold, der er gemt i skyen, og vise det på smartphonen.
Hvad er Eddystone Beacon?
Eddystone er en protokol, der er udviklet af Google, der giver mulighed for at sende envejsbeskeder til BLE-enheder. Eddystone-URL-rammen udgør rygraden på det fysiske web, hvilket hjælper med at finde webindhold i det omkringliggende. Beacon kan sende fire typer data ved hjælp af Eddystone-protokollen. De er som følger:
- Eddystone-URL til transmission af URL-adresser
- Eddystone-UID til transmission af beacons ID'er
- Eddystone-TLM til transmission af beacon-telemetri som enhedstemperatur, batteristyrke osv.
- Eddystone-EID for sikkerhed.
Der er også andre typer fyrtårne som iBeacon, som er til iOS-understøttede enheder, men Eddystone er kun til Android-enheder. Bemærk også, at Google har afbrudt Notifikationer i nærheden, nu skal brugeren installere en special-beacon scanner-app, der viser det udsendte indhold.
I denne vejledning bruger vi Raspberry Pi som Eddystone Beacon og fokuserer på udsendelse af URL-adresse ved hjælp af Eddystone URL, så alle let kan få adgang til de udsendte oplysninger ved hjælp af deres Android-enheder.
Krav
Her er kun Raspberry Pi nødvendig for at opbygge dette Bluetooth-fyrtårn. Det skal være Raspberry Pi 2 eller nyere med Raspbian Jessie eller en nyere OD installeret i den.
Her bruger vi SSH til at få adgang til Raspberry Pi på den bærbare computer. Du kan bruge VNC- eller Remote Desktop-forbindelse på den bærbare computer eller tilslutte din Raspberry pi til en skærm. Lær mere om opsætning af Raspberry Pi uden hoved her uden en skærm.
Opsæt Raspberry Pi til Eddystone Beacon
Det er meget let at konfigurere Eddystone-tv-stationen på Raspberry Pi. Det involverer kun 3 kommandoer.
Dette kan gøres ved at konfigurere HCI (Host controller Interface), som kan fås ved hjælp af hciconfig- kommandoen. For at kontrollere, hvad der kan gøres ved hjælp af denne kommando, skal du indtaste nedenstående kommando i terminalen.
hciconfig -h
1. Først skal vi aktivere Bluetooth-enheden på vores Raspberry Pi ved hjælp af nedenstående kommando.
sudo hciconfig hci0 op
2. Nu er vi nødt til at indstille Bluetooth til "annoncerer og ikke kan tilsluttes " enhed ved hjælp af nedenstående kommando.
sudo hciconfig hci0 leadv 3
3. Ovenstående kommandoer får enheden til at køre radiotjeneste, og indtast nu bare beacon-data i næste kommando, der indeholder forskellige rammeoplysninger og URL i hexadecimalt format. Kør nedenstående kommando for at starte beacon-udsendelse.
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
Denne kommando sender webadressen
For at kontrollere den udsendte meddelelse på din smartphone skal du downloade Physical Web App eller Beacon-scanneren på din Android-smartphone og starte scanningen. Du vil se det udsendte link i appen som vist nedenfor. Klik på linket for at besøge og åbne hjemmesiden i browseren.
Lad os nu forstå den hexadecimale kodning af meddelelsen. I nedenstående tabel har vi givet en forklaring af hver værdi, der er til stede i koden:
Værdi |
Beskrivelse |
---|---|
0x08 |
#OGF = Felt for driftsgruppe = Bluetooth-kommandogruppe = 0x08 |
0x0008 |
#OCF = Funktionskommandofelt = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Længde. Den hexadecimale 1c konverterer til 23 decimaler, hvilket er antallet af byte, der følger. |
02 |
Længde |
01 |
Flag data datatype værdi |
06 |
Flagdata |
03 |
Længde |
03 |
Komplet liste over 16-bit Service UUIDs datatypeværdi |
aa |
16-bit Eddystone UUID |
fe |
16-bit Eddystone UUID |
14 |
Længde. Den hexadecimale 14 konverterer til 15 decimaler, hvilket er antallet af byte, der følger |
16 |
Service Data datatype værdi |
aa |
16-bit Eddystone UUID |
fe |
16-bit Eddystone UUID |
10 |
Rammetype = URL |
00 |
TX Power (dette skal kalibreres) |
02 |
URL-skema (http: // = 0x02) |
63 |
'c' i hexadecimal |
69 |
'i' i hexadecimal |
72 |
'r' i hexadecimal |
63 |
'c' i hexadecimal |
75 |
'u' i hexadecimal |
69 |
'i' i hexadecimal |
74 |
't' i hexadecimal |
64 |
'd' i hexadecimal |
69 |
'i' i hexadecimal |
67 |
'g' i hexadecimal |
65 |
'e' i hexadecimal |
73 |
's' i hexadecimal |
74 |
't' i hexadecimal |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
For at sende enhver brugerdefineret URL ved hjælp af Raspberry Pi Bluetooth Beacon skal du bare konvertere URL-tegnene til hexadecimal ved hjælp af ethvert onlineværktøj og placere det i ovenstående kommando. Maksimale tegn, der kan transmitteres, er 16, hvis URL'en er for lang, skal du forkorte den ved hjælp af eventuelle URL-shortners-tjenester som bitly.com og derefter tilpasse dataene i ovenstående tabel.
Det er meget besværligt og tidskrævende at konvertere hvert tegn til en hexadecimal ækvivalent. Så for at gøre dit job let er der en Eddystone URL-kommandolommeregner, hvor du bare skal indtaste URL, som du vil udsende, og du får din kommando klar som denne.
Bluetooth-fyr sender nu URL'en og fungerer fint, men der er endnu en ting, der skal kalibreres, det er Tx-strøm, som er en af værdien i ovenstående kommando for at få den nøjagtige afstand fra Bluetooth-fyret.
Optimer den transmitterende signaleffekt ved at kalibrere Tx Power
I Eddystone-rammen er der få komponenter, der transmitteres, og Tx-effekt er en af dem, der fortæller signalets styrke. Ved at afkode signalets styrke finder modtageren afstanden fra Beacon-udsenderen. Værdien af Tx-effekt kan variere fra -12 til 10. Vi er nødt til at finde værdien ved hjælp af hit and trial-metode for at få den nøjagtige afstand. Til dette skal du justere værdien af Tx-strøm i Eddystone-meddelelseskommandoen og placere din smartphone i en afstand på 1 m, når Beacon-scannerappen er åbnet. Begynd nu at sætte værdierne af Tx-effekt i kommandoen fra 0 til negative værdier. Husk at konvertere decimalværdierne i hexadecimalformat. Til dette skal du bruge onlineværdikonverterværktøjerne til nem afkodning og tage de sidste to cifre i den konverterede værdi. I mit tilfælde er hexa-værdien f4. Kontroller afstanden i scannerappen, juster værdierne, indtil den viser ca. 1 m, og derefter skal du bruge Eddystone URL-tv med nøjagtig afstand.
Anvendelser af Eddystone Bluetooth Beacon
Her er nogle af brugssagerne til BLE-fyrtårn:
- BLE-aktiveret detailhandel: Denne teknologi kan bruges til at tiltrække kunder i nærheden af butikkerne ved at reklamere for de spændende tilbud og salg.
- BLE-beacon-aktiverede begivenheder: Det kan bruges til lette tilmeldinger til begivenhederne og i stadioner med nem betalingskontrol.
- BLE fyrtårne i fast ejendom: Du kan få alle detaljer om ejendomme til rådighed i nærheden af dig og kan booke med et enkelt tryk.
Der er mange andre applikationer, du kan tænke på og implementere i henhold til kravene.
Så sådan kan Raspberry Pi bruges til at udsende enhver besked eller URL ved at konvertere den til et Bluetooth-beacon ved hjælp af Eddystone. Tjek demonstrationsvideoen nedenfor.
/>