Hallo,
ich mach gerade ein grobes Konzept für eine Art Arbeitserfassungssystem an Produktionsmaschinen. Im wesentlichen geht es darum, zum einen einige Maschinendaten zu erfassen (Produktionsmengen, Zustand, Geschwindigkeiten - also größtenteils einfache Zähler mit Lichtschranken oder Erfassung von Zuständen wie Antrieb an/aus oder Tür offen/geschlossen) und zum anderen die Tätigkeitserfassung (per Eingabe am Display) zu machen, also wer macht wann welche Tätigkeit an welcher Maschine für welchen Auftrag. Das Ganze wird allerdings schon relativ komplex.
Es werden mindestens 10 Erfassungsgeräte. Als Hardware möchte ich auf Mikrocontroller setzen, weil robuster und schneller gestartet als ein Pi. Da ich auch Netzwerk brauche kommt ein Pico weniger in Betracht - ich denke eher an ESP32 (WLAN oder Ethernet). Displays (7-10" Touch) würde ich von Nextion nehmen, um nicht die ganze Grafikarbeit vom µC machen lassen zu müssen. Die Daten sollen auf einer Serverdatenbank landen. Für die Übermittlung könnte man MQTT nehmen. Da die Geräte auch untereinander sozusagen synchronisiert werden müssen, ist im Hintergrund entweder eine schnelle Datenbank nötig, wo jeders Gerät jeweils den aktuellen Status der andern abrufen kann oder eine zentrale Instanz, die die Informationen rumschickt. Lezteres ginge sicher auch mit MQTT. Bei der Programmiersprache würde ich wohl auf C zurückgreifen. Mit Python hab ich weniger Erfahrung und C ist wohl auch schneller.
Ich hab alternativ auch überlegt, ob man das ganze stärker zentralisiert macht. Mit einem Pi im Kiosk-Mode, so dass die gesamte Logik auf einem Server läuft. Möglich wäre ein webbasiertes System oder eine Art Terminallösung. Auch ein Client-Server-System wäre denkbar. Webbasiert hätte den Vorteil, dass man auch noch ganz andere Sachen machen kann - wobei die zugänglichen Server den Umfang beschränken. Allerdings erscheint mir die Programmentwicklung auf Webbasis wesentlich schwieriger als ein lokales Programm auf einem µC. Auch die Integration von Sensoren für die Maschinen in das Programm erscheint mir wesentlich schwieriger. Außerdem braucht man dann entsprechende Hardware - Pi, Bildschirm, Maus/Tastatur. Ein echtes C/S-System ist auch nicht einfacher. Ein Pi als RDP-Client und die Software rein serverbasiert wäre auch denkbar. Zumal 10" Touchdisplays auch erschwinglich sind. Aber wie integriert man dann die Sensoren?
Wer hat ein paar Anregungen, wie man sowas am besten strukturieren kann, welche Tools, Sprachen oder anderes so ein Projekt vereinfachen oder bessere Möglichkeiten bieten können?