- Vad är BLE och Bluetooth Beacon?
- Hur fungerar och används BLE Technology med Beacons?
- Vad är Eddystone Beacon?
- Krav
- Ställ in Raspberry Pi för Eddystone Beacon
- Optimera den sändande signaleffekten genom att kalibrera Tx Power
- Tillämpningar av Eddystone Bluetooth Beacon
Bluetooth är en av den revolutionerande tekniken för att trådlöst överföra data, styra andra enheter, bygga hemautomationssystem etc. Men har du någonsin undrat att Bluetooth också kan användas för att sända all information till närliggande enheter för att visa viktig information, s, lätt kassan etc. Det finns ett protokoll som utvecklats av Google för att utföra uppgiften som enkelt kan distribueras i Raspberry Pi för att göra det till Bluetooth Beacon-sändare.
I den här handledningen lär vi oss om BLE (Bluetooth Low Energy) och Bluetooth-fyr och installerar Eddystone Bluetooth Beacon i Raspberry Pi för att sända en URL. Det är väldigt enkelt att konvertera Raspberry Pi till en Bluetooth-fyr, eftersom den har inbyggd Bluetooth.
Vad är BLE och Bluetooth Beacon?
Den Bluetooth Low Energy, som namnet antyder förbrukar mindre ström än klassiska Bluetooth. Det uppnås genom att skicka data vid behov med fördefinierade periodiska uppdateringar. Men till skillnad från klassisk Bluetooth används den inte för att överföra filer eller musik. En BLE-enhet fungerar med Bluetooth V4.0 och kan fungera med låg effekt som server eller som klient vilket gör BLE till ett perfekt val för fyrar, smarta klockor, fitnessband etc. Klassisk Bluetooth är å andra sidan bara den enkla gamla Bluetooth-protokoll som vi använder för att överföra filer och annan data. Nästan alla BLE-enheter har klassisk Bluetooth-funktionalitet associerad med den. Vi har tidigare förklarat BLE i detalj med ESP32.
Bluetooth-fyrar:
Beacons är hårdvaruenheterna som sänder vissa meddelanden till närliggande elektroniska enheter och beter sig som en TV-sändare. Denna teknik gör det möjligt för de bärbara enheterna att utföra vissa åtgärder när de är i närheten av fyrenheten. Nu kan fyrar implementeras med BLE och klassisk Bluetooth. Eftersom de flesta smartphones och andra elektroniska enheter är kompatibla med BLE och kan användas som Beacon-mottagare, så att implementera BLE-beacon är mer effektivt jämfört med klassiskt Bluetooth-beacon för att minska energiförbrukningen.
I genomsnitt kan en Bluetooth Low Energy-fyr sända BLE-signaler till 80 meter.
Hur fungerar och används BLE Technology med Beacons?
BLE är låg strömförbrukningsteknik som är utformad för kortdistanskommunikation och det föredras där batteritiden är viktigare än hög datahastighet. Dataöverföringen i denna kommunikation är endast enkelriktad. BLE beacon överför små datapaket med jämna mellanrum. Dessa datapaket tas emot och avkodas av beacon scanner-app installerad i smartphones. Denna mottagna information utlöser åtgärder som att marknadsföra en produkt eller att skicka ett meddelande.
I Bluetooth-fyren sänds ett ID-nummer 10 gånger varje sekund av det via BLE-kanaler. Sedan mottas detta ID-nummer av den Bluetooth-aktiverade enheten och känns igen av beacon scanner-appen, den länkar det till en åtgärd, till exempel ladda ner en app eller ett innehållsinnehåll som lagras i molnet och visar det på smarttelefonen.
Vad är Eddystone Beacon?
Eddystone är ett protokoll som utvecklats av Google som gör det möjligt att sända enkelriktade meddelanden till BLE-enheter. Eddystone-URL-ramen utgör ryggraden i Physical Web, vilket hjälper till att upptäcka webbinnehåll i omgivningen. Beacon kan sända fyra typer av data med Eddystone-protokollet. De är som följer:
- Eddystone-URL för att sända URL-adresser
- Eddystone-UID för sändning av fyr-ID
- Eddystone-TLM för att sända fyrtelemetri som enhetstemperatur, batteristyrka etc.
- Eddystone-EID för säkerhet.
Det finns också andra typer av fyrar som iBeacon som är för iOS-enheter, men Eddystone är endast för Android-enheter. Observera också att Google har upphört med aviseringar i närheten, nu måste användaren installera en specialapp för scanner-app som visar det sända innehållet.
I denna handledning kommer vi att använda Raspberry Pi som Eddystone Beacon och fokusera på att sända URL-adress med Eddystone URL så att vem som helst enkelt kan få tillgång till den utsända informationen med hjälp av sina Android-enheter.
Krav
Här behövs bara Raspberry Pi för att bygga denna Bluetooth-fyr. Det borde vara Raspberry Pi 2 eller nyare med Raspbian Jessie eller en nyare OD installerad i den.
Här kommer vi att använda SSH för att komma åt Raspberry Pi på den bärbara datorn. Du kan använda VNC- eller fjärrskrivbordsanslutning på den bärbara datorn eller ansluta din Raspberry pi till en bildskärm. Läs mer om hur du ställer in Raspberry Pi utan huvud här utan en skärm.
Ställ in Raspberry Pi för Eddystone Beacon
Det är väldigt enkelt att installera Eddystone-sändaren på Raspberry Pi. Det handlar bara om tre kommandon.
Detta kan göras genom att konfigurera HCI (Host controller Interface) som kan nås med kommandot hciconfig. För att kontrollera vad som kan göras med detta kommando, ange kommandot nedan i terminalen.
hciconfig -h
1. Först måste vi aktivera Bluetooth-enheten på vår Raspberry Pi med kommandot nedan.
sudo hciconfig hci0 upp
2. Nu måste vi ställa in Bluetooth på "annonsera och inte anslutas" enhet med kommandot nedan.
sudo hciconfig hci0 leadv 3
3. Ovanför kommandon gör enheten till att köra sändningstjänst, ange nu bara fyrdata i nästa kommando som innehåller olika raminformation och URL i hexadecimalt format. Kör kommandot nedan för att starta fyrsändning.
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
Detta kommando kommer att sända webbadressen
För att kontrollera det sända meddelandet på din smarttelefon, ladda ner Physical Web App eller Beacon scanner på din Android-smartphone och börja skanna. Du kommer att se den sända länken i appen enligt nedan. Klicka på länken för att besöka och öppna webbplatsen i webbläsaren.
Nu kan vi förstå den hexadecimala kodningen av meddelandet. I nedanstående tabell har vi förklarat varje värde som finns i koden:
Värde |
Beskrivning |
---|---|
0x08 |
#OGF = Operationsgruppsfält = Bluetooth-kommandogrupp = 0x08 |
0x0008 |
#OCF = Kommandofält för operation = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Längd. Den hexadecimala 1c omvandlas till 23 decimal vilket är antalet byte som följer. |
02 |
Längd |
01 |
Flaggdatatypvärde |
06 |
Flaggdata |
03 |
Längd |
03 |
Komplett lista över 16-bitars Service UUIDs datatypvärde |
aa |
16-bitars Eddystone UUID |
fe |
16-bitars Eddystone UUID |
14 |
Längd. Hexadecimalen 14 omvandlas till 15 decimal vilket är antalet byte som följer |
16 |
Service Datatypvärde |
aa |
16-bitars Eddystone UUID |
fe |
16-bitars Eddystone UUID |
10 |
Ramtyp = URL |
00 |
TX Power (detta bör kalibreras) |
02 |
URL-schema (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 |
För att sända en anpassad URL med Raspberry Pi Bluetooth Beacon, konvertera bara URL-tecknen till hexadecimalt med valfritt onlineverktyg och lägg det i kommandot ovan. Maximalt antal tecken som kan överföras är 16, om webbadressen är för lång så förkorta den med hjälp av alla URL-kortare-tjänster som bitly.com och passa sedan in data i tabellen ovan.
Det är väldigt besvärligt och tidskrävande att konvertera varje tecken till hexadecimal ekvivalent. Så för att göra ditt jobb enkelt finns det en Eddystone URL-kommandokalkylator där du bara behöver ange URL som du vill sända och du kommer att få ditt kommando redo så här.
Bluetooth-fyren sänder nu webbadressen och fungerar bra men det finns en sak att kalibrera, det vill säga Tx-effekt, vilket är ett av värdet i kommandot ovan för att få det exakta avståndet från Bluetooth-fyren.
Optimera den sändande signaleffekten genom att kalibrera Tx Power
I Eddystone-ramen finns det få komponenter som överförs och Tx-effekt är en av dem som berättar styrkan för signalen. Genom att avkoda signalens styrka hittar mottagaren avståndet från Beacon-sändaren. Värdet på Tx-effekten kan variera från -12 till 10. Vi måste hitta värdet med träff- och testmetod för att få det exakta avståndet. För detta justerar du värdet på Tx-effekt i Eddystone-meddelandekommandot och placerar din smartphone på ett avstånd av 1 m när Beacon scanner-appen öppnas. Börja nu sätta värdena för Tx-effekt i kommandot från 0 till negativa värden. Kom ihåg att konvertera decimalvärdena i hexadecimalformat. Använd detta online-omvandlarverktyget för enkel avkodning och ta de två sista siffrorna i det konverterade värdet. I mitt fall är hexa-värdet f4. Kontrollera avståndet i skannerappen, justera värdena tills den visar ca 1 m och därefter ska du använda Eddystone URL-sändare med exakt avstånd.
Tillämpningar av Eddystone Bluetooth Beacon
Här är några användningsfall för BLE-fyr:
- BLE-aktiverad detaljhandel: Denna teknik kan användas för att locka kunder i närheten av butikerna genom att annonsera för spännande erbjudanden och försäljningar.
- BLE beacon-aktiverade händelser: Det kan användas för att enkelt registrera sig på evenemang och på arenor med enkla betalningskassor.
- BLE-fyrar i fastigheter: Du kan få all information om fastigheter som finns nära dig och kan boka med en knapptryckning.
Det finns många andra applikationer du kan tänka på och implementera enligt kraven.
Så så kan Raspberry Pi användas för att sända alla meddelanden eller webbadresser genom att konvertera det till en Bluetooth-fyr med Eddystone. Kolla demonstrationsvideon nedan.
/>