Programmierung Raspberry Pi

Workshop Samstag, 16. März 2019

Pi Workshop 'Programmierung'
- Python
- Treading
- TKinter (GUI)
- GPIO

Werner Büchli, HB9CZV
siehe auch PRIG Workshop 2014/2015 (TX Control)

Zeit: 10 - 12 Uhr
Datum: Samstag, 16. März 2019
Ort: Gerhard Badertscher, am Huehnerbuehlrain 8
3065 Bolligen

Folienvortrag [916 KB]

 


Demo Funktionsmuster Wetterstation
Ziel ist es, abzuklären ob ein Interesse an einer weiteren Workshop-Reihe 'Programmierung des Raspberry Pi' besteht.
- Programmierung mit Python
- Editor Geany
- Threading (Teilprozesse zur Abfrage von Sensoren)
- Grafisches User Interface Tkinter

Dazu wurde ein teil-programmiertes Funktionsmuster 'Wetterstation' erstellt.
Dieses kann hier [6 KB] heruntergeladen und ausprobiert werden.
Dazu noch ein GIF-Bild mit dem Namen werner.gif in den gleichen (Download)-Ordner (ca. 100x100 pxls)
oder ...
lösche Zeilen 35/36 im Script:
imageEx = PhotoImage(file = 'werner.gif')
Label(leftFrame, image=imageEx).grid(row=2, column=0, padx=10, pady=3)

Mit dem Pi (Browser) downloaden.
Dann im Download-Verzeichnis mit Geany öffnen.


Funktionsmuster mit 2 Frames

3 Teilprozesse (Threads) werden gestartet.
Mit den Schiebereglern kann das Intervall des entsprechenden Thread verändert werden. Beispielsweise wird ein Temperatur/Feuchtigkeits-Sensor DHT22 öfters abgefragt als der Luftdruck-Sensor.
Dies alles geschieht quasi-parallel mittels Thrading.

Die Idee ist, dass zu Workshopbeginn ein fertiges Grundmodell zur Verfügung steht, das die Teilnehmer individuell für sich modifizieren;
- GUI gestalten
- Sensoren hinzufügen/weglassen
- Funktionen wie Uhr, Internetzugriff, .. hinzufügen
- Display oder Touch Screen anschliessen


Vorbereitung Raspberry Pi

Auf einem PC (z,B. Windows) sollte zuerst die Speicherkarte (microSD) von guter Qualität gründlich gelöscht und mit dem neuesten Betriebssystem (zurzeit Stretch/11.2018) beschrieben werden.

Die Version Stretch 2018-11-13-raspbian-stretch bietet beim ersten Aufstarten komfortable Konfiguration inkl. Paketaktualisierung.

Empfohlen:
- Mit SDFormatter einen 32 GB MicroSD mit der
Option FULL (OverWrite) löschen.
- Download des gezippten Betriebssystem
Stretch 2018-11-13
. mit Win32 DiskImager beschreiben

Nun muss nur noch in der Raspi-Konfiguration VNC und SSH gesetzt werden

Tipp:
Für raspberripi einen eigenen Namen (z. Bsp. WSJT-X) einsetzen.
Damit ist der Pi im Router leichter auffindbar, falls mehrere Pi's verwendet werden


Anlegen/Löschen eines Ordners auf dem Raspberry Pi

cd
(Gehe in die Ausgangsstellung Verzeichnis)
cd /home (Wechsle in das Verzeichnis „home“)
sudo mkdir PRIG (Anlegen des Ordners „PRIG“)
ls (Kontrolle durch den Befehl „List“ )

anschliessend Berechtigung Schreiben/Lesen erteilen:

sudo chmod 777 /home/PRIG


Python

Beispiel Python-Script


Threading

Quasi-parallele Prozesse mit 3 Threads


GPIO

Raspberry Pi - GPIO mit Breadboard


Anwendungen

Beispiel: Wetterstation


Tools: Farbwähler

Farbwähler


https://html-color-codes.info/webfarben_hexcodes/


Demo


File: demoPRIG.py [8 KB] (provisorisch)
Mit Geany öffnen oder direkt auf den Raspy laden und starten

Demo

Terminal, GUI, Pop-up window

Testen
1. Im Pi Browser öffnen
2. Von dieser PRIG-Seite demo.py downloaden
3. Im Verzeichnis Downloads das Demoprogramm demo.py starten

gemäss folgender Abbildung

Starten der Demo

Anmelden