Byg en DIY iBeacon med en Raspberry Pi

Annoncer rettet mod en bestemt bruger, der går gennem et storbycenter, er de ting, der er forbundet med dystopiske futures. Men det er slet ikke en dystopisk fremtid: teknologien er allerede her.

Annoncer rettet mod en bestemt bruger, der går gennem et storbycenter, er de ting, der er forbundet med dystopiske futures.  Men det er slet ikke en dystopisk fremtid: teknologien er allerede her.
Reklame

Annoncer rettet mod en bestemt bruger, der går gennem et storbycenter, er de ting, der er forbundet med dystopiske futures, hvilket især fremgår af Tom Cruise-filmens mindretalsrapport . Men det er ikke en dystopisk fremtid: teknologien er allerede her. Selvom det ikke er afhængigt af hurtig identifikation ved hjælp af din nethinden, bruger den Bluetooth. Udviklet af Apple blev iBeacon udviklet til at levere placeringsbaseret information til iOS-brugere. Hvordan Bluetooth 4.0 skaber fremtiden for mobilforbindelse. Hvordan Bluetooth 4.0 formår fremtiden for mobilforbindelser Bluetooth er den glemte stjerne på enhedsspecifikationsarket. Læs mere ved at bruge en enheds nærhed til at udløse en personlig annonce eller spore en brugers bevægelser. Google har også oprettet deres egen alsidige Beacons-specifikation, selv om støtten til det er begrænset i øjeblikket, da udviklere får fat i det.

Muo-RPI-mediaready

Det er overraskende, at du kan bruge en Raspberry Pi som en iBeacon, ved at tilføje et Bluetooth-lav-energi (BLE) USB-modul. Mere interessant kan vi samordne denne teknologi og opgive de futuristiske reklamemetoder til fordel for brug i hjemmet.

Sådan fungerer iBeacon

At opbygge en Bluetooth-senderen med lav energi, som smart apps kan opdage, er ligetil, men hvordan virker en iBeacon?

Muo-diy-pibeacon-ble2

BLE er designet specielt til transmission over korte afstande, men med lavere strømkrav (et enkelt møntercellebatteri skal vare i tre år). Små pakker med data, der kaldes "reklamer" (ikke i markedsmæssig forstand), udsendes af lyset og bruges til at udløse handlinger i smartphone-apps, muligvis vise en kommerciel besked eller opfordre læseren til at udføre en handling.

Udover markedsføring er iBeacons typisk brugt til at skubbe stedstater til en app, som f.eks. At vise information om en udstilling, mens du går rundt om 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. Men du kan ikke bare vedhæfte en gammel Bluetooth USB-enhed. I stedet skal du bruge en BLE (Bluetooth low-energy) enhed, 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 kraften i din Raspberry Pi med Raspbian Som det passer til en mand med for meget tech på hænderne, har jeg spillet med min Raspberry Pi for nylig, konfigurere enheden, så den virker til sit fulde potentiale. Det fortsætter med at løbe som ... Læs mere, enten installeret den sædvanlige måde Sådan installeres et operativsystem til din Raspberry Pi Sådan installeres et operativsystem til din Raspberry Pi Sådan får du et nyt OS installeret og kører på din Pi - og hvordan man klonrer dit perfekte setup til hurtig katastrofeinddrivelse. Læs mere eller via NOOBS Hvordan NOOBS for Raspberry Pi kan hjælpe førstegangsbrugere Hvordan NOOBS for Raspberry Pi kan hjælpe førstegangsbrugere Der er noget om Raspberry Pi, der måske bare sætter folk ud: indtil nu har det ikke været særlig bruger venlige. NOOBS sigter mod at ændre det! Læs mere .

(Hvis du vil have en genvej til alt dette, er PiBeacon-billedet din bedste chance, fra RadiusNetworks. Bare download, skriv til SD-kort og boot.)

Inden du vedhæfter 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, du skal installere Bluez, Bluetooth-stakken til Linux.

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

Muo-diy-pibeacon-Kode1

Når den 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 lidt tid. Gå og lav en kop te. Eller bage en hindbærkage.)

 sudo make install 

Du er næsten klar til at gå. Udsted en shutdown-kommando, og derefter, når Pi er slukket, skal du tilslutte BLE.

 sudo shutdown -h now 

Udsend PiBeacon

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

 hciconfig 

Du vil bemærke, at hvis modulet registreres, er dets status nede.

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 endelige linje deaktiverer Bluetooth-scanning, da dette kan forårsage problemer.)

Gentag den tidligere kommando for at køre hciconfig:

 hciconfig 

Du vil nu se enhedens status er UP RUNNING.

Hvordan annoncerer du med PiBeacon?

Muo-diy-pibeacon-ipad

Så du har en fungerende iBeacon, drevet af en Raspberry Pi. Men hvordan bruger du den til at identificere sig til nærliggende Bluetooth-enheder? Som forklaret af Adafruit, skal fyret have annonceringsdata, der skal indtastes. De anbefaler, at følgende streng indtastes med kommandoen hcitool:

 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 selv om vi ikke kan se det, er snoren opdelt i sektioner. F.eks. Markerer 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:

Muo-diy-pibeacon-data

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

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

PiBeacon, som en iBeacon, har tre områder: umiddelbar (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 svækkes af møbler, døre og vægge.

Hvis du planlægger at bruge iBeacon-teknologien, er det vigtigt at have et unikt id til din app. Du kan bruge noget som www.uuidgenerator.net, eller hvis du bruger en Mac, genererer kommandolinjens uuidgen- hjælp et unikt id.

PiBeacon er Live!

Med dette indtastet, er PiBeacon nu reklame. Alt du skal gøre nu, er at finde en passende iBeacon app på iOS-butikken som Beacon Toolkit ($ 0.99) for at registrere det, vælg Lyt . Strengen ovenfor er angivet 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 skal kunne identificere de fleste iBeacons inden for rækkevidde.

Ulykkelig med at dedikere en Raspberry Pi til denne enkelt opgave? Du skal ikke bekymre dig - du kan bygge en Arduino iBeacon i stedet, så længe du har et BLE-skjold (som kan være tilgængeligt i din Arduino-startpakke Hvad er der i dit Arduino Starter Kit? [Arduino Beginners] Hvad er der i dit Arduino Starter Kit? Arduino Beginners] Overfor en kasse fuld af elektroniske komponenter, er det nemt at blive overvældet. Her er en guide til, hvad du finder i dit kit. Læs mere). Her er en demo:

Følelse endnu mere eventyrlystne? $ 10 værd af elektronik og nogle loddefærdigheder Lær at lodde med disse enkle tips og projekter Lær at lodde med disse enkle tips og projekter Er du lidt skræmt af tanken om et varmt jern og smeltet metal? Hvis du vil begynde at arbejde med elektronik, skal du lære at lodde. Lad os hjælpe. Læs mere vil også nette dig en DIY iBeacon.

Spørgsmål eller kommentarer? Lad dem være under.

In this article