Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
putnik [2018/06/28 16:31] – admin | putnik [2023/07/03 10:16] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== PUTNIK ====== | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Beschreibung: | ||
+ | |||
+ | |||
+ | Ein Medikamentenschrank, | ||
+ | Dabei führt Putnik eine Datenbank darüber, welcher Bestand noch zur Verfügung steht und ob zu viele oder zu wenige Produkte vorhanden sind. | ||
+ | |||
+ | ---- | ||
+ | ==== Aufbau: ==== | ||
+ | {{ : | ||
+ | |||
+ | ==== Bauteile: ==== | ||
+ | |||
+ | unten links: Touch-LCD-Screen, | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Code-Ausschnitte: | ||
+ | |||
+ | Import von ,, | ||
+ | Python als Programmiersprache | ||
+ | <file python HauptGui.py> | ||
+ | |||
+ | #Die Buttons | ||
+ | #Der Code des ersten Buttons der GUI mit der Funktion Auffüllen | ||
+ | def callback1(): | ||
+ | os.system(" | ||
+ | #liest den Medikamenten namen aus dem logfile aus | ||
+ | f = open(" | ||
+ | medikament = f.read()# | ||
+ | medikament = medikament.strip()# | ||
+ | #falls nichts gescannt wurde wird eine fehlermeldung ausgegeben | ||
+ | if medikament == " | ||
+ | box.showwarning(" | ||
+ | else : | ||
+ | #liest Medikamentenbestand aus dem File " | ||
+ | filename = ' | ||
+ | medi_bestand = {}#legt ein dictionary an | ||
+ | with open(filename) as fh:#öffnet bestand und schließt es nach gebrauch wieder | ||
+ | for line in fh: | ||
+ | praeparat, bestand = line.strip().split(' | ||
+ | medi_bestand[praeparat] = int(bestand.strip())# | ||
+ | # | ||
+ | medi_bestand[medikament]+=Slider.get()# | ||
+ | #speichere die aenderung in datei bestand ab | ||
+ | with open(' | ||
+ | for medikament in medi_bestand: | ||
+ | file.write(medikament + " | ||
+ | #zeigt den Erfolgsmeldung auf dem Bildschirm an | ||
+ | box.showinfo(' | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | <file bash scannen.sh> | ||
+ | |||
+ | #!/bin/bash | ||
+ | for ((versuche=0; | ||
+ | do | ||
+ | |||
+ | #schieße Foto | ||
+ | scan=$( raspistill -o / | ||
+ | echo $scan | ||
+ | #bearbeite das Foto, damit das Schwarz besser heraussticht | ||
+ | convert / | ||
+ | #Scanne Barcode | ||
+ | qrcode=$(zbarimg -q / | ||
+ | # | ||
+ | if [ $? -eq 0 ] | ||
+ | then | ||
+ | command=$(echo $qrcode | awk -F: ' | ||
+ | echo $command > / | ||
+ | break | ||
+ | fi | ||
+ | #falls nein geht es weiter bis genug versuche gemacht wurden | ||
+ | if [ $versuche -eq 9 ] #nach dem letzten Versuch schreibt er eine Fehlermeldung ins logfile | ||
+ | then | ||
+ | echo " | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | </ | ||
+ | |||