Deze week een tutorial van docent digitale didactiek Jaap van der Veen.

Maak een aanwezigheidssensor van je Raspberry Pi!

Raspberry Pi tutorial voor beginners – echt waar!

Leerdoel

Tijdens de casus van vandaag leer je hoe je een Raspberry Pi kunt laten detecteren welke apparaten zich op dat moment in de ruimte bevinden aan de hand van bluetooth!

Handig, want wie weet kun je aan de hand van deze tutorial het voor elkaar krijgen om iemand te begroeten zodra zijn/haar telefoon wordt gedetecteerd!

Korte samenvatting

We beginnen met het installeren van het besturingssysteem, nodig om een Raspberry Pi te kunnen laten draaien, en we eindigen met het maken van een klein Python script dat via bluetooth kijkt welke apparaten er op dat moment in de buurt zijn.

Benodigde voorkennis / ingangseisen

In principe weinig voorkennis benodigd: we gaan de Raspberry namelijk aansluiten op een monitor + muis en toetsenbord om zo python code te kunnen schrijven. Je moet wel weten hoe je een monitor + toetsenbord en muis aansluit en je moet over algemene vaardigheden beschikken met betrekking tot het werken op een computersysteem.

Je moet wel de beschikking hebben over een Raspberry Pi. Er hoeft nog geen besturingssysteem op te staan want dat gaan we er in deze tutorial zelf op zetten!

Wat heb je nodig

  • Een computer of Mac waarop je wat voorbereidingen moet treffen.
  • Een schoon MicroSD kaartje. Hier zetten we Raspbian Jessie (het besturingssysteem van de Raspberry Pi) op.
  • Een Raspberry Pi 3B (met ingebouwde bluetooth) of een eerdere Raspberry Pi (A/B) met een bluetooth dongle en wifi dongle.
  • Een monitor, toetsenbord en muis die je op de Raspberry kunt aansluiten

Stap 1: Raspbian installeren

Ga op een computer of mac naar https://www.raspberrypi.org/downloads/raspbian/ om “Raspbian Jessie with Pixel” (zip-bestand) te downloaden. Stop de MicroSD kaart ook alvast in de computer. Zodra je het zip-bestand hebt gedownload, pak je het uit. De .img die in het zip-bestand zit gaan we op de MicroSD kaart zetten. Dat doen we met het programma “Etcher” (gratis programma van https://etcher.io/) Etcher werkt heel simpel:

Bij “Select image” selecteer je de uitgepakte .img. Die heeft als naam iets in de trant van “2017-01-11-raspbian-jessie.img”. Bij “Select drive” selecteer je het MicroSD kaartje. Meestal wordt dit kaartje trouwens automatisch al geselecteerd, zodat je alleen nog maar op de knop “Flash!” hoeft te klikken. Zodra het programmaatje klaar is (kan even duren), zie je het volgende scherm:

Je kunt nu meteen het MicroSD kaartje uit de computer halen en in je Raspberry Pi stoppen. Let er op dat je dit voorzichtig doet en op de volgende manier:

Stap 2: Raspberry opstarten en updaten

Zodra je de Raspberry Pi aan zet (= stekkers aansluiten en in stopcontact) start de Raspberry op. Eenmaal opgestart zie je een soort omgeving die wel een beetje lijkt op Windows. Het eerste wat we doen is een wifi verbinding maken:

Vervolgens start je de terminal op door op dit knopje te klikken: [plaatje]. Nu tik je “sudo apt-get update && sudo apt-get upgrade -y” en druk op enter om de nieuwste updates te downloaden en installeren. Dat kan even duren, maar hierna is je Raspberry weer helemaal up-to-date!

Voordat je met bluetooth aan de slag kunt in Python, moet je in de terminal nog “sudo apt-get install python-bluez” tikken en op enter drukken. Hiermee worden benodigde modules geïnstalleerd om met bluetooth te kunnen werken:

Nu je Raspberry ook bluetooth ondersteuning heeft, kunnen we aan de slag met het schrijven van een klein python-script dat scant naar apparaten in de buurt. Dat schrijven van het script doen we in het programma “Geany”. Dat start je zo op:

Zodra je Geany hebt opgestart, kun je meteen beginnen met het tikken van code. Voordat je dat doet, sla je het (nog lege) bestandje even op als “scanner.py”. Sla het bestandje op in de map “pi”:

Omdat de naam van het bestandje eindigt op “.py”, weet Geany nu dat je Python code gaat schrijven. Dat is handig, want dan wordt de code in kleurtjes weergegeven.

Tik nu het volgende script:

Als je nu je wijzigingen opslaat, is je script klaar om te testen! Start weer een terminal venster op (met het knopje [plaatje]) en tik in “sudo python scanner.py”. Ga maar eens kijken welke apparaten er allemaal worden gevonden:

Zodra het script start, wordt er 5 seconden lang naar actieve bluetooth apparaten gezocht. Als er apparaten worden gevonden, worden ze getoond. Zijn er geen apparaten gevonden, dan wordt er een bijbehorende melding getoond. Na de zoekactie wordt er steeds 5 seconden gewacht voordat er opnieuw wordt gezocht naar apparaten.

We hopen dat we hiermee hebben laten zien dat je met relatief weinig kennis en code al hele leuke dingen kunt maken! Wat wordt jouw volgende project???

P.S: Is het je niet gelukt de code spelvoutvrij over te tikken? Laat dan je gegevens hieronder achter zodat we je de code kunnen toesturen!