Slauf21 / Workshop-IOT-RPI-2022-23

0 stars 0 forks source link

Workshop-IOT-RPI-2022-23

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.

Inhoudstabel

1. Installeren en Configureren Raspberry Pi

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.

1.1. Installeren Raspberry Pi OS

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:

image

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.

1.2. Raspberry Pi verbinden met wifi

Startscherm:

rpi-home.png

rpi-ssid.jpg

rpi-ssid-pass-1.png

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.

rpi-ssid-pass.png

Ons IP-adres: 169.154.146.220, niet overnemen.

1.3. Configureren Raspberry Pi

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.

image

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:

image

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.

ptty-wrning.png

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:

putty.png

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.

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.

rpi-config.png

intfce.png

lcam.png

enble.png

wrng.png

Om het configuratiescherm af te sluiten toets je 'Esc' (linksboven op het toetsenbord) in.

2. Aanmaken van Telegram Bot

2.1 Installeer Telegram

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.

2.2 Configureren van bot

btfthr.png

Onderstaande venster bij invoer BotFather:

Elk commando begint met een slash (/).

botfather.png

Hierna verschijnt een hoop uitleg van verschillende commando's voor het aansturen van de bot.

nwbot.png

name.png

username.png

Gebruik iets anders als 'Telegram_bot'.

Indien naam in gebruik kan er nogmaals gevraagd worden om een gebruikersnaam in te voeren.

token.png

Nu de token is gegenereerd gaan we niet meet met de BotFather praten, maar met onze eigen bot.

image

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.

site.png

3. Schrijven van de code

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.

3.1 Putty

Er wordt nu een verbinding gemaakt met het bovenvermelde adres.

Putty

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:

putty.png

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.

3.1 FileZilla

filezilla.png

Indien je succesvol bent ingelogd ziet je scherm als volgt uit:

filzil.jpg

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.

ws.png

pyfile.png

3.1 Notepad++

notepad.png

ntpd.png

Indien je de bestand succesvol hebt kunnen openen ziet je scherm als volgt uit:

ntpd-code.png

filzil.png

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.

Indien je de bestand succesvol hebt kunnen runnen ziet je scherm als volgt uit:

ptty-termnl.png

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.