Projekte/pumppi
PumpPi oder kurz auch ScanPi genannt, ist ein Raspberry Pi 1, der auf Knopfdruck scannt und das Resultat auf die Nextcloud hochläd. Das Ziel ist es, dass mehrere Dokumente gescannt werden können, ohne dass ein Laptop verwendet werden muss.
Ablauf
Beginn: Der Knopf wird gedrückt.
- Die Lampe beginnt zu blinken. Sie startet mit dem Status eingeschaltet, damit sofort erkannt werden kann, dass der Vorgang gestartet wurde. Für das Blinken mus wahrscheinlich ein ansynchroner Thread gestartet werden.
- Neben dem Blinken startet aber auch die Ausführung einer synchronen Funktion, welche den folgenden Algorithmus weiter abarbeitet
- Erzeugen von Dateiname aus Datums- und Zeitstempel für neue Datei
- `scanimage -L 'PRINTER' --type=PMN > scan.pmn`
- Konvertieren von PMN zu PDF (eventuell auch mit Reduzieren der Auflösung für kleinere Dateien)
- Hochladen zur Nextcloud `curl …`
- Löschen der gescannten Dateien
- Blinken stoppt und setzt den Status der LED kurz auf an und nach 10ms auf aus, nun kann der Button erneut gedrückt werden
Die Anmeldedaten für die Nextcloud kommen von einem Botaccount. Es wird in einen Ordner hochgeladen, der entweder nur dem Vorstand oder auch jedem Mitglied freigegeben ist. Es wird kein Account verwendet, welcher Rechte hat oder vom Vorstand ist, sondern nur einen Ordner teilt. Am besten wäre es wahrscheinlich, wenn nur der Vorstand den geteilten Ordner sieht, so das Scans nicht einfach abgefangen oder MITM Attacken ausgesetzt sind.
Namenstrivia
Der Name kommt daher, dass der PumpPi das Aquarium (Drucker) anspricht und auf diesem den Scanvorgang anstößt. Eine andere Idee war der Name FishPi, da mit dem Aquarium (Drucker) interagiert wird. Dieser Name wurde allerdings verworfen, da ein Fisch zwar vom Aquarium eingeschränkt wird, jedoch das Aquarium nicht steuert, anders als der PumpPi. Das Aquarium wird vom PumpPi so gesteuert, wie ein Aquarium von einer Pumpe gesteuert wird, ohne welche die Zirkulation des Wassers nicht mehr gewährleistet ist und so schlecht für das Ökosystem ist.