Bouw een DIY iBeacon met een Raspberry Pi

Advertenties gericht op een bepaalde gebruiker die door een grootstedelijk centrum loopt, zijn dingen van dystopische toekomst. Maar dat is helemaal geen dystopische toekomst: de technologie is er al.

Advertenties gericht op een bepaalde gebruiker die door een grootstedelijk centrum loopt, zijn dingen van dystopische toekomst.  Maar dat is helemaal geen dystopische toekomst: de technologie is er al.
Advertentie

Advertenties gericht op een bepaalde gebruiker die door een grootstedelijk centrum loopt, zijn dingen van dystopische toekomst, met name aangetoond in het Minority Report van Tom Cruise. 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 apparaatspecificatiesheet. 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.

muo-RPI-mediaready

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 advertentiemethoden kunnen laten varen 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?

muo-diy-pibeacon-ble2

BLE is specifiek ontworpen voor verzending over korte afstanden, maar met lagere stroomvereisten (een enkele knoopcelbatterij moet drie jaar meegaan). Kleine pakketjes gegevens, bekend als "advertenties" (niet in de marketingzin), 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 meestal gebruikt om locatiestatistieken 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 Zo krijg je een nieuw besturingssysteem geïnstalleerd en draait het op je Pi - en hoe je je perfecte setup kunt 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 

muo-diy-pibeacon-code1

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 now 

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 adverteer je met de PiBeacon?

muo-diy-pibeacon-ipad

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 advertentie-gegevens invoeren. 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 reeks opgesplitst in secties. Het teken FF geeft bijvoorbeeld aan dat er fabrikantspecifieke gegevens zullen volgen, in dit geval de 4C 00 die de ID van Apple is. Deze reeks kan naar wens worden gewijzigd.

Laten we het uit elkaar gaan:

muo-diy-pibeacon-data

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 aangezien 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 bijvoorbeeld zoiets als www.uuidgenerator.net gebruiken of als u een Mac gebruikt, genereert het hulpprogramma uuidgen 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 ($ 0, 99) om het te detecteren door Listen te selecteren. De bovenstaande string wordt aangeboden als een UUID in de Beacon Toolkit-app. Andere UUID's kunnen worden gebruikt, maar deze werken niet met die app: gebruik de iets duurdere Beacon Toolbox ($ 4, 99), die de meeste alle iBeacons binnen bereik zou moeten kunnen 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, als je maar een BLE-shield hebt (die misschien beschikbaar 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.

In this article