Lav en DIY iBeacon med en Raspberry Pi

  • Lesley Fowler
  • 0
  • 2047
  • 252
Reklame

Annoncer, der er målrettet mod en bestemt bruger, der går gennem et storbycentrum, er ting af dystopisk fremtid, demonstreret især af Tom Cruise-filmen Minoritetsrapport. Men det er ikke en dystopisk fremtid: teknologien er allerede her. Selvom den ikke er afhængig af hurtig identifikation ved hjælp af din nethinde, bruger den Bluetooth. IBeacon blev udviklet af Apple og blev udviklet til at give placeringsbaseret information til iOS-brugere. Hvordan Bluetooth 4.0 forme fremtiden for mobilforbindelse Hvordan Bluetooth 4.0 forme fremtiden for mobilforbindelse Bluetooth er den glemte stjerne på enhedens specifikationsark. , ved hjælp af en enheds nærhed til at udløse en personlig reklame eller spore en brugers bevægelser. Google oprettede også deres egen alsidige Beacons-specifikation, selvom understøttelse til det i øjeblikket er begrænset, når udviklere får fat på det.

Ikke overraskende kan du bruge en Raspberry Pi som en iBeacon ved at tilføje et Bluetooth low energy (BLE) USB-modul. Mere interessant er det, at vi kan vælge denne teknologi og opgive de futuristiske reklamemetoder til fordel for anvendelser i hjemmet.

Sådan fungerer iBeacon

At opbygge en lavenergi-Bluetooth-sender, som smarte enheder, apps kan registrere, er ligetil, men hvordan fungerer en iBeacon?

BLE er specielt designet til transmission over korte afstande, men med lavere effektbehov (et enkelt møntcellebatteri skal vare i tre år). Små pakker med data, kendt som “reklamer” (ikke i markedsføringsmæssig forstand), udsendes af fyret og bruges til at udløse handlinger i smartphone-apps, måske vise en kommerciel besked eller bede læseren om at udføre en handling.

Ud over markedsføring bruges iBeacons typisk til at skubbe placeringstilstande til en app, såsom visning af oplysninger om en udstilling, mens du går rundt på et museum.

Byg din egen iBeacon med en Raspberry Pi og en Bluetooth Dongle

For at bruge din Raspberry Pi som en iBeacon skal du bruge en Bluetooth USB-adapter. Du kan dog ikke bare tilslutte nogen gammel Bluetooth USB-enhed. I stedet skal du bruge en BLE-enhed (Bluetooth lavenergi), som kan købes relativt billigt fra Amazon eller Adafruit. Du kan køre dette projekt på en standard Raspbian-installation Optimer kraften i din Raspberry Pi med Raspbian Optimer Power of Your Raspberry Pi med Raspbian. Som det passer til en mand med for meget tech på hænderne, har jeg leget med min Raspberry Pi for nylig , konfigurering af enheden, så den fungerer fuldt ud. Det fortsætter med at køre som ... enten installeret den sædvanlige måde Sådan installeres et operativsystem på en Raspberry Pi Sådan installeres et operativsystem på en Raspberry Pi Sådan installeres et operativsystem på din Raspberry Pi og hvordan du kloner din perfekte opsætning til hurtig gendannelse af katastrofer eller via NOOBS Hvordan NOOBS til Raspberry Pi kan hjælpe brugere af første gang Hvordan NOOBS til Raspberry Pi kan hjælpe brugere med første gang Der er noget ved Raspberry Pi, der måske bare udsætter folk: Indtil nu har opsætningen af ​​det ikke været særlig brugervenligt. NOOBS sigter mod at ændre det! .

(Hvis du vil have en genvej til alt dette, er PiBeacon-billedet det bedste valg fra RadiusNetworks. Hent blot, skriv til SD-kort og start.)

Før der tilsluttes BLE, er det dog tid til at installere nogle biblioteker:

sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev

Nu er dette gjort, skal du installere Bluez, Bluetooth-stakken til Linux.

sudo mkdir bluez cd bluez sudo wget www.kernel.org/pub/linux/bluetooth/bluez-5.11.tar.xz

Når det er downloadet, skal Bluez bygges.

sudo unxz bluez-5.11.tar.xz sudo tar xvf bluez-5.11.tar cd bluez-5.11 sudo ./configure - disable-systemd sudo make

(Dette trin kan tage nogen tid. Gå og lav en kop te. Eller bag en hindbærpai.)

sudo gøre installation

Du er næsten klar til at gå. Udsted en lukningskommando, og tilslut derefter BLE, når Pi er slået fra.

Sudo nedlukning -h nu

Send PiBeacon

For at konfigurere PiBeacon til transmission skal du først kontrollere, at BLE-modulet er blevet detekteret

hciconfig

Du vil bemærke, at hvis modulet registreres, er dets status i øjeblikket NED.

For at løse dette skal du konfigurere enheden:

sudo tools / hciconfig hci0 up sudo tools / hciconfig hci0 leadv 3 sudo tools / hciconfig hci0 noscanc

(Bemærk, at den sidste linje deaktiverer Bluetooth-scanning, da dette kan forårsage problemer.)

Gentag den tidligere kommando til at køre hciconfig:

hciconfig

Du vil nu se, at enhedens status er OP KØRET.

Hvordan annoncerer du med PiBeacon?

Så du har en fungerende iBeacon, drevet af en Raspberry Pi. Men hvordan bruger du det til at identificere sig til Bluetooth-enheder i nærheden? Som forklaret af Adafruit har beacon brug for reklamedata for at blive indtastet. De anbefaler, at følgende streng indtastes med hcitool-kommandoen:

sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00

Hvad er der i datapakken?

Ja, det er en lang række tal og bogstaver. Den er skrevet i hexadecimal, og selvom vi ikke kan se den, er strengen opdelt i sektioner. For eksempel angiver mærket FF, at producentspecifikke data vil følge, i dette tilfælde 4C 00, som er Apples ID. Denne streng kan ændres efter behov.

Lad os bryde det op:

Som du kan se, betyder strengen lidt, indtil du kan se, hvad hvert datasegment er til. Bemærk, at ID'et altid vil være det samme, for at identificere pakketypen, og at datalængden skal konverteres til decimal for at værdsætte den faktiske længde på pakken.

Med FF-mærket ser vi 128-bit ID som forklaret ovenfor, efterfulgt af Major data og Minor data. Disse identificerer placeringer eller noter på en hierarkisk måde (større først, mindre sekund). Endelig hjælper TX Power med at estimere afstanden.

PiBeacon har som en iBeacon tre områder: øjeblikkelig (lokaliseret til et par centimeter), nær (et par meter) og langt (ca. 10 meter). Enhver målt afstand er kun omtrentlig, da BLE-signalet er svækket af møbler og døre og vægge.

Hvis du planlægger at bruge iBeacon-teknologien, er det vigtigt at have en unik ID til din app. Du bruger muligvis noget som www.uuidgenerator.net, eller hvis du bruger en Mac, kommandolinjen uuidgen utility genererer et unikt ID.

PiBeacon er Live!

Med dette indtastet annoncerer PiBeacon nu. Alt hvad du skal gøre nu er at finde en passende iBeacon-app i iOS-butikken, som f.eks. Beacon Toolkit [No Longer Available] for at opdage den, vælge Lyt. Strengen ovenfor leveres som en UUID i Beacon Toolkit-appen. Andre UUID'er kan bruges, men disse fungerer ikke med den app: brug den lidt dyrere Beacon Toolbox ($ 4.99), som burde være i stand til at identificere de fleste alle iBeacons inden for rækkevidde.

Ulykkelig med at dedikere en Raspberry Pi til denne enkelt opgave? Bare rolig - du kan bygge en Arduino iBeacon i stedet, så længe du har et BLE-skjold (som muligvis findes i dit Arduino-startkit. Hvad findes i dit Arduino Starter Kit? [Arduino Begyndere] Hvad findes i dit Arduino Starter Kit? [ Arduino-begyndere] Med en kasse fuld af elektroniske komponenter er det let at blive overvældet. Her er en guide til nøjagtigt, hvad du finder i dit sæt.) Her er en demo:

Føler du dig endnu mere eventyrlysten? Elektronik til en værdi af $ 10 og nogle lodningskompetencer Lær hvordan man loddes med disse enkle tip og projekter Lær hvordan man lodder med disse enkle tip og projekter Er du lidt skræmt af tanken om et varmt jern og smeltet metal? Hvis du vil begynde at arbejde med elektronik, bliver du nødt til at lære at lodde. Lad os hjælpe. vil også netto dig en DIY iBeacon.

Spørgsmål eller kommentarer? Efterlad dem nedenfor.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.