IBeacon porttelefon med Raspberry Pi och Azure (2 / 11 steg)
Steg 2: Scanning för iBeacons
Scanning för iBeacons är lite mer komplex. Vi kommer att behöva installera modulen BlueZ Python3 för detta. Jag har hittat att det enklaste sättet att garantera att en modul installerades för Python3 istället för Python2 är att använda pip. Du sannolikt har redan pip på Pi, men vi behöver Python3 version, speciellt pip-3.2 (eftersom Python3.2 är den aktuella standardversionen). Installera:
sudo lämplig-få installera python-dev python3-dev python3-setuptools python3-pip
sudo pip-3.2 installera pybluez
Medan du kan behöva ändra vissa filer senare om du vill följa med Python2, installera via apt-get:
sudo lämplig-få installera pybluez
Nu när modulen är installerad, kan vi använda denna fil till avsöka för iBeacons (GitHub / direkt nedladdning på sidan). Denna fil gjordes ursprungligen av John Shovic (GitHub) och jag uppdaterat den till att arbeta med Python3 och med detta projekt. Naturligtvis är det enklaste sättet att få detta och de andra filerna på Pi klon databasen. Kör filen blir Pi till en iBeacon scanner.
git klon https://github.com/flyinactor91/RasPi-iBeacons
CD RasPi-iBeacons
sudo python3 blescan.py
Tada! Det är nu... oh vänta ingenting händer. Vad är det som händer? Det finns inga iBeacons i luften. Låt oss fixa det. Att iBeacon app kan också sända/överföra. Välj någon av standardalternativen; Det spelar ingen roll vad de UUID, större eller mindre värdena är. När den är påslagen, bör du se Pi börjar att skriva ut rotvälska, men att rotvälska ska matcha rotvälska på telefonen. Stäng sedan app iBeacon, och Pi ska sluta.
Hittills har vi aktiverat Pi till avsöka för iBeacons och visat att vår telefon kan överföra dem. Innan vi kan göra mer med Pi, måste vi ställa upp våra azurblå back-end.