- Hva er BLE og Bluetooth Beacon?
- Hvordan fungerer BLE Technology og brukes sammen med Beacons?
- Hva er Eddystone Beacon?
- Krav
- Sett opp Raspberry Pi for Eddystone Beacon
- Optimaliser sendesignaleffekten ved å kalibrere Tx Power
- Applikasjoner av Eddystone Bluetooth Beacon
Bluetooth er en av den revolusjonerende teknologien for trådløs overføring av data, kontroll av andre enheter, bygging av hjemmeautomatiseringssystemer osv. Men har du noen gang lurt på at Bluetooth også kan brukes til å kringkaste all informasjon til enheter i nærheten for å vise viktig informasjon, s, enkel kassen osv. Det er en protokoll utviklet av Google for å utføre oppgaven som enkelt kan distribueres i Raspberry Pi for å gjøre det til Bluetooth Beacon-kringkasteren.
I denne opplæringen vil vi bli kjent med BLE (Bluetooth Low Energy) og Bluetooth-fyr og installere Eddystone Bluetooth Beacon i Raspberry Pi for å kringkaste en URL. Det er veldig enkelt å konvertere Raspberry Pi til et Bluetooth-fyrtårn, da det har innebygd Bluetooth.
Hva er BLE og Bluetooth Beacon?
Den Bluetooth Low Energy, som navnet indikerer bruker mindre strøm enn klassisk Bluetooth. Det oppnås ved å sende data når det er nødvendig med forhåndsdefinerte periodiske oppdateringer. Men i motsetning til klassisk Bluetooth brukes den ikke til å overføre filer eller musikk. En BLE-enhet fungerer med Bluetooth V4.0 og kan fungere med lav effekt som server eller som klient, noe som gjør BLE til et ideelt valg for fyrtårn, smarte klokker, treningsbånd osv. Klassisk Bluetooth er derimot bare den enkle, gamle Bluetooth-protokoll som vi bruker til å overføre filer og andre data. Nesten alle BLE-enheter har klassisk Bluetooth-funksjonalitet tilknyttet. Vi har tidligere forklart BLE i detalj med ESP32.
Bluetooth Beacons:
Beacons er maskinvareenhetene som sender noen meldinger til nærliggende elektronikkutstyr og oppfører seg som kringkaster. Denne teknologien gjør det mulig for bærbare enheter å utføre noen handlinger når de er i nærheten av fyrtårn. Nå kan beacons implementeres ved hjelp av BLE og klassisk Bluetooth. Siden de fleste smarttelefoner og andre elektroniske enheter er kompatible med BLE og kan brukes som Beacon-mottaker, så implementering av BLE beacon er mer effektivt enn å sammenligne med klassisk Bluetooth-beacon for å redusere strømforbruket.
I gjennomsnitt kan et Bluetooth Low Energy-fyrtårn overføre BLE-signaler til 80 meter.
Hvordan fungerer BLE Technology og brukes sammen med Beacons?
BLE er lavt strømforbruksteknologi som er designet for kortdistansekommunikasjon, og det foretrekkes der batterilevetiden er viktigere enn høy datahastighet. Dataoverføringen i denne kommunikasjonen er bare enveis. BLE fyrtårn overfører små datapakker med jevne mellomrom. Disse datapakkene mottas og dekodes av beacon scanner-app installert i smarttelefoner. Denne mottatte data utløser handlinger som å markedsføre et produkt eller å sende en melding.
I Bluetooth-fyr sendes et ID-nummer 10 ganger hvert sekund av det via BLE-kanaler. Da mottas dette ID-nummeret av den Bluetooth-aktiverte enheten og gjenkjennes av beacon scanner-appen, den kobler den til en handling, for eksempel nedlasting av en app eller et innhold lagret i skyen, og viser det på smarttelefonen.
Hva er Eddystone Beacon?
Eddystone er en protokoll som er utviklet av Google som gjør det mulig å kringkaste enveis meldinger til BLE-enheter. Eddystone-URL-rammen danner ryggraden i det fysiske nettet, som hjelper til med å oppdage nettinnhold i omgivelsene. Beacon kan kringkaste fire typer data ved hjelp av Eddystone-protokollen. De er som følger:
- Eddystone-URL for kringkasting av URL-adresser
- Eddystone-UID for kringkasting av fyr-IDer
- Eddystone-TLM for kringkasting av fyrtelemetri som enhetstemperatur, batteristyrke, etc.
- Eddystone-EID for sikkerhet.
Det finnes også andre typer fyrtårn som iBeacon som er for iOS-støttede enheter, men Eddystone er bare for Android-enheter. Vær også oppmerksom på at Google har avviklet varsler i nærheten, nå må brukeren installere spesialisert beacon scanner-app som viser det kringkastede innholdet.
I denne opplæringen vil vi bruke Raspberry Pi som Eddystone Beacon og fokusere på kringkasting av URL-adresse ved hjelp av Eddystone URL, slik at alle enkelt kan få tilgang til kringkastet informasjon ved hjelp av sine Android-enheter.
Krav
Her er det bare Raspberry Pi som trengs for å bygge dette Bluetooth-fyret. Det skal være Raspberry Pi 2 eller nyere med Raspbian Jessie eller en nyere OD installert i den.
Her vil vi bruke SSH for å få tilgang til Raspberry Pi på den bærbare datamaskinen. Du kan bruke VNC eller Remote Desktop-tilkobling på den bærbare datamaskinen, eller du kan koble Raspberry pi til en skjerm. Lær mer om å sette opp Raspberry Pi hodeløst her uten skjerm.
Sett opp Raspberry Pi for Eddystone Beacon
Det er veldig enkelt å sette opp Eddystone-kringkasteren på Raspberry Pi. Det involverer bare 3 kommandoer.
Dette kan gjøres ved å konfigurere HCI (grensesnitt for vertskontroller) som er tilgjengelig med hciconfig-kommandoen. For å sjekke hva som kan gjøres ved hjelp av denne kommandoen, skriv inn kommandoen nedenfor i terminalen.
hciconfig -h
1. Først må vi aktivere Bluetooth-enheten på Raspberry Pi ved å bruke kommandoen nedenfor.
sudo hciconfig hci0 opp
2. Nå må vi sette Bluetooth til "annonsere og ikke-tilkoblingsbar" enhet ved hjelp av kommandoen nedenfor.
sudo hciconfig hci0 leadv 3
3. Ovenstående kommandoer gjør at enheten kan kjøre kringkastingstjeneste, nå er det bare å angi fyrdata i neste kommando som inneholder forskjellige rammer og URL i heksadesimal format. Kjør kommandoen nedenfor for å starte fyresending.
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 kommandoen vil kringkaste URL-en
For å sjekke den kringkastede meldingen på smarttelefonen, last ned Physical Web App eller Beacon-skanneren på Android-smarttelefonen din og start skanningen. Du vil se den kringkastede lenken i appen som vist nedenfor. Klikk på lenken for å besøke og åpne nettstedet i nettleseren.
La oss nå forstå den heksadesimale kodingen av meldingen. I tabellen nedenfor har vi gitt en forklaring på hver verdi som er tilstede i koden:
Verdi |
Beskrivelse |
---|---|
0x08 |
#OGF = Operasjonsgruppefelt = Bluetooth-kommandogruppe = 0x08 |
0x0008 |
#OCF = Operasjonskommandofelt = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Lengde. Den heksadesimale 1c konverterer til 23 desimal, som er antall byte som følger. |
02 |
Lengde |
01 |
Flaggdatatypeverdi |
06 |
Flaggdata |
03 |
Lengde |
03 |
Komplett liste over 16-biters Service UUIDs datatypeverdi |
aa |
16-biters Eddystone UUID |
fe |
16-biters Eddystone UUID |
14 |
Lengde. Den heksadesimale 14 konverterer til 15 desimaler, som er antall byte som følger |
16 |
Service Data datatype verdi |
aa |
16-biters Eddystone UUID |
fe |
16-biters Eddystone UUID |
10 |
Rammetype = URL |
00 |
TX Power (dette bør kalibreres) |
02 |
URL-ordning (http: // = 0x02) |
63 |
'c' i heksadesimal |
69 |
'jeg' i heksadesimal |
72 |
'r' i heksadesimal |
63 |
'c' i heksadesimal |
75 |
'u' i heksadesimal |
69 |
'jeg' i heksadesimal |
74 |
't' i heksadesimal |
64 |
'd' i heksadesimal |
69 |
'jeg' i heksadesimal |
67 |
'g' i heksadesimal |
65 |
'e' i heksadesimal |
73 |
's' i heksadesimal |
74 |
't' i heksadesimal |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
For å kringkaste en hvilken som helst tilpasset URL ved hjelp av Raspberry Pi Bluetooth Beacon, konverterer du bare URL-tegnene til heksadesimale ved hjelp av hvilket som helst onlineverktøy og legger den i kommandoen ovenfor. Maksimalt antall tegn som kan overføres er 16, hvis URL-en er for lang, så forkorte den ved hjelp av eventuelle URL-shortners-tjenester som bitly.com og deretter plassere dataene i tabellen ovenfor.
Det er veldig tungvint og tidkrevende å konvertere hvert tegn til heksadesimal ekvivalent. Så for å gjøre jobben din enkel er det en Eddystone URL-kommandokalkulator hvor du bare trenger å legge inn URL som du vil kringkaste, og du vil gjøre kommandoen klar slik.
Bluetooth-fyr sender nå URL-en og fungerer bra, men det er en ting som skal kalibreres, det er Tx-strøm, som er en av verdien i kommandoen ovenfor for å få nøyaktig avstand fra Bluetooth-fyret.
Optimaliser sendesignaleffekten ved å kalibrere Tx Power
I Eddystone-rammen er det få komponenter som overføres, og Tx-kraft er en av dem som forteller signalets styrke. Ved å avkode signalets styrke, finner mottakeren avstanden fra Beacon-kringkasteren. Verdien av Tx-effekt kan variere fra -12 til 10. Vi må finne verdien ved å treffe og prøve-metoden for å få den nøyaktige avstanden. For dette justerer du verdien av Tx-strøm i Eddystone-meldingskommandoen og setter smarttelefonen din i en avstand på 1 m med Beacon-skannerappen åpnet. Begynn nå å sette verdiene for Tx power i kommandoen fra 0 til negative verdier. Husk å konvertere desimalverdiene i heksadesimalformat. Bruk dette verktøyet for online omformer for enkel dekoding og ta de to siste sifrene i den konverterte verdien. I mitt tilfelle er heksa-verdien f4. Sjekk avstanden i skannerappen, juster verdiene til den viser ca 1m, og etter det skal du bruke Eddystone URL-kringkaster med nøyaktig avstand.
Applikasjoner av Eddystone Bluetooth Beacon
Her er noen av brukssakene for BLE fyrtårn:
- BLE-mulig detaljhandel: Denne teknologien kan brukes til å tiltrekke seg kunder i nærheten av butikkene ved å annonsere for spennende tilbud og salg.
- BLE beacon-aktiverte arrangementer: Det kan brukes til å registrere enkelt på arrangementene og på stadioner med enkle betalingskasser.
- BLE fyrtårn i eiendom: Du kan få alle detaljer om eiendommer som er tilgjengelige i nærheten av deg og kan bestille med ett trykk.
Det er mange andre applikasjoner du kan tenke på og implementere i henhold til kravene.
Så dette hvordan Raspberry Pi kan brukes til å kringkaste en hvilken som helst melding eller URL ved å konvertere den til et Bluetooth Beacon ved hjelp av Eddystone. Sjekk demonstrasjonsvideoen nedenfor.
/>