Ich habe Daten auf einem zweiten Raspi die ich verarbeiten will.
Die Daten kommen per tcpcom auf den Client.
Wie kann ich die weiter verarbeiten, bzw wo in dem Script unten läuft die Schleife?
An welcher Stelle kann ich die Daten verarbeiten oder in eine globale Variable senden?
Die Funktion für den Callback der Funktion TCPClient muss so definiert sein, dass diese nichts zurückgibt.
Aber selbst wenn du der Funktion onStateChanged ein return gibst, so bekommt den Wert dann TCPClient.
Ich habe auf dem RASPI1 ein Programm laufen in dem die Variable $Watt ständig aktualisiert wird.
Diesen Wert der Variable möchte ich auf dem RASPI2 zeitnah verarbeiten.
Dann machs ruhig so wie ich sagte.
Im state == "MESSAGE" wird das empfangene in die Messagequeue oder FIFO gepackt und ein andeer Thread parst das.
Ich empfehle ein JSON um die Variable zu packen (das werden garantiert noch mehr ).
Dann ist das gut parsebar und nichts wird verwechselt. https://docs.python.org/2/library/json.html
Mitm Wireshark sind die Nachrichten dann auch lesbar im Netzwerk debugbar
Ich kapere mal diesen Tread, weil ich auch ein Python Probleme habe.
Für einen Kollegen im Nachbarwerk habe ich ein Python-script geschrieben. Nix großes, knapp 400 Zeilen incl. Kommentare und Formulargestalung. Das Programm sucht und fügt ein paar pdf-Dateien zusammen. Auf meinem Rechner wurde Python 3.4 von unserer IT installiert. Die Zusatzmodule pypdf (verbindet zwei pdf) und fpdf (macht aus txt eine pdf) konnte ich ohne Admin nachinstallieren.
Das Programm lief soweit, und nun musste auf dem Rechner von dem Kollegen zuerst Python installiert werden. Dazu im Mai ein Ticket geschrieben. Nach einem Monat und ein paar anrufen endlich ein Kontakt zur IT. Die Kollegin vor Ort rief mich an und fragte nach den Kosten für dieses "Python". Ich erklärte Ihr, dass es Open Source und damit eine Art Freeware ist. Sie bedanke sich für die Info. Dann kehrte wieder Ruhe ein. nach einem weiteren Monat und mehreren Telefonaten war endlich Python 3.6 und zusätzlich 3.7 drauf. Warum beide, weiß ich nicht, ist aber auch egal, hoffe ich.
ich musste nun nur noch mit pip install pypdf die Module nachinstallieren. Dies scheitete. Der hinzugerufene ITler besteätigte, es liege wohl an der Firewall. Daran kann er nichts ändern. Bitte ein neues Ticket schreiben. *klack* aufgelegt.
Ich habe nun 3 Möglichkeiten:
a) Weitere 2-3 Monate komplpizierte Gesprche mit dem Ticketsysetm der IT führen.
b) Das Programm komplett neu mit C# schreiben (sehe ich derzeit als einfachste Lösung)
c) Die Module manuell herunterladen und installieren.
Meine Frage betrifft Punkt c): Geht das irgendwie?
Geil, manuelles runterladen und installieren funktioniert. Danke für die Hilfe. Letztendlich auch ein kleiner Krampf, weil die Datei an der richtigen Stelle stehen muss. Und das Modul nur für die eine Python-version funktioniert. Und der Kollege kein Zugriff auf die benötigten Ordner mit den entsprechenden pdfs hat. Und wir somit doch noch ein Ticket schreiben müssen.
Aber egal, ich brauche es (noch) nicht neu schreiben. *freu*
Danke und Gruß
Kuddel