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 beëindigt het programma")
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()
Als u het programma laat lopen, geven de LED's voortdurend de vrije geheugenruimte op de geheugenkaart
weer. Probeer dit uit, door grote bestanden via het netwerk op de geheugenkaart te kopiëren en weer te
verwijderen. De weergave wordt automatisch bijgewerkt.
7.1.1 Zo werkt het
Het programma gebruikt de Python-module
fundamentele besturingssysteemfuncties ter beschikking stelt.
De module
import os
geïmporteerd.
g1 = 1; g2 = 10; g3 = 100; g4 = 500
ruimte, vanwaar de indicatie moet omschakelen. Vanwege de eenvoud gebruikt het programma megabyte en
niet byte, omdat men zich deze getallen beter kan inbeelden. De grenzen kunnen te allen tijde anders
worden vastgelegd, de vier waarden moeten alleen in oplopende grootte worden toegekend.
os
moet, net als andere modules, aan het begin van het programma worden
os
Deze regels definiëren de grenzen van de gebieden voor vrije geheugen-
voor het berekenen van de vrije geheugenruimte, dat de
63