Steeds meer dingen – auto’s, deurbellen, rookmelders, koelkasten, noem maar op – zijn via een ‘embedded systeem’ verbonden met het internet. Internet of Things (IoT) noemen we dat. Hoe werken die systemen en wat zijn de elementaire bouwstenen om een volwaardig IoT-device te maken? In deze workshop bouwen we een eerste IoT-device. We bouwen een koppeling tussen sociale media (Telegram) en een “thing” met behulp van een Raspberry Pi-computertje verbonden met een temperatuur en luchtvochtigheid sensor, een bewegingssensor, een camera, een lichtsensor en een versnellingssensor. Dit alles doen we op een laagdrempelige manier. Alles is beschikbaar zodat je thuis - met je eigen Raspberry Pi – het werk kan voortzetten, als je dat wil.
Onderstaande linken om de benodigde applicaties te downloaden: Indien je van thuis volgt.
Indien je de workshop volgt mag je beginnen bij Stap 2.
Om de Raspberry PI te kunnen gebruiken voor het IOT-project moet eerst het Raspberry Pi operating system geïnstalleerd worden. Daarna moet de wifi op de Raspberry Pi geconfigureerd worden en het IP-adres genoteerd worden zodat vanaf een andere pc ingelogd kan worden op de PI via SSH. Als je de workshop volgt tijdens de demo kan je deel 1 volledig overslaan en naar deel 2 gaan. Wil je het project bij je thuis nabouwen, dan moet je eerst stap 1.1 doornemen om het project te kunnen opbouwen.
Om het project te kunnen opstellen moet het Raspberry PI operating system geïnstalleerd worden (op een SD-kaart van minstens 16GB die volledig geformatteerd mag worden) samen met enkele installatie pakketten. Bij de Raspberry Pi die tijdens de workshop gebruikt wordt is dit al uitgevoerd. Om dit thuis ook te kunnen doen moet dit eerst nog op de SD-kaart geïnstalleerd worden.
Eerst moet de Raspberry Pi Imager geïnstalleerd worden op je computer. De imager is een snelle en makkelijke manier om de Raspberry Pi OS te installeren op een SD kaart.
Steek de SD kaart in je computer en open de imager. Bij het openen van de imager word je begroet met het volgende scherm:
Om de OS te installeren klik je op 'CHOOSE OS' en selecteer je Raspberry Pi OS (32-bit). Daarna kies je de SD kaart waarop je de OS wilt zetten. Dit gebeurt door op de 'CHOOSE STORAGE' knop te klikken. Je SD kaart zal daar staan en die moet je dan selecteren.
Wanneer je de melding krijgt dat het schrijven van de image succesvol afgerond is mag je de kaart verwijderen uit je pc en in de Raspberry Pi plaatsen. Sluit vervolgens het toetsenbord, muis, camera, HDMI-scherm, en sensor bord aan. De sensoren bord is al gemaakt tijdens de workshop. Als je deze zelf wil maken kan je hier meer informatie vinden.
Nu is de Raspberry Pi klaargezet maar deze moet nog geconfigureerd worden.
Startscherm:
Nu de Raspberry Pi verbonden is met het netwerk bewaren we het toegewezen IP-adres. Door over het wifi-icoontje te bewegen met de cursor zal er een venster verschijnen. Noteer deze IP-adres. Wees zeker dat je raspberry pi en je PC verbonden zijn met hetzelfde wifi netwerk.
Ons IP-adres: 169.154.146.220, niet overnemen.
Op de raspberry pi moeten we nu SSH aanzetten. Dit wordt gedaan door linksboven op de raspberry pi symbool te klikken en dan Preferences en dan Raspberry Pi Configuration. Onder de interfaces tab click je dan ssh aan.
Als volgende stap gaan we met een voorgeschreven .sh file de nodige bibliotheken afhalen en functionaliteiten aanzetten van de RPI.
Open Putty op je PC. Je wordt begroet met het volgende scherm:
Hier moet je bij hostname het ip adres van de raspberry pi ingeven. Het is noodzakelijk dat de PC en de raspberry pi op hetzelfde wifi netwerk zitten. Dan voer je als poortnummer 22 in en kies je SSH als connectie type. Dan druk je op Open.
Vervolgens zal je moeten inloggen op de Raspberry Pi. Gebruik de standaard inloggegevens als volgt:
Als je je eigen login gegevens hebt gekozen, vul je die in.
Telkens wanneer je opnieuw wilt inloggen met Putty moet je deze stappen herhalen.
Indien je succesvol bent ingelogd ziet je terminal als volgt uit:
Inloggegevens ter illustratie, niet overnemen.
Met onderstaande commando's gaan we als eerst de .sh downloaden en vervolgens uitvoeren. Kopieer ze uit deze handleiding en plak ze in de putty terminal. Het plakken in een terminal wordt gedaan met de rechtermuisknop, i.p.v. de sneltoets ctrl+V. Druk op enter om ze uit te voeren.
wget https://raw.githubusercontent.com/Slauf21/Workshop-IOT-RPI-2022-23/main/Files/install.sh
Kopieer deze commando's individueel en plak met rechtermuisknop in de terminal.
Vervolgens zal de RPI herstarten en kan er verder gegaan worden met de volgende stap.
Log opnieuw in via Putty.
Om nu de camera te activeren voor gebruik voer je volgende commando's in Putty.
Om het configuratiescherm af te sluiten toets je 'Esc' (linksboven op het toetsenbord) in.
We beginnen met het installeren van Telegram. Deze kan zowel op pc als op mobiel geïnstalleerd worden. Volg deze link om Telegram Desktop te installeren op pc.
Onderstaande venster bij invoer BotFather:
Elk commando begint met een slash (/).
Hierna verschijnt een hoop uitleg van verschillende commando's voor het aansturen van de bot.
Gebruik iets anders als 'Telegram_bot'.
Indien naam in gebruik kan er nogmaals gevraagd worden om een gebruikersnaam in te voeren.
Nu de token is gegenereerd gaan we niet meet met de BotFather praten, maar met onze eigen bot.
We gaan ook de chat id nodig hebben. Met deze link kan je de chat id terugvinden door je token in het venster te plakken.
Nu de Raspberry Pi is geïnstalleerd kunnen we beginnen met het schrijven van een Python code. Om de code te schrijven hebben we als eerst een editor nodig. Om de code te transporteren op de Raspberry Pi hebben we vervolgens een FTP-client nodig. En als laatste een SSH-client om commando's uit te voeren op de Raspberry Pi. Deze had je in het begin moeten installeren.
Er wordt nu een verbinding gemaakt met het bovenvermelde adres.
Vervolgens zal je moeten inloggen op de Raspberry Pi. Gebruik de standaard inloggegevens als volgt:
Indien je succesvol bent ingelogd ziet je terminal als volgt uit:
Inloggegevens ter illustratie, niet overnemen.
Hierna kunnen we aan de slag met het downloaden van de start code. Deze wordt bewaard op de Raspberry Pi met de volgende commando:
wget https://raw.githubusercontent.com/Slauf21/Workshop-IOT-RPI-2022-23/main/Python_bot/Workshop.py -O ~/Desktop/Workshop.py
Bestand bewaard op bureaublad.
Indien je succesvol bent ingelogd ziet je scherm als volgt uit:
Links zie je de werkomgeving van je pc en rechts die van de Raspberry Pi. Nu kan er bestanden uitgewisseld worden tussen deze 2 apparaten.
Indien je de bestand succesvol hebt kunnen openen ziet je scherm als volgt uit:
Plak vervolgens de token en chat id binnen de aanhalingstekens.
Om deze wijziging op te slaan druk op Ctrl + S of via 'Bestand' linksboven 'Opslaan' klikken.
Open FileZilla en sleep deze bestand vanuit je persoonlijke bureaublad aan de rechterkant binnen het map 'Desktop'.
Vink 'Deze actie altijd gebruiken' en klik op 'OK' als je een waarschuwing krijgt over 'Doelbestand bestaat al'.
Nu de bijgewerkte versie van de code op de Raspberry Pi staat kunnen we deze runnen.
Open Putty en tik 'cd Desktop/' in om in het bureaublad te zitten waar de code zich bevindt.
Tik nu 'python3 Workshop.py' in om de code te runnen.
Indien je de bestand succesvol hebt kunnen runnen ziet je scherm als volgt uit:
Nu heb je de basis bereikt, om nu de interessante delen toe te voegen in je code klik je op deze link.
Verder zal je hardware aansturen gelijk PiCamera om foto's te nemen, DHT11 om temperatuurmetingen uit te voeren enzovoort.