Bouw een DIY iBeacon met een Raspberry Pi

Bouw een DIY iBeacon met een Raspberry Pi / DIY

Advertenties gericht op een bepaalde gebruiker die door een grootstedelijk centrum loopt, zijn dingen van dystopische toekomsten, vooral aangetoond door de Tom Cruise-film Minderheidsverslag. Maar dat is geen dystopische toekomst: de technologie is er al. Hoewel het niet afhankelijk is van snelle identificatie met behulp van uw netvlies, maakt het wel gebruik van Bluetooth. IBeacon, ontwikkeld door Apple, is ontwikkeld om locatiegebaseerde informatie te bieden aan iOS-gebruikers. Hoe Bluetooth 4.0 de toekomst van mobiele connectiviteit vormgeeft Hoe Bluetooth 4.0 de toekomst van mobiele connectiviteit vormgeeft Bluetooth is de vergeten ster op het blad met apparaatspecificaties. Meer lezen, waarbij de nabijheid van een apparaat wordt gebruikt om een ​​gepersonaliseerde advertentie te activeren of de bewegingen van een gebruiker bij te houden. Google heeft ook hun eigen veelzijdige Beacons-specificatie gemaakt, hoewel de ondersteuning daarvoor op dit moment beperkt is, omdat ontwikkelaars er grip op krijgen.

Zoals te verwachten, kunt u een Raspberry Pi als een iBeacon gebruiken door een Bluetooth low energy (BLE) USB-module toe te voegen. Interessanter is dat we deze technologie kunnen coöpteren en de futuristische reclamemethoden kunnen opgeven ten gunste van gebruik rond het huis.

Hoe iBeacon werkt

Het bouwen van een low-energy Bluetooth-zender die apps van slimme apparaten kunnen detecteren, is eenvoudig, maar hoe werkt een iBeacon?

BLE is specifiek ontworpen voor verzending over korte afstanden, maar met lagere stroomvereisten (een enkele knoopcelbatterij moet drie jaar meegaan). Kleine gegevenspakketten, bekend als “advertenties” (niet in marketingdoeleinden), worden uitgezonden door het baken en gebruikt om acties in smartphone-apps te activeren, misschien een commercieel bericht weer te geven of de lezer te vragen een actie uit te voeren.

Naast marketing worden iBeacons doorgaans gebruikt om locatietoestanden naar een app te pushen, zoals het weergeven van informatie over een expositie terwijl u door een museum loopt.

Bouw je eigen iBeacon met een Raspberry Pi en een Bluetooth-dongle

Om je Raspberry Pi als een iBeacon te gebruiken, heb je een Bluetooth USB-adapter nodig. U kunt echter niet zomaar een oud Bluetooth USB-apparaat aansluiten. In plaats daarvan moet u een BLE (Bluetooth low energy) -apparaat gebruiken, dat relatief goedkoop bij Amazon of Adafruit kan worden gekocht. Je kunt dit project uitvoeren op een standaard Raspbian-installatie. Optimaliseer de kracht van je Raspberry Pi met Raspbian Optimaliseer de kracht van je Raspberry Pi met Raspbian Zoals het een man betaamt met te veel technologie aan zijn handen, speel ik onlangs met mijn Raspberry Pi , het apparaat zo configureren dat het optimaal werkt. Het blijft draaien als ... Lees meer, installeerde de gebruikelijke manier Hoe installeer je een besturingssysteem op je Raspberry Pi Hoe installeer je een besturingssysteem op je Raspberry Pi Hier is hoe je een nieuw besturingssysteem op je Pi kunt installeren en uitvoeren - en hoe om je perfecte setup te klonen voor snel noodherstel. Lees meer of via NOOBS Hoe NOOBS voor Raspberry Pi eerste gebruikers kan helpen Hoe NOOBS voor Raspberry Pi eerste gebruikers kan helpen Er is iets aan de Raspberry Pi dat mensen misschien kan afschrikken: tot nu toe was het niet bijzonder gebruiksvriendelijk vriendelijk. NOOBS wil dat veranderen! Lees verder .

(Als je een snelkoppeling naar dit alles wilt, is de PiBeacon-afbeelding het beste wat je kunt doen, van RadiusNetworks, gewoon downloaden, naar SD-kaart schrijven en opstarten.)

Voordat u de BLE aansluit, is het tijd om enkele bibliotheken te installeren:

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

Nu dit is gebeurd, moet je Bluez, de Bluetooth-stack voor Linux, installeren.

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

Zodra het gedownload is, moet Bluez gebouwd zijn.

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

(Deze stap kan enige tijd duren. Neem een ​​kopje thee of bak een frambozenpastei.)

sudo make install

Je bent bijna klaar om te gaan. Voer een afsluitopdracht uit en sluit vervolgens de BLE wanneer de Pi wordt uitgeschakeld.

sudo shutdown -h nu

Zend de PiBeacon uit

Om de PiBeacon voor uitzending te configureren, controleert u eerst of de BLE-module is gedetecteerd

hciconfig

U zult merken dat als de module wordt gedetecteerd, de status op dit moment DOWN is.

Om dit op te lossen, configureert u het apparaat:

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

(Merk op dat de laatste regel Bluetooth-scannen uitschakelt, omdat dit problemen kan veroorzaken.)

Herhaal de eerdere opdracht om hciconfig uit te voeren:

hciconfig

U ziet nu dat de apparaatstatus UP RUNNING is.

Hoe adverteert u met de PiBeacon?

Dus je hebt een werkende iBeacon, mogelijk gemaakt door een Raspberry Pi. Maar hoe gebruik je het om zich te identificeren bij Bluetooth-apparaten in de buurt? Zoals uitgelegd door Adafruit, moet het baken advertenties bevatten die moeten worden ingevoerd. Ze adviseren dat de volgende string wordt ingevoerd met het hcitool-commando:

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

Wat zit er in het datapakket?

Ja, dat is een lange reeks cijfers en letters. Het is geschreven in hexadecimaal, en hoewel we het niet kunnen zien, is de string opgesplitst in secties. Het teken FF geeft bijvoorbeeld aan dat er fabrikantspecifieke gegevens zullen volgen, in dit geval de 4C 00 die het ID van Apple is. Deze reeks kan naar wens worden gewijzigd.

Laten we het uit elkaar gaan:

Zoals u kunt zien, betekent de reeks weinig totdat u kunt zien waarvoor elk gegevenssegment is. Merk op dat de ID altijd hetzelfde zal zijn, om het pakkettype te identificeren, en dat de Datalengte converteren naar decimalen nodig heeft om de werkelijke lengte van het pakket te waarderen.

Met het FF-teken zien we de 128-bit ID zoals hierboven uitgelegd, gevolgd door de Major data en de Minor data. Deze identificeren locaties of notities op een hiërarchische manier (major first, minor second). Ten slotte helpt de TX Power om de afstand te schatten.

De PiBeacon heeft, net als een iBeacon, drie reeksen: onmiddellijk (gelokaliseerd tot enkele centimeters), dichtbij (een paar meter) en ver (ongeveer 10 meter). Elke gemeten afstand is slechts bij benadering, omdat het BLE-signaal wordt verzwakt door meubels en deuren en muren.

Als u van plan bent om de iBeacon-technologie te gebruiken, is een unieke ID voor uw app belangrijk. U kunt zoiets als www.uuidgenerator.net gebruiken of als u een Mac gebruikt, de opdrachtregel uuidgen hulpprogramma genereert een unieke ID.

PiBeacon is Live!

Met dit ingevoerd, is de PiBeacon nu reclame. Het enige dat u nu hoeft te doen, is een geschikte iBeacon-app in de iOS-winkel zoeken, zoals Beacon Toolkit [No Longer Available] om het te detecteren, selecteren Luister. De bovenstaande string wordt aangeboden als een UUID in de Beacon Toolkit-app. Andere UUID's kunnen worden gebruikt, maar deze zullen niet werken met die app: gebruik de iets duurdere Beacon Toolbox ($ 4,99), die in staat zou moeten zijn om de meeste alle iBeacons binnen bereik te identificeren.

Ontevreden over het toewijzen van een Raspberry Pi aan deze ene taak? Maak je geen zorgen - je kunt in plaats daarvan een Arduino iBeacon bouwen, zolang je een BLE-shield hebt (die mogelijk verkrijgbaar is in je Arduino-starterkit. Wat zit er in je Arduino Starter Kit? [Arduino Beginners] Wat zit er in je Arduino Starter Kit? Arduino Beginners] Geconfronteerd met een doos vol met elektronische componenten, is het gemakkelijk om overweldigd te worden. Hier is een gids voor precies wat je in je pakket zult vinden. Lees meer). Hier is een demo:

Ben je nog avontuurlijker? $ 10 aan elektronica en wat soldeervaardigheden. Leren solderen, met deze eenvoudige tips en projecten. Leren solderen met deze eenvoudige tips en projecten. Ben je een beetje geïntimideerd door de gedachte aan een heet ijzer en gesmolten metaal? Als je wilt gaan werken met elektronica, zul je moeten leren solderen. Laat ons helpen. Met Read More krijgt u ook een DIY iBeacon.

Vragen of opmerkingen? Laat ze hieronder.

Ontdek meer over: Bluetooth, Raspberry Pi.