Posts by mollo

    Inzwischen habe ich festgestell, das x11 installiert wurde.
    /boo/config.txt:

    Wie kann ich hier die systemausgabe beenden, um dann eine python ausgabe über pygame anzuzeigen.
    Is diese Beispiel ein Weg zum weitermachen: https://stackoverflow.com/questions/3293…-on-tft-display

    Grüße aus Hamburg

    Thomas

    Ich habe für eine alten RPi mit Jessy Lite und Python ein Internetradio zusammen getippt.
    Hier wurde die Ausgabe mit Pygame erzeugt.

    Vor kurzem habe ich den Script auf ein 1.77"Display versucht umzustellen.
    Das ist ein ST7735 Display, mit Pygame 'from luma.lcd.device import st7735'
    konnte ich die Anzeige nutzen.
    Meine Vorstellung war nun das 3,,5" Zoll Display auch ähnlich einfach zu nutzen.

    Ich habe mir ein preiswertes 3,5" Display mit Gehäuse für einen RPi 3B bestellt.
    3,5 zoll Raspberry Pi 3 B Plus Touchscreen TFT LCD 480*320 GPIO Display Monitor ABS Fall Box für Raspberry Pi 4 Modell B 3B + 3B
    Nach der Anleitung: http://www.lcdwiki.com/3.5inch_RPi_Display konnte ich Treiber( RPi3B, Bullseye) installieren und nach einem Neustart wurde der Linux Start angezeigt.Ich möchte nun das display über Python betreiben und suche ein beispiel
    MPI3501 scheint der Display Controller zu sein und die GPIO Anschlüsse werde in der Anleitung gezeigt:

    Ich suche nun nach einem Python Beispiel, das mir einfachen Text anzeigt.
    Mein Versuch mit Beispielen zu ili9486, ili9341 Controller Code funktionierten nicht.
    Ich würde mich über Hilfe zur Inbetriebnahme des Displays freuen.
    Vielen Dank,
    Thomas

    Ich möchte über eine DynDNS Adresse auf mein Nodet-RED Dashboard zugreifen.

    Ich habe über die FritzBox und die Portfreigaben eine Weiterleitung auf Port:1883 eingerichtet.

    Nun kann ich über xxx.dnshome.de:9999/ui auf das Dashboard zugreifen.

    Da nun nich jeder Veränderungen machen sollte, muß verhindert werden, dass

    xxx.dnshome.de:9999/ ohne weiteren Parameter eingegeben werden kann oder das immer auf xxx.dnshome.de:9999/ui umgeleitet wird.

    Wer kann mir da einen Tipp geben

    Grüße

    Thomas

    Hätte ich die richtigen Angaben gemacht und die richtigen Fragen gestellt,

    hätte ich auch die richtigen Antworten bekommen.

    Ich habe nur /cherrypy/tutorial/tutorial.conf geändert:

    Code
    server.socket_host = "192.168.178.44"
    server.socket_port = 8089
    server.thread_pool = 10

    und schon kann ich mit:
     python3 -m cherrypy.tutorial.tut01_helloworld

    über http://192.168.178.44:8089/ Hallo World anzeigen.

    Vielen Dank für eure Hilfe

    Thomas

    Sorry, ich nutze ein neu installiertes Bullseye (Python3) aber auch auf Jessi, Stretch läß sich das

    Tutorial starten, aber nicht aufrufen.

    Django habe ich nur als Test installier und ebenso erfolglos getestet.

    Wenn du von einem anderen Rechner zugreifen willst musst du den Server des Frameworks an die IP-Adresse des Pi binden. Wie das geht steht in der Doku.

    Die CherryPy Doku habe ich gelesen, aber nichts gefunden?

    Hier wurde letztens CherryPy als web framework empfohlen.


    Ich bin mit der Installation gescheitert.
    Nach https://docs.cherrypy.dev/en/latest/install.html habe ich

    Code
    pip install cherrypy

    oder auch

    Code
    git clone https://github.com/cherrypy/cherrypy
    $ cd cherrypy
    $ python setup.py install

    Ich habe dann helloword gestartet:

    Code
    python -m cherrypy.tutorial.tut01_helloworld
    [18/Feb/2022:10:43:52] ENGINE Listening for SIGTERM.
    [18/Feb/2022:10:43:52] ENGINE Listening for SIGHUP.
    [18/Feb/2022:10:43:52] ENGINE Listening for SIGUSR1.
    [18/Feb/2022:10:43:52] ENGINE Bus STARTING
    [18/Feb/2022:10:43:52] ENGINE Started monitor thread 'Autoreloader'.
    [18/Feb/2022:10:43:52] ENGINE Serving on http://127.0.0.1:8080
    [18/Feb/2022:10:43:52] ENGINE Bus STARTED

    Beim Aufruf von meinem Windows Rechner: 192.168.178.xx:8080 wird ein Fehler angezeigt:

    Code
    Fehler: Verbindung fehlgeschlagen
    Firefox kann keine Verbindung zu dem Server unter 192.168.178.42:8080 aufbauen.

    Getestet habe ich auf verschiedenen RPi's mit Jessi, Stretch und

    extra neu installiertem Buster (alle immer mit Python3)

    Auch ein Versuch mit bottle unter (buster):

    Code
    python  helloworld.py

    zeigt:

    Code
    Bottle v0.12.19 server starting up (using WSGIRefServer())...
    Listening on http://localhost:8080/
    Hit Ctrl-C to quit.

    Node-RED 192.168.178.42:1880 kann ich starten.

    Hatt den jemand eine Idee wie ich eine Verbindung zum Python Framework aunutzen kann?

    Danke, Thomas

    Die Hamburger Stadtreinigung hat den Abfallkalender geändert und ich brauche monatlichen daten für meinen Node-Red Abfallkalender.

    Auf einem RPi hole ich per lynx die Webseite und filter die Abholzeiten per grep und sed, so daß die Datei wie folgt erzeugt wird.

    Mi 02. Februar 2022 

    * Schwarze Restmülltonne 

    Fr 04. Februar 2022 

    * Grüne Biotonne 

    Di 08. Februar 2022 

    * Gelbe Wertstofftonne/-sack 

    Mi 09. Februar 2022 

    * Schwarze Restmülltonne 

    Mi 16. Februar 2022 

    * Schwarze Restmülltonne 

    * Blaue Papiertonne 

    Fr 18. Februar 2022 

    * Grüne Biotonne

    Um dies Daten per MQTT an Node-Red zu übergeben, sollten Einzeiler erzeugt werden.

    Mi 02. Februar 2022 Schwarze Restmülltonne

    Fr 04. Februar 2022 Grüne Biotonne

    Mi 16. Februar 2022 Schwarze Restmülltonne

    Mi 16. Februar 2022 Blaue Papiertonne

    '*' muß entfernt werden

    Am 16. Februar werden 2 Tonnen abgeholt, das Datum müßte übernommen werden.

    Mein Versuche lassen mich gerade verzweifeln.

    Mi 02. Februar 2022* Schwarze Restmülltonne

    Mi 02. Februar 2022* Schwarze Restmülltonne

    Mi 02. Februar 2022* Schwarze Restmülltonne

    Mi 02. Februar 2022* Schwarze Restmülltonne

    Mi 02. Februar 2022* Schwarze Restmülltonne

    Mi 02. Februar 2022* Schwarze Restmülltonne

    Mi 02. Februar 2022* Schwarze Restmülltonne

    Fr 04. Februar 2022* Grüne Biotonne

    Fr 04. Februar 2022* Grüne Biotonne

    Fr 04. Februar 2022* Grüne Biotonne

    Fr 04. Februar 2022* Grüne Biotonne

    Fr 04. Februar 2022* Grüne Biotonne

    Fr 04. Februar 2022* Grüne Biotonne

    Fr 04. Februar 2022* Grüne Biotonne

    Di 08. Februar 2022* Gelbe Wertstofftonne/-sack

    Di 08. Februar 2022* Gelbe Wertstofftonne/-sack

    Di 08. Februar 2022* Gelbe Wertstofftonne/-sack

    Di 08. Februar 2022* Gelbe Wertstofftonne/-sack

    Di 08. Februar 2022* Gelbe Wertstofftonne/-sack

    Di 08. Februar 2022* Gelbe Wertstofftonne/-sack

    Di 08. Februar 2022* Gelbe Wertstofftonne/-sack

    Mi 09. Februar 2022* Schwarze Restmülltonne

    Mi 09. Februar 2022* Schwarze Restmülltonne

    Mi 09. Februar 2022* Schwarze Restmülltonne

    Mi 09. Februar 2022* Schwarze Restmülltonne

    Mi 09. Februar 2022* Schwarze Restmülltonne

    Mi 09. Februar 2022* Schwarze Restmülltonne

    Mi 09. Februar 2022* Schwarze Restmülltonne

    Mi 16. Februar 2022* Schwarze Restmülltonne

    Ich würde mich über einen Denkanstoß zur Programmlogik freuen.

    Grüße aus Hamburg

    Thomas

    Ich habe nur wenig Ahnung von Python, aber habe aus einer Abfalltermine.ics Datei

    per Python einen Datei mit Datum, Farben und Bezeichnungen erzeugt.

    12.11.2021 gelbe Wertstofftonne

    23.11.2021 schwarze Restmülltonne

    09.11.2021 grüne Biotonne

    10.11.2021 blaue Papiertonne

    usw.

    Dies Datei müßte nun aufsteigend nach Datum sortiert werden und

    soll über MQTT, ESPHOME auf einem ESP32 Display die nächsten

    3 Abfuhrtermine anzeigen.

    Ich habe nun ein Beispiel gefunden und verstehe das Sortieren in der lezte Zeile) nicht:

    Python
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    from datetime import datetime
    infile = open("Tonnen1.txt", "r")
    outfile = open("TonnenSort.txt", "w")
    liste = infile.readlines()
    liste.sort(key=lambda tup: datetime.strptime(tup[3], '%d.%m.%Y'))

    Fehlermeldung:

    Code
    raceback (most recent call last):
      File "readabfuhr5.py", line 12, in <module>
        liste.sort(key=lambda tup: datetime.strptime(tup[3], '%d.%m.%Y'))
      File "readabfuhr5.py", line 12, in <lambda>
        liste.sort(key=lambda tup: datetime.strptime(tup[3], '%d.%m.%Y'))
      File "/usr/lib/python2.7/_strptime.py", line 332, in _strptime
        (data_string, format))
    ValueError: time data '/' does not match format '%d.%m.%Y'

    Ist der Ansatz überhaupt richtig?
    Ich würde mich über eine Unterstützung freuen.

    Grüsse,

    Thomas

    Hallo Peppy,

    die vorgeschlagene Änderung #793 funktioniert.

    Einfügen nach in peppy.py Zeile 2180

    Code
    def mute(self):
            """ Mute """
            self.config[PLAYER_SETTINGS][MUTE] = not self.config[PLAYER_SETTINGS][MUTE]
            subprocess.call("sudo /usr/local/bin/backlight.sh", shell=True)   #<<<<<<<
            self.player.mute()

    Danke

    Hallo Peppy,

    mein Ziel ist eine einfache Headles Bedienung über die Fernsteuerung, so dass ich das Radio im Schlafzimmer, auch ohne Sichtkontakt, im Dunkeln bedienen kann.

    Ich nutze ein Hauppauge DSE-0112 Fernsteuerung, die ich noch nachkaufen konnte.

    Als Player wird noch Constable mit Adafruit LCD eingesetzt.

    Ich beziehe mich her auf die Einträge: #758


    Zifferntaste zur Senderwahl: Es sollten nur die ersten 10 Sender einer Liste mit einem Klick ausgewählt werden. Einen zusätzlich ok Klick sollte man vermeiden.

    Ansage des laufenden Senders per IR Taste z.B. mit Text2Speetch.

    Sleep-Timer: Auch hier geht es um die einfache Bedienung. Mit jedem Klick auf eine IR Taste, sollte sich der Timer in z.B. 10 Min Schritten erhöhen. Ich würde erstmal die TV Taste verwenden. Währent des countdowns, sollte auch noch weiter erhöhen können. Mit Sleep sollte dann auch das Backlight ausgeschaltet werde.

    Hierzu eine Frage:

    Wiki, Radio UI. Wo ist der Unterschied von Play/Pause Button und Mute Button in dem Programm.

    Adafruit TFT Backlight on/off. Mein Übergangs-Versuch mit der KEY_STOP Taste, IREXEC und backlight.sh:

    /etc/lirc/lircrc                    

    Code
    begin
    button=KEY_STOP
    prog=irexec
    config=/usr/local/bin/backlight.sh
    end

    Start irexec: In ~/.profile   /usr/bin/irexec -d einfügen.

    /usr/local/bin/backlight.sh

    Bash
    #!/bin/bash
    # Backlight wird mit jedem Tastendruck ein und aus geschaltet
    LICHT=$(sudo cat /sys/class/backlight/soc\:backlight/brightness)
    if [[ $LICHT -eq "1" ]]; then
        sudo sh -c 'echo "0" > /sys/class/backlight/soc\:backlight/brightness'
    else
       if [[ $LICHT -eq "0" ]]; then
          sudo sh -c 'echo "1" > /sys/class/backlight/soc\:backlight/brightness'
       fi
    fi

    Power off mit Backlight aus:

    Eingefügt hinter peppy.py Zeile 2284 (Constable)

    Code
    subprocess.call("sudo /usr/local/bin/backlightoff.sh", shell=True)

    /usr/local/bin/backlightoff.sh

    Code
        #!/bin/bash
        # Backlight wird aus geschaltet
        sudo sh -c 'echo "0" > /sys/class/backlight/soc\:backlight/brightness'

    Power off von der IR Fernsteuerung sollte erst nach zweimaligem drücken ausgeführt werden.

    Es wäre schön, wenn Du einiges berücksichtigen könntest oder mir einen Tipp für eigene Erweiterungen geben könntest.

    Grüße aus Hamburg

    Thomas

    Hallo Peppy, 

    ich hoffe, Sie habe trotz Corona ein schönes Weihnachtsfest gehabt und freuen sich schon auf 2021 mit einer baldigen Coronaimpfung. 

    Danke auch für die neue Version des Players. 


    Die Codeänderung aus #749 funktioniert im Airplay-Modus nicht und ich gebe erstmal auf, die Lautsprecher der alten Stereoanlage zu nutzen. 


    Zur Zeit verwende ich den Constable Player mit Adafruit LCD und einer IR Fernbedienung. 

    Die Lautsprecher sind über einen kleinen Verstärker am Audio-Ausgang angeschlossen. 

    Da ich meistens nur Radio höre, wird fast nur per Fernbedienung geschaltet. 


    Ich versuche noch mal meine Wishlist aus #52 zu präzisieren: 

    Adafruit TFT Backlight on/off:

    Da ich keinen HifiBerry nutze, würde ich gerne mit der Mute Taste das Backlight aus und einschalten. Mit der Power Taste sollte das Backlight nur ausgeschaltet werden. 


    Meine eigenen Versuche den off Befehl in peppy.py einzufügen scheiterte. 

      On: sudo sh -c 'echo "1" > /sys/class/backlight/soc\:backlight/brightness' 

    OFF: sudo sh -c 'echo "0" > /sys/class/backlight/soc\:backlight/brightness' 


    Wo die Mute Taste der Fernsteuerung verarbeitet wird, habe ich nicht gefunden.


    Mute sollte mit den Num. Tasten, KEY_Left/RIGHT/UP/DOWN beendet werden, ohne den Bildschirm einzuschalten. 

    Der Bildschirm wird mit Mute auch wieder eingeschaltet. 


    0-9 Tasten:

    Ich habe mir einen eigenen Genre Ordner ‚MyStations‘ angelegt und würde hier gerne die Tasten 0-9 zur Auswahl der ersten 10 Sender nutzen.

    Das sollte dann auch für die ersten Einträge aller anderen Ordner gelten. 


    Sleeptimer aus #51, #52

    Sleeptimer sollte eine Taste auf der Fernsteuerung sein, die den Ausschaltzeitpunkt (Mute + Hintergrundbeleuchtung aus + Ansage per Text2Speetch) in 10 Min Steps erhöht.  

    Während der Sleeptimer läuft kann der Timer weiter in 10 Min. Schritten erhöht werden. 


    Der Player wird nicht heruntergefahren sondern mit Mute wird Ton und Backlight ausgeschaltet.  


    Beendet wird der Timer mit Senderwechsel und Mute d.H der Sleeptimermuß ggf. neu gestartet werden. 


    Vielleicht können Sie sich ja nochmal mit meinen Wünschen beschäftigen. 

    Schon jetzt mit allen guten Wünschen fürs neue Jahr 

    Thomas