Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| putnik [2018/07/04 18:47] – student | 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 | ||
| + | |||
| + | </ | ||
| + | |||