GPIO LED leuchten lassen wenn eine Datei geschrieben wird

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo, ich lasse seit 2 Tagen erfolgreich Motion mit dem Pi-Kameramodul laufen und wollte fragen ob es möglich ist eine LED aufleuchten zu lassen sobald die Kamera Bilder macht also sobald sich etwas bewegt.

    Diese LED würde ich mir dann ins nebenzimmer verlegen wollen.

    Ich kann zwar etwas programmieren (Java,Delphi) aber ich weiss nich wie ich das abfragen soll. Dachte an irgendwas wie sobald eine datei im bilder ordner geschrieben wird soll die led leuchten +8sek oderso

    vllt kann mir da jemand helfen

  • GPIO LED leuchten lassen wenn eine Datei geschrieben wird? Schau mal ob du hier fündig wirst!

  • wow super danke dir ! bin noch am auswerten!
    inotify mechanism macht das natürlich super einfach wenn man die programmiersprachen kann...

    // @ C programmierer , könnte das so funktionieren?

    Einmal editiert, zuletzt von martin82 (10. Oktober 2014 um 21:36)

  • Das ist nicht mein Code ...

    Ich hab's auf Knoppix probiert, aber es muesste auch auf dem PI laufen:

    Anstelle der "LED on" und "LED off" die Aufrufe fuer die Library einsetzen und es sollte laufen

  • cool danke, verstehs noch nich so ganz... da muss ich noch bissi mit spielen, kannst du mir sagen wie ich das kompiliere bzw wo es dann liegt

    weil wenn ich das weiss kann ich es ja in crontab reinhauen wa

  • > kannst du mir sagen wie ich das kompiliere bzw wo es dann liegt.

    1) Code speichern in watch.cpp
    2) Compilieren mit g++ -Wall -o watch watch.cpp
    3) Laufen lassen mit ./watch &
    4) Files erzeugen und gucken ob's funktioniert

    > weil wenn ich das weiss kann ich es ja in crontab reinhauen
    Das braucht kein crontab. Einmal starten und es laeuft bis zum kill.


  • Das braucht kein crontab. Einmal starten und es laeuft bis zum kill.

    oder bis zum unerwarteten stromausfall/bis putzfrau stecker aus der leiste zieht/hund kabel ankaut etc :)


    watch.cpp:8:1: error: ‘define’ does not name a type
    watch.cpp: In function ‘int main(int, char**)’:
    watch.cpp:45:45: error: ‘DIR_TO_WATCH’ was not declared in this scope
    watch.cpp:61:30: error: ‘print_event’ was not declared in this scope


    meldet er mir ...


    define DIR_TO_WATCH "/motion/videos"

    kp wieso er das nich will

    Einmal editiert, zuletzt von martin82 (11. Oktober 2014 um 14:32)

  • achso ich dachte mit # kommentiert man aus sehe aber gerade die apis binde ich auch mit # davor ein ...danke^^



    3) Laufen lassen mit ./watch &


    da sagt er mir:

    pi@raspberrypi ~ $ ./watch &
    [1] 4098
    pi@raspberrypi ~ $ cannot add directory: No such file or directory


    .... bin im selben verzeichnis

    Einmal editiert, zuletzt von martin82 (11. Oktober 2014 um 14:43)


  • Dann exisitiert das Verzeichnis DIR_TO_WATCH nicht ... nachgucken, anlegen, neu starten ;) ...


    #define DIR_TO_WATCH "/motion/videos"

    s zuviel gehabt jetz sagt er mir :

    pi@raspberrypi ~ $ ./watch &
    [1] 4175
    pi@raspberrypi ~ $ cannot add directory: No such file or directory

    Einmal editiert, zuletzt von martin82 (11. Oktober 2014 um 15:11)

  • ls: Zugriff auf /motion/v* nicht möglich: Datei oder Verzeichnis nicht gefunden


    versteh ich nich wo das prob is das verzeichnis gibt es doch, syntaxfehler?!
    MC
    imeq7imx.jpg


    Remote
    dunnoc4efdhqw9x.jpg

    in der motion.cpp habe ich stehen:

    #define DIR_TO_WATCH "/motion/video"


    [/color]

    Einmal editiert, zuletzt von martin82 (11. Oktober 2014 um 16:23)

  • Ach Kerle ;) ...

    Du hast

    Code
    #define DIR_TO_WATCH "/motion/video"


    geschrieben, die Dateien liegen aber in

    Code
    #define DIR_TO_WATCH "~/motion/video"

    Kleines Zeichen, grosse Wirkung ...
    cu,
    -ds-

  • merkt man mir das an das ich erst seit kurzem linux verwende ?

    :D danke aber läuft immer noch nicht, vllt verändere ich auch nicht richtig, ich mache das so:

    rm watch (löschen weil ja fehlerhaft)
    mcedit watch.cpp (im mc die datei bearbeiten,speichern)
    g++ -wall -o watch watch.cpp
    ./watch &

    dann kommt:
    [1]4672
    cannot add directory: no such file or directory

    Einmal editiert, zuletzt von martin82 (11. Oktober 2014 um 16:53)

  • Also ... das ~ steht für dein Homeverzeichnis, das motion muss also in Deinem Home Verzeichnis exisitieren.
    Das ist auch ok, wenn man Deine screenshots anschaut (/home/pi/motion und /home/pi/motion/video).
    Ich würde vorschlagen, Du postest den aktuellen Source noch mal, um evtl. Fehler darin auszuschliessen.

    Vielleicht ist es auch sinnvoll, das

    Code
    ~/motion/video


    durch

    Code
    /home/pi/motion/video


    zu ersetzen.

    Werd scho ... ;)
    cu,
    -ds-

  • Hallo Martin82,

    nee, merkt man nichts von, dass Du ein "Nüi" bischt.

    Aber: Jeder von uns hat mal so oder so ähnlich angefangen...

    Warum löschst Du die Datei vor dem Neu-Compilieren?
    - Der Schritt ist überflüssig, da sie beim Compilieren eh wieder erstellt wird
    - Der Schritt ist darüberhinaus auch saugefährlich, denn leicht haut es Dir über Auto-Kopmplettierung auch mal den Namen der Quelldatei rein - und dann isses wech... einfach so ... und kommt nicht wieder (wenn der Editor geschlossen ist)

    Warum erstellst Du das Programm nicht in einer IDE und compilierst darüber? Einmal F5 gedrückt - und schon läuft das Programm (falls keine Fehlerchen im Programm verborgen sind)!

    Vielleicht ist es mal wieder an der Zeit, den gesamten Code zu posten, damit wir eine Chance haben, irgendwas zur Fehlerursache sagen zu können.

    Beste Grüße

    Andreas

    _____________
    Hi Dreamshader,

    dieses Mal warst Du schneller - mit der Forderungn nach dem aktuellen Quellcode :thumbs1:

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (11. Oktober 2014 um 17:46)

  • Danke für die Hinweise, kann mir nun paar arbeitsschritte ersparen :)

    also wie ich eine IDE in linux erstelle weiss ich nich, aber ich schaue mal, gibt bestimmt ein programm was ich schon auf dem Pi habe was dafür geeignet ist.[/code]

  • Sodala ...
    also das sollte funktionieren ... zumindest unter Ubuntu kann ich das Teil übersetzen und es tut auch was es tun soll.
    Das mit dem "/home/pi/motion/video" ist richtig. Die Tilde am Anfang mag er nicht ...

    Witzigerweise tut es auf meinem Test-RPi mit wheezy nicht ... gleiche Fehlermeldung wie bei Dir ...
    ich guck mal, was da is ...

    Sorry ...Kommando zurück ...
    es klappt auch auf dem RPi ... ich Rindvieh hatte den Pfad nicht angepasst :wallbash:


    cheers,
    -ds-

  • kanns leider nicht testen... hab ausversehen den stecker gezogen ... hab ihn wieder eingesteckt und jetzt tut sich nix mehr X( ma schauen was das ding jetz wieder zu meckern hat :D

Jetzt mitmachen!

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