Posts by whitechristmas

    Hallo hyle,


    das Skript lässt sich weder mit SIGTERM noch mit SIGKILL beenden. Hast Du vielleicht eine Idee, woran das liegen könnte?
    Oder kann es vielleicht daran liegen, dass das Skript sich in einer Endlosschleife (while) befindet?


    Vielen Dank.


    whitechristmas

    Guten Morgen zusammen,


    mit einem SSH-Programm besteht der Nachteile, dass ich alles eintippen muss und wenn das Skript beendet werden soll, muss der Prozess unschön (kill ...) beendet werden. Bei den Apps, bei denen ich den Befehl hinter einem Button verstecken kann, ist das Problem mit dem Beenden des Skriptes nicht gelöst.


    Vielen Dank.


    whitechristmas

    Guten Abend zusammen,


    auf meinem Raspberry möchte ich gerne per Smartphone (Android) über das Internet/internes Netzwerk ein Python-Script starten und auch wieder beenden. Hat jemand da eine Idee, welche Möglichkeiten es da gibt? Mit dem Skript wird eine Alarmanlage ein- bzw- ausgeschaltet.


    Vielen Dank und einen schönen Abend mit hoffentlich wenig Sturmböen.


    whitechristmas

    Guten Abend zusammen,


    mit der NoIR Camera V2 mache ich innerhalb von zwei Sekunden zwei Bilder. Die beiden Bilder unterscheiden sich dann in der Helligkeit und im Kontrast stark. Ist das bei der Kamera normal oder liegt evtl. ein Defekt vor? Um die beiden Bilder optisch auszuwerten, sollten sie was die Helligkeit und den Kontrast angeht rel. gleich sein.


    Vielen Dank.


    whitechristmas

    Hallo zusammen,


    es soll ein Raum von ca. 5x5m ausgeleuchtet werden. Ich denke mal, dass LED's mit 950 nm nicht mehr mit dem Auge sichtbar sind. Das Problem mit der Wellenlänge ist, dass der Übergang von sichtbarren Licht zu nahen Infrarot fließen ist. Wäre schön, wenn jemand seine Erfahrung weitergeben könnte. Hat jemand 850nm LED's verbaut. Sieht man die rote Farbe?


    Eine zus. Stromquelle möchte ich nicht verwenden, da der Raspi in ein spez. Gehäuse eingebaut werden soll. Außer der Kamera habe ich sonst nichts am Netzteil mit 2500mA hängen.


    Vielen Dank.


    whitechristmas

    Hallo zusammen,


    für meine IR-Kamera am Raspberry brauche ich einen IR-Scheinwerfer für Nachtaufnahmen. Kann mir jemand Infrarot-LED's empfehlen, die wenig Strom ziehen (Strom soll von Raspberry kommen) und nicht leuchten. Soweit mir bekannt, sieht man die LED's im Bereich von ca. 850 nm leuchten. Stimmt das? Auf was muss man noch achten?


    Vielen Dank.


    whitechristmas

    Guten Morgen Zentris,


    das ist ja großartig. Vielen, vielen Dank für Deine Unterstützung. Ich werde deinen Lösungsweg testen und hoffentlich nachvollziehen können. Das Umschreiben auf Python 3 sollte klappen.


    Gestern Abend hatte ich meine Lösung noch etwas angepasst. Sie läuft jetzt ohne Abbrüche durch. Die Messung erfolgt nur noch alle 300 Sekunden (5*60) und somit kann ich auf das Speichern der Messungen verzichten.


    Hier der Code:



    Vielen dank auch nochmal an Dich und alle Anderen.


    whitechristmas

    Hallo Andreas,


    ich stimme Dir in Deinem Post #25 zu. Allerdings ist es hier so, dass der Sender lediglich den aktuellen Wasserstand sendet. Wenn keiner die Daten in Empfang nimmt, macht das auch nichts. Die Daten sind zwar verloren, aber ohne jegliche Bedeutung. Einmal täglich schreibe ich morgens den Wasserstand in eine Logdatei. Der Versand muss auch nicht nachgeholt werden. Bei systemkritischen Anwendungen wie z.B. Automatisation, bei Maschinen usw. wäre das ein Unding.


    Viele Grüße


    whitechristmas

    Hallo Dreamshader,


    wenn ich Multicast richtig verstehe bedeutet das, dass ich die Messwerte an Gruppen-IP's versende und unabhängig meiner IP vom Rechner dann empfangsbereit wäre? Das würde sich gut anhören, denn wenn ich per LAN oder WLAN unterwegs bin, ändert sich die IP. Was muss ich dazu in meinem Skript ändern? Wo bekomme ich die Multicast-IP her?


    Vielen Dank.


    whitechristmas

    Hallo Andreas,


    Dreamshader liegt das richtig mit Post #16. Ich versende per UDP und wenn die Gegenstelle empfangsbereit ist, werden die Daten empfangen. Wenn nicht, versucht er es wieder im eingestellten Intervall die Daten zu versenden. Das was Du meinst ist TCP, das ist verbindungsorientiert.


    Viele Grüße


    whitechristmas

    Hallo!


    Quote

    Verstehe ich nicht. Macht für mich keinen Sinn. Kommunikation anleiern, kommunizieren, Kommunikation beenden. Dauert immer ungefähr vergleichbar lange - egal wieviel Zeit zwischen Beenden und Anleiern vergangen ist.


    Wenn ich z.B. nur alle 100 Sekunden eine Messung versende, dann muss ich max. 100 Sekunden warten, bis ich auf meinem Windowsrechner eine Messwert empfangen kann. Die Übergabe des Messwertes erfolgt nur, wenn zeitgleich gesendet und empfangen wird.


    Die CPU-Temperatur liegt bei ca. 34 °Celsius und die Prozessorlast liegt zwischen 0% und 5%. Springt immer hin und her, im Durchschnitt vielleicht bei ein paar Prozent.


    Mit dem Socket vor die Schleife werde ich auch noch versuchen.


    @dreamshader: Der von Dir beschriebene Weg hört sich gut und professionell an. Ich habe allerdings keinen Schimmer, wie ich eine Multicast-Anfrage programmiere. Dafür fehlen mir dann doch die Kenntnisse. Die Netzwerklast ist kein Problem (Heimnetz).


    @__deets__: Bisher läuft das Skript ohne Probleme. Sobald sich was tut, poste ich das Ergebnis. Das mit der Initialisierung könnte das Problem sein. Ziehe ich dann auch vor die Schleife.


    Vielen Dank an alle.


    whitechristmas

    Hallo Rasp-Berlin,


    momentan schreibe ich in keine Datei. Wenn ich die Lösung nicht stabil über UDP hinbekomme, dann muss ich die Werte in eine Datei schreiben. Dann genügt es auch z.B. alle 15 Minuten eine Messung weg zuschreiben. Dann kann ich über crontab das Skript starten und habe mit dem Socket keine Probleme mehr. Die Lösung über UDP würde mir besser gefallen.


    Vielen Dank.


    whitechristmas



    Hi Andreas,


    ich dachte, wenn ich den Socket jedes Mal schließe, ist das Problem behoben. Ich schlage folgendes vor. Ich lasse das Script jetzt mal laufen und schaue wie lange es läuft. Dann werde ich die Zeit hier im Forum zurück melden. Danach schreibe ich wie von Dir empfohlen die Anweisung vor die Endlosschleife.


    Quote

    Hmm ... und wenn sich der Wasserstand nicht soooo schnell ändert, dann braucht man ihn auch nicht so häufig abzufragen...


    Wenn ich das Intervall zu groß mache, muss ich in Windows zu lange auf eine Rückmeldung warten.


    Wie denkst Du über die Lebensdauer?


    Vielen Dank für Deine Rückmeldung.


    whitechristmas

    Andreas: Vielen Dank für Deine Rückmeldung. Das Intervall ist keine 5 Minuten, sondern jetzt schon bei 5 Sekunden. Wenn ich mein Pythonprogramm in Windows öffne möchte ich den aktuellen Wasserstand haben. Damit ich nicht zu lange warten muss, habe ich 5 Sekunden eingestellt. Ich habe jetzt mal folgendes im Code geändert:


    Damit sollte dann das Problem mit der Anzahl der offnenen Dateien (hoffentlich) beendet sein.
    Hat dieses kurze Intervall einen Einfluss auf die Lebensdauer des Raspberry?


    Rasp-Berlin: Der Wasserstand ändert sich definitiv nicht so schnell. Es geht mir darum wie oben beschrieben, dass ich bei einer Abfrage von Windows aus nicht allzu lange warten muss, bis ich das Ergebnis der aktuellen Messung habe. Wenn die Lebensdauer des Raspberry darunter nicht leidet, soll mir das recht sein.


    Ich würde mich über Eure Rückmeldungen freuen. Euch einen schönen Tag noch.


    whitechristmas

    Guten Morgen zusammen,
    ich nutze meinen Raspberry zur Messung des Wasserstandes in der Zisterne mit Levelsensoren (Schwimmschalter). Funktioniert auch gut. Allerdings habe ich eine Frage und ein Problem. Belastet dieses Script, welches alle 5 Sekunden per PI FACE DIGITAL 2 eine Messung durchführt die Lebensdauer des Raspberry?



    Nach mehr als zwei Tagen Dauerbetrieb erscheint folgende Meldung: (<class 'OSError'>, OSError(24, 'Too many open files'), <traceback object at 0x763e6a80>)
    Kann jemand damit was an fangen?


    Vielen Dank und einen sonnigen Tag für alle.


    whitechristmas

    Hallo zusammen,


    ich habe die Anweisungen setmode, setup und add_event_detect aus der while-Schleife heraus genommen und seit gestern keinen Programmabbruch mehr gehabt. Es scheint jetzt zu laufen.


    Dem Hinweis mit der try-Anweisung werde ich auch nachgehen. Vielleicht war das etwas zu viel des Guten.


    Als Hobbyprogrammierer ist es manchmal ganz nützlich mit globalen Variablen zu arbeiten. Aber Ihr habt natürlich recht, ich werde mein Programm so umbauen, dass keine globalen Variablen mehr vorkommen.


    Vielen Dank an Euch.


    whitechristmas