Hallo, bin auch jemand der in Sachen Raspberry und Python noch am Einarbeiten ist. Ich habe ein Projekt in dem ich mehrere Sachen auf einmal erledigen möchte.
1. Signalüberwachung: Alle von mir definierten EIngänge sollen überwacht werden und bei Änderungen soll ein Eintrag in eine Tabelle (SQLITE) gemacht werden
2. Signaländerungen melden: Die von Punkt 1. eingetragenen Meldungen sollen wenn eine Verbindung besteht versendet werden
3. Ein TCP/IP Server soll eingehende Nachrichten verarbeiten können
Da die Aufgaben zum Teil auf gleiche Variablen (lesend) zugreifen möchte ich diese Aufgaben mit Threads in einem Programm realisieren. Doch wie ich es von anderen Softwareprojekten kenne wird ein Projek,t wenn es nicht von Anfang grob durchgeplant wurde, sehr schnell unübersichtlich. Vielleicht bin ich verwöhnt von anderen Programmiersprachen aber wenn ich mir vorstelle mein gesamter Code steckt am Ende nur in einer Datei ist mir nicht wohl dabei. Dehalb mache ich mir zunächst gedanken um die Grundstruktur bevor es mit dem Tippen losgeht.
Mein Wunsch: Das Projekt Modular aufzubauen
Modul 1: main.py (hier werden die Threads gestartet)
Modul 2: Thread1 für Signalueberwachung
Modul 3: Thread2 für die Verarbeitung der Signaländerungen
Modul 4: Thread2 für die TCP/IP Kommunikation
usw.
Frage:
Ist ein solcher Aufbau mit Python möglich oder gibt es eine bessere Methode um ein solches Projekt übersichtlich aufzubauen? Wichtig ist, dass die Threads auf globale Variablen und evtl. auch auf globale Funktionen, die natürlich für jeden Thread gesperrt werden müssen, zugreifen können. Für konstruktive Tipps und Vorschläge bin euch dankbar"