Instructions

61
import RPi.GPIO as GPIO
import time
import os
g1 = 1; g2 = 10; g3 = 100; g4 = 500
GPIO.setmode(GPIO.BCM)
LED = [4,18,23]
for i in range(3):
GPIO.setup(LED[i], GPIO.OUT, initial=False)
print ("Strg+C beendet das Programm")
try:
while True :
s = os.statvfs('/')
f = s.f_bsize * s.f_bavail / 1000000
if f < g1:
x = "100"
elif f < g2:
x = "110"
elif f < g3:
x = "010"
elif f < g4:
x = "011"
else:
x = "001"
for i in range(3):
GPIO.output(LED[i], int(x[i]))
time.sleep(1.0)
except KeyboardInterrupt:
GPIO.cleanup()
Lassen Sie das Programm laufen, zeigen die LEDs ständig den freien Speicherplatz auf der Speicherkarte an.
Probieren Sie es aus, indem Sie große Dateien über das Netzwerk auf die Speicherkarte kopieren und wieder
löschen. Die Anzeige aktualisiert sich automatisch.
7.1.1 So funktioniert es
Das Programm verwendet das Python-Modul os zur Berechnung des freien Speicherplatzes, das grund-
legende Betriebssystemfunktionen zur Verfügung stellt.
import os Das Modul os muss, wie andere Module auch, am Anfang des Programms importiert werden.
g1 = 1; g2 = 10; g3 = 100; g4 = 500 Diese Zeilen definieren die Grenzen der Bereiche für freien Speicher-
platz, an denen die Anzeige umschalten soll. Der Einfachheit halber verwendet das Programm Megabyte und
nicht Byte, da man sich diese Zahlen besser vorstellen kann. Sie können die Grenzen jederzeit anders fest-
legen, die vier Werte müssen nur in aufsteigender Größe angeordnet sein.