Posts by ottosieben

    Moin zusammen,

    mittlerweile bin nach dem Thema Threadabsturz ein Stückchen weiter. :danke_ATDE:Offensichtlich kam es durch gleichzeitigen Zugriff auf die Ausgabeschnittstelle zum Stop des Sequenzer-Threads.

    Mein nächster Ansatz daher war, eine Ausgabeklasse zu kreieren, welche durch "threading.Lock" derartige Zugriffe wirkungsvoll verhindert. Nach dieser Änderung habe ich entsprechende Dauerläufe (>24H) ohne Probleme durchgeführt. Soweit, so gut. Ein neues Problem hat sich aber wie immer aufgetan. Wenn der Sequenzer (eigener Thread wegen mehrerer paralleler Abläufe mit unterschiedlichen Taktraten, bevor sich meigrafd wieder schüttelt) in schneller Folge (1/10 s Abstand) Befehle absetzt, übernimmt die Ausgabeklasse die Direktschaltbefehle meiner Buttons gefühlt nur zufällig.

    Der Sequenzer spricht die Ausgabeklasse natürlich auf die gleiche Art und Weise an wie der im Code beschriebene Direktschaltbutton. (-> Im Screenshot ist das die Schaltbox.)

    Eventuell hat jemand eine Idee, wie man das "gleichzeitige" Übergeben auszugebener Daten anders organisieren könnte.

    Auszug aus dem Script:

    Screenshot zur besseren Veranschaulichung im Anhang.



    Jo, danke.

    Nach so einer Möglichkeit habe ich gesucht.:danke_ATDE:

    Bin bloss nicht fündig geworden, weil ich dem "thread" und nicht mit "threading" gearbeitet habe. Muss ich also noch abändern.

    Damit gelingt es mir sicher , die Ursache für den sporadischen "Absturz" des Thread zu loggen.

    Grüße

    Moin zusammen,

    ich habe mit Python einen DMX Sequenzer gebastelt, welcher über TKinter / Rasp Touchscreen bedient wird.

    Vom Grundsätzlichen läuft der eigentliche Sequenzer mittels eigenem Thread im Hintergrund und bekommt nur über

    eine sich ändernde (globale) Variable mit, welche Sequenzerfolge er abarbeiten soll. Diese Variable wird in der TKinter-GUI gesetzt.

    Jetzt ist es passiert, dass der Sequenzer offensichtlich nicht mehr tat, eine zur Überwachung eingebaute Werte-Anzeige auf der GUI stand wie festgenagelt.

    Mein Verdacht daher ist, dass dieser Thread abgestürzt war.

    Nun zu meiner Kernfrage:

    Beim Start des threads mittels start_new_thread kann ich mir einen Returnwert (=Handle des Threads) geben lassen.

    Ist es möglich, mittels dieses Wertes das "Leben" dieses Threads zu überwachen?


    Grüße

    ich komm nicht weiter... habe jetzt viel gelesen und getestet. aber leider nix.

    habe jettz auch paar mal folgende zeichnung gesehen. aber auch da .....gleiche problem...

    Moin, wenn Du das genauso aufgemalt hast, wie es wirklich verschaltet ist, kann das nicht funktionieren.

    Du hast die Knopfzellen nicht in Reihe geschaltet. Die Polaritäten sind falsch. Dadurch ergibt eine Betriebsspannung von 0 Volt.

    Mal abgesehen von der enormen Energieeinsparung, hat diese Verschaltung keine Vorteile.


    Die Knopfzellen haben einen Minus- und einen Pluspol.

    Der kleine ist der Minus, das Gehäuse der Plus.

    Verbinde also Minus von Knopfzelle 1 mit GND.

    Verbinde Plus von Knopfzelle 1 mit Minus von Knopfzelle 2.

    Verbinde Plus von Knopfzelle 2 mit der LED.

    Moin,
    ich habe ein ähnliches Setup als unsichtbares Badradio im Betrieb. Dabei ist in der Spielpause , also im Wiedergabestop, auch ein leises Brummen zu hören. Das kommt aus der Soundkarte, die vermutlich beim Stop derartig hochohmig wird, dass jede in der Nähe befindliche Quelle einstreut.
    Meine Vermutung stützt sich auf die Beobachtung, dass bei herausgezogenem Signalstecker Ruhe einkehrt.
    Zischen und dergleichen kommen vom Schaltnetzteil , da empfiehlt sich ein nachgeschalteter Längsregler mit ordentlicher Siebung , so dass die Spannungsversorgung sich dem "Batterieideal" nähert.
    Grundsätzlich habe ich separate Netzteile für RPi und Audio.


    Wenn ich mal ganz viel Zeit habe, werde ich den Verstärker mittels GPIO in den Spielpausen die Betriebsspannung abschalten.....

    Moin,
    das ist kein Steppermotor. Es handelt sich um einen Gleichstrommotor mit 24 V Betriebsspannung. Wie das Datenblatt beschreibt, hat er wohl noch ein Poti, welches zum Auswerten der aktuellen Wellenstellung benutzt werden kann. Das würde aber ohne weiteres nicht mit dem Raspi gehen, da dieser keine A/D Eingänge besitzt.


    Diesen Motor kannst Du nicht direkt mit dem Raspi mit Strom versorgen. Ich empfehle Dir Relaisstufen. über die hier im Forum schon diskutiert wurde. Damit kannst Du dann auch vorwärts/rückwärts fahren.


    Was Du mit einem Spannungsteiler bezweckst, ist mir unklar.


    Grüße

    Hallo zuammen.
    Ich habe für meine Partyzone eine Lichtanlage auf DMX Basis zusammengebastelt. Als Steuerung benutze ich ich auf dem Raspi ein (für immer in Arbeit befindliches ;) ) Python-Script mit GUI Anbindung (Tkinter).
    Meine derzeitiger USB > DMX Converter ist das "Mini-USB-DMX-Interface" von DMX4All . Das Gerät erscheint als serielle Schnittstelle /dev/ttyUSB* und alles funktioniert wunderbar.
    Jetzt hatte ich vor, ein zweites Steuergerät zu bauen. Ich musste aber leider feststellen, dass das "Mini-USB-DMX-Interface" nicht mehr angeboten wird.
    Anstelle gibt es das "NanoDMX USB Interface"welches aber, wie mir der technische Support (superschnell :thumbs1: )mitteilte, unter Windows mittels CDC-Treiber betrieben wird. Unter Linux wäre das nach meinen Recherchen ein Gerät /dev/ttyACM*.
    Meine Frage ist jetzt, ob ich die Kompatibilität mit Linux (Jessie 4.4.38+) vorab prüfen muss/kann.


    Besten Dank im Voraus.
    Grüße

    Moin,
    jede der Steuerungen hat an seinen Sensoreingängen eine eigene Verschaltung.
    Keine Ahnung, mit welchem Prinzip die beiden Steuerungen nun die Temperatur erfassen. Ist im Grunde auch egal, parallel schalten geht mit ziemlicher Sicherheit in die Hose, im schlimmsten Fall zerstörst Du einen oder beide Sensoreingänge.
    Mit ziemlicher Sicherheit wird aber die Messung bei parallelgeschalteten Messeingängen nicht mehr funktionieren, da sich die Sensoreingänge gegenseitig beeinflussen.

    Moin,
    Du mischt hier alles durch. Also von vorn:
    shutdown.py ist ein Pythonscript.
    /etc/rc.local ist ein Shellscript.


    /etc/rc.local wird beim Start des Pi ausgeführt.
    Ruft Du also shutdown.py aus dem /etc/rc.local auf (sudo python /home/pi/shutdown.py &) so läuft das Pythonscript mit Start des Pi an. Durch das "&" am Ende wird das als Hintergrundanwendung ausgeführt. Das shutdown.py muss als ausführbare Datei gekennzeichnet sein.
    Der Befehl sudo "python /home/pi/shutdown.py &" gehört im /etc/rc.local vor das "exit 0".
    Viel Erfolg.

    Moin,
    was hast Du vor?
    Die Trennrelais (lt. Dein Ebay Link) selbst haben Betätigungsspannung 230V. Das willst Du den nicht wirklich übers LAN-Kabel zum RPI zurückführen ???
    Solche gefährlichen Bastelein läßt Du besser sein.
    Ausserdem wird wird es wohl eng, 10 Rollläden mit den paar GPIO, das wird zumindest "anspruchsvoll".
    Grüße


    Moin,
    so direkt geht das Abspielen wohl nicht. Nach "mpc help" bekommst Du die gebräuchlichsten Befehle in Schnellansicht.
    Nach meiner Auffassung wäre Dein Vorhaben nur folgendermassen zu bewerkstelligen:
    1) ggf Defaultplaylist laden: mpc clear, mpc load default.m3u
    2) Song an die nächste Stelle laden: mpc insert song.mp3
    3) nächsten Track sofort abspielen: mpc next


    Wenn sowieso schon eine Playlist aktiv ist, fällt Schritt 1 einfach weg.
    Grüße