Hallo zusammen, ich versuche gerade eine Anwendung zur Steuerung eines FU (via Serielle Schnittstelle und ModBus) auf dem Raspberry (raspbian) zu erstellen. Meine Idee ist es, eine Anwendung zur Kommunikation via serielle Schnittstelle zu schreiben, um etwaige gleichzeitige Zugriffe zu verhindern. Da später mehrere Programme darauf zugreifen sollen (User via GUI oder shell, cronjob, deamon prozess, ...) wäre ich für ein paar Ideen zur (einfachen) Umsetzung dankbar. Ein mögliches Szenario wäre, der User gibt eine Solldrehzahl vor, diese wird an den FU gesendet. Später erkennt der deamon prozess eine Stromspitze im Netz und reduziert die Drehzahl (Gebläse). Ein chron-job loggt alle 5 Minuten Drehzahl und andere Motorparameter (Ströme, Leistung, ...) des FU. Dabei sollte es verschiedene Proiritäten geben. 1 -> Drezhalreduktion bei Stromspitzen (höchste Prio) 2 -> optimale Solldrehzahl durch Regelung (wird erst viel später umgesetzt) 3 -> Gewünschte Drehzahl des Users 5 -> Status des FU und Motorparameter abfragen (niedrigste Prio) Ich würde das ganze in C programmieren. Freue mich auf eure Vorschläge
Stefan W. schrieb: > Hallo zusammen, > ich versuche gerade eine Anwendung zur Steuerung eines FU (via Serielle > Schnittstelle und ModBus) auf dem Raspberry (raspbian) zu erstellen. > Meine Idee ist es, eine Anwendung zur Kommunikation via serielle > Schnittstelle zu schreiben, um etwaige gleichzeitige Zugriffe zu > verhindern. > > Da später mehrere Programme darauf zugreifen sollen (User via GUI oder > shell, cronjob, deamon prozess, ...) wäre ich für ein paar Ideen zur > (einfachen) Umsetzung dankbar. Wenn ich das richtig verstehe, möchtest Du eine Koppelung GUI <-> daemon? Dann mach eine (lokale / abstrakte) Socket-Kommunikation. SharedMemory oder MessageQueues geht natürlich auch, doch Socket ist wohl einfacher / universeller ...
Danke, ich werde mich am Wochenende mal mit den genannten Vorschlägen auseinandersetzen.
Stefan W. schrieb: > Danke, > ich werde mich am Wochenende mal mit den genannten Vorschlägen > auseinandersetzen. Eine große Hilfe wird sein: APUE (Advanced programming in the unix environment).
Hi, ich kann dir da auch nur UnixDomainSockets empfehlen. Ebenso sind auch message queues möglich (habe ich beruflich schon einmal verwendet). Ganz wichtig ist bei dir aber auch die Frage, in welcher Programmiersprache möchtest du das machen? Da gibt es pro Sprache auch gewisse Hindernisse oder Probleme.
Ich werde am Raspberry alles in C programmieren, wie oben erwähnt. Zu Beginn werde ich alles lokal mit MessageQueues machen, da gibt es bereits eine Priorisierung. Sobald das alles gut läuft, wird das ganze um eine Socket-Schnittstelle erweitert, damit das ganze auch von anderen Rechnern im Netz bedient werden kann (die Fernsteuerung dann in .Net oder so programmiert, sind nur Win-Rechner, oder Java, oder ...)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.