Live IP-Kameradisplay mit MQTT Protokoll

  • Hallo Forum,


    bin gerade dabei ein Display für meine IP-Kamera zu entwickeln! Erstmal Erklärung was ich bis jetzt hab:

    Doorpi der bei Klingeltaster-Event auslöst und einen FRITZ!Box Rundruf startet und eine MQTT-Nachricht an meinen MQTT-Server sendet, dass hat zur Folge, dass die IR LEDs der Kamera bei Bedarf angeschaltet werden, Benachrichtigung per Telegram versendet und eben demnächst bei einem Telefon einen kleinen Bildschirm anschalten soll. Das ganze sollte auch per MQTT passieren!


    Nebenbei: Ich werde dafür einen Raspberry Pi Zero W nutzen weil alles andere overkill wäre!


    Das Python-Script zum MQTT Nachrichten empfangen und bei korrekter Nachricht einen Print auszuführen funktioniert schon. Jetzt bräuchte ich nurnoch eine Scripterweiterung, die dann ein 7" TFT Display anschalten soll(das hätte ich mit einem Optokoppler realisiert an V+ vom Display) und dann eine Seite mit dem Livestream aufploppt.


    An sich wäre es ja wahrscheinlich nicht so schwer eine Seite aufploppen zu lassen oder? Das bräuchte ich ja nur nach dem Boot einmal ausführen und dann nurnoch das Display an/ausschalten.


    Vielleicht hat da jemand ja einen Denkanstoß wie ich das lösen könnte!

  • nicht funktionieren, weil IMHO erst das Display an sein muss bevor der RPi startet . :denker:

    Doch, sollte gehen, wenn Du die Einstellungen in die config.txt schreibst. Dann sind die zwar fest, aber so oft sollte ja ein Austausch des Display nicht vorkommen. (;

  • WasZuProbierenWäre. Im Falle eines bekannten Monitors sollte das gehen.


    Edith hats probiert: Die unten stehenden Daten in die config.txt eingetragen. Start ohne Monitor, dann nach vollständigem Hochfahren (Raspbian mit Pixel) angesteckt. Geht. qed


    Code
    # uncomment if hdmi display is not detected and composite is being output
    hdmi_force_hotplug=1
    
    # uncomment to force a specific HDMI mode (this will force VGA)
    hdmi_group=2
    hdmi_mode=35
  • Danke schonmal für die ganzen Infos! An das habe ich gar nicht gedacht mit dem Display!


    Ich hab das Projekt noch nicht starten können, werd ich aber nächste woche hoffentlich machen können!


    Ich hätte jetzt dieses Display genommen(5 Zoll 800x480 hab mich umentschieden auf 5 Zoll man muss ja nur sehen können wer draußen steht): Ebay Link


    Meine einzige Frage ist halt noch, wie ich mit einem python command eine bestimmte Seite im integrierten(oder auch im nachhinein installierten Browser z.B. Firefox? Oder vielleicht sogar VLC Player mit Stream Url öffnen?) Browser öffne!

  • Meine einzige Frage ist halt noch, wie ich mit einem python command eine bestimmte Seite im integrierten(oder auch im nachhinein installierten Browser z.B. Firefox?

    Die Suchmaschine ist dein Freund. https://docs.python.org/3.6/library/webbrowser.html
    Wenn du einen Kioskmode willst, musst du es anders machen, etwa mit subprocess.

    Oder vielleicht sogar VLC Player mit Stream Url öffnen?

    Auch das findest du im Internet oder in der manpage des VLC Players.

  • Der Link ist auf alle Fälle hilfreich! Danke!


    Ich werde das nächste Woche mal testen und melde mich dann mit den Ergebnissen wieder!

  • So bin wieder da! Die Sachen sind heute angekommen!


    Ich habe gerade das 5" Display ausgepackt und an HDMI vom Laptop und Micro-USB zur Stromversorgung angesteckt. Ich hab aber noch kein Bild bekommen nur einen weißen Hintergrund. Auf der Rückseite ist ein Schalter mit "Backgound" ON/OFF, wenn er auf OFF steht ist es schwarz, und auf ON hat es einen weißen Hintergrund aber kein Bild!

    Dann habe ich probiert einen Rasp Zero W an die GPIO's aufzustecken und hab dann nur den Raspi mit Strom versorgt! Aber es war das selbe Ergebniss wie wenn ich direkt am Display angesteckt hab.


    Hab ich irgendwas vergessen anzuschließen? Oder kann man am Display etwas konfigurieren?

  • Oke habs jetzt hingebracht das es etwas anzeigt, aber nur etwa in der breite von 5/6 (fünf sechstel) dann hab ich auf der beigelegten CD ein paar Dateien gefunden und folgende Codes gefunden:

    Code
    git clone https://github.com/goodtft/LCD-show.git
    chmod -R 755 LCD-show
    cd LCD-show/
    sudo ./LCD5-show


    Hat dann auch geklappt, bis ich den Raspi neu gestartet hab(oder es zumindest versucht) jetzt kommt diese Fehlermeldung:


    Code
    No filesystem could mount rood, tried [  2.714562]  ext4
    
    ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)


    Der Desktop taucht nicht mehr auf! Was kann ich dagegen machen?

  • Ne ich hab Raspian Strech with Desktop drauf. Ich hab dann das Image nocheinmal auf die SD-Karte gespielt, dann ist er wieder ganz normal gebootet aber am rechten Displayrand war dann wieder ein schwarzer Streifen. Nachdem ich dann die Befehle wiederholt habe konnte ich ihn wieder nicht starten?!


    Lg Theo

  • folgende Codes gefunden:

    git clone https://github.com/goodtft/LCD-show.git

    die Installationsdatei kopiert, wie ich mir's schon dachte, eine eigene config.txt und den wahrscheinlichen Auslöser des Fehlers, die cmdline.txt nach /boot. Dabei kann es zwar eigentlich NOOBS und eine richtige [sic!] Installation unterscheiden, wird jedoch auf jeden Fall auf die Nase fallen, wenn ein anderes Medium als die mSD Karte verwendet wird. Mach mal bitte folgendes:


    1. Das System so herrichten, dass es ganz normal startet.

    2. ändere die Datei LCD5-show, in dem Du in die letzte Zeile vor (sudo reboot) ein # schreibst

    Code
    nano ~/LCD-show/LCD5-show

    3. führe folgendes aus:

    Code
    sudo cp /boot/cmdline.txt /boot/cmdline.txt.org
    sudo cp /boot/config.txt /boot/config.txt.org
    cd ~/LCD-show
    ./LCD5-show

    4. Jetzt suchst Du einen Eintrag in der cmdline.txt.org, nämlich den hinter root=... (der könnte wie folgt aussehen - root=/dev/mmcblk0p2 oder so root=PARTUUID=d43888dd-02)

    Code
    nano /boot/cmdline.txt.org

    5. den Teil hinter root=, den Du in deiner gesicherten Datei gefunden hast, trägst Du jetzt in die cmdline.txt ein. Achtung, es muss alles mit Leerzeichen getrennt in einer Zeile stehen.

    Code
    sudo nano /boot/cmdline.txt

    6. jetzt neu starten (sudo reboot) und es müsste eigentlich bereits gehen. Wenn nicht, vergleiche noch die Dateien /boot/config.txt.org und /boot/config.txt oder poste mal alle vier hier rein.


    Grüße, STF

  • Hallo! Erstmal danke für die Anleitung!


    Ich habe deine Anleitung abgearbeitet, und hab auch verstanden was genau gemacht wird.


    Nach dem rebooten des Raspis kommen ja hunderte Zeilen am Anfang, wo er etwas schreibt was er gerade startet, ...

    Das hat er auch getan bis zu ca. 30 Meldungen nachdem ganz vorne in der Zeile ein grünes [ OK ] stand.

    Danach ist das Display nicht ausgegangen(weißer Bildschirm), sondern es ist ein "schwarzes" Bild aber mit Hintergrundbeleuchtung zu sehen. Das heißt er gibt irgendwas aus.

    Dann hab ich ihn einfach nochmal ausgesteckt und wieder angesteckt aber es ist das selbe wie vorher passiert.

    Über SSH ist er aber erreichbar. Hier die Ausgabe von lsblk -f mit "schwarzem" Bildschirm:

    Code
    NAME        FSTYPE LABEL  UUID                                 MOUNTPOINT
    mmcblk0
    ├─mmcblk0p1 vfat   boot   A75B-DC79                            /boot
    └─mmcblk0p2 ext4   rootfs 485ec5bf-9c78-45a6-9314-32be1d0dea38 /


    Bei der Eingabe von cat /etc/os-release kommt das raus:

    Code
    PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    ID=raspbian
    ID_LIKE=debian
    HOME_URL="http://www.raspbian.org/"
    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"


    uname -r kommt das raus: 4.9.80+

    Und hier noch meine cmdline.txt:

    Code
    dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 root=PARTUUID=21d9d9a3-02 rootfstype=ext4 elevator=deadline rootwait fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo


    Meine cmdline.txt.org:

    Code
    dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=21d9d9a3-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles


    config.txt:


    config.txt.org:

    Edited 3 times, last by theo416 ().