motion-mmal per rc.local autostarten

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Abend zusammen,
    ich befinde mich gerade in den letzten Zügen meines Projektes und komme an einem Punkt einfach nicht weiter.

    Ich benutze das Raspberry Cam Modul und die angepassten Motion Version "motion-mmal" um einen nahezu zeitgleichen Videostream zu erzeugen den ich im Browser ansehen kann. Alles funktioniert nach der Anleitung von Robin Newman.

    Der Stream bzw das Kameramodul wird im Verzeichnis /home/pi/mmal mit der Kommandoeingabe
    " ./startmotion " gestartet bzw mit
    " ./stopmotion " wieder beendet.
    (Motion-mmal wird als user pi ausgeführt)

    Für mein Projekt ist es notwendig, dass motion-mmal beim Systemstart bzw. kurz danach automatisch startet ohne Kommandozeileneingabe. Mein Gedanke war daher das Ganze mit einer Pfadangabe zum Script in der /etc/rc.local zu bewerkstelligen. Leider erfolglos ( /home/pi/mmal/startmotion ).

    Der Inhalt vom Skript " startmotion " lautet:

    Zitat

    #!/bin/sh
    nohup ~/mmal/motion-mmal -n -c motion-mmalcam.conf 1>/dev/null 2>&1 </dev/null &

    Alternativ habe ich

    Zitat

    #!/bin/sh
    nohup ~/mmal/motion-mmal -n -c motion-mmalcam.conf 1>/dev/null 2>&1 </dev/null &


    in rc.local eingetragen. Damit startet zumindest der Dienst motion-mmal (aber als user root). Jedoch leuchtet die LED am Kameramodul nicht und es werden entsprechend auch keine Bilder übertragen.

    Edit: Ich habe in der rc.local noch folgende Zeile versucht, mmal-motion startet nun als pi mit Verzögerung. Die Kamera bleibt aber aus :mad_GREEN:.

    Zitat

    sleep 20;su - pi -c "nohup ~/mmal/motion-mmal -n -c motion-mmalcam.conf 1>/dev/null 2>&1 </dev/null" &

    Wie könnte der Eintrag in der rc.local Datei richtig lauten damit das Script ebenso startet wie aus dem Verzeichnis mmal per ./startmotion ?

    Ich möchte noch erwähnen, dass meine Linux Kenntnisse sehr beschränkt sind und ich mit dem Raspberry die erste Kontaktaufnahme gemacht habe :thumbs1:

    Ich hoffe Ihr könnt mir als Neuling etwas auf die Sprünge helfen.

    Danke
    Mark

    LÖSUNG:
    Der Eintrag in rc.local muss lauten....

    Zitat

    sleep 20;su - pi -c /home/pi/mmal/startmotion &

    sleep 20 kann natürlich in der Zeit verändert werden ...
    und der Inhalt im Skript "startmotion" muss zwei mal mit Pfadangabe abgeändert werden

    Zitat

    #!/bin/sh
    nohup /home/pi/mmal/motion-mmal -n -c /home/pi/mmal/motion-mmalcam.conf 1>/dev/null 2>&1 </dev/null &

    Ich habe mir zwar die Lösung meines Problemes selber gegeben aber ich bin trotzdem happy :bravo2::bravo2::bravo2:

    Einmal editiert, zuletzt von mac_s01 (31. Juli 2014 um 23:11)

    • Offizieller Beitrag

    wenn du es als pi brauchst würde ich den @reboot eintrag per crontab wählen.

    Code
    /bin/bash /home/pi/mmal/motion-mmal -n -c motion-mmalcam.conf >> /home/pi/error.log

    Notfalls kannst du dann ins error.log schauen um zu sehen warum er rumzickt.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (31. Juli 2014 um 22:21)

  • Code
    #!/usr/bin/sh
    
    
    /usr/bin/raspistill -o /tmp/test.png
    /sbin/modprobe bcm2835-v4l2
    
    
    /usr/bin/sudo -u motion /usr/local/bin/motion-mmal -c /home/motion/motion-mmalcam.conf


    Das ist mein Start Script für motion. Anstelle eines sleeps initialisiere ich die cam mit einem Schnappschuss. Die Files gibts in meinem Blog zum Download

    Sorry erst grade gesehen das du ja schon eine Lösung an dein erstes Post angehängt hast...

    http://raspberry.tips
    Infos, Projekte und Tutorials rund um den Raspberry pi

    Einmal editiert, zuletzt von at2oo1 (31. Juli 2014 um 22:40)

  • Code
    #!/usr/bin/sh


    BTW: Ist die shebang so OK? ... denn:

    Code
    ls: cannot access /usr/bin/sh: No such file or directory

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!