Beiträge von matze1

    Ich habe einen bc547 Transistor. Das grobe Prinzip wie ein Transistor funktioniert ist mir klar, auch habe ich den genannten auch erfolgreich mit einen Lüfter getestet.


    Mir geht es nur darum, wo bei einen Transistor die Grenzen sind, bin leider nicht vom Fach der Electronic.

    Wenn ich diesen bc547 verwende, also NPN, die Basis ist vom Raspi GPIO 3,3 V angesteuert. Wie viel Volt und Ampere darf durch die Collector-Emitter Schiene laufen?

    Gibt es da irgend welche Richtlinien? Ich kann bestimmt keine 24V und 10A (Übertrieben formuliert) über C-E ziehen oder?

    Und was bedeuten die Angaben vom Hersteller:

    Collector-emitter voltage : 45V
    Collector current: 100mA

    Peak collector current: 200mA?

    Hab darüber leider nichts im Netzt gefunden was eine grobe aussage kräftige Erklärung ist.

    Hoffe mir kann jemand kurz und knapp es erläutern.

    vielen Dank

    Um das ganze noch zu vervollständigen.

    Daher dass das Script nach ca 3 min wieder beendet wird, starte ich mit Udev ein Dienst und führe somit das Script aus.


    So ich habe es jetzt endlich hinbekommen.

    Es muss erst in der Datei:

    ab "KillMode..." auskommentiert werden.

    Danach kann ich dieses erfolgreich ausführen:

    Code
    1. pi@raspberrypi:~ $ sudo cat /etc/udev/rules.d/5.rules
    2. KERNEL=="sd?1", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/bin/touch /home/pi/meintextneu.txt"

    So, ich versuche das heute definitiv zum letzten mal mit der Udev Regel beim Raspi.

    Ich habe jetzt das Script wie folgt erweitert:


    Es wird lediglich die "echo "User=..." Zeile und das "hello2" ausgegeben, das "hello1" nicht und den "touch" Befehl auch nicht.

    Was mache ich falsch? Script wird auch mit root-Rechten gestartet.

    Das ist überhaupt kein Problem. Das Problem ist leider manchmal die Erwartungshaltung von irgendwelchen Usern "Hier ist mein Problem, löst das mal" . Ich unterstütze gerne jeden Anfänger, aber nur mit Hilfe zur Selbsthilfe. Und das verlangt konstruktive Mitarbeit dessen, der das Problem hat, und nicht, dass er mit zurückgehaltener Information die Lösung auch noch extra erschwert und mit Händen-in-den-Taschen darauf wartet, dass andere arbeiten. Und wenn jemand hier einen technischen Hinweis gibt und du vestehst das als Anfänger erst mal nicht (was völlig normal und auch ok ist), so solltest Du solche Hinweise nicht einfach übergehen, sondern einfach noch mal nachfragen..... und das ist dann die konstruktive Mitarbeit.... also die Kenntnisse erwerben, irgendwann durch Verstehen der Technik die Probleme selber lösen zu können.

    Das ist völlig in Ordnung, bin genau deiner Meinung. aber es ist nicht so das ich hier sitze und auf jede Antwort warte, sondern ich bin viel am googeln und versuche es selbst zu lösen, aber wenn ich nach Tagen selbst kein Erfolg habe dann frag ich doch noch die Experten.

    Ich arbeite 6 Jahre schon mit ubuntu (generell linux) und da ist es mir nicht Welt fremd, aber Ubuntu und raspbian unterscheiden sich doch enorm stelle ich immer mehr fest. Und manchmal fällt mir nur was nicht ein wie z.b. den richtigen Pfad "/usr/bin/touch" zu nehmen.



    Also ich werde es testen und gebe dann feedback.


    Danke schon mal für die Mühen und Hilfen.

    Sorry dass ich anscheinend zu blöd dafür bin, aber es hat jeder mal angefangen.


    Ich hoffe ich habe es jetzt richtig, also ich möchte dass es eine Datei in "/home/pi" erstellt, aber das tut es laut dieser configs nicht.


    Code
    1. pi@raspberrypi:~ $ cat /etc/udev/rules.d/20.rules
    2. KERNEL=="sd?1", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/usr/local/bin/create-journal-entry add %k"
    3. KERNEL=="sd?1", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/usr/local/bin/create-journal-entry rem %k"
    4. pi@raspberrypi:~ $ cat /usr/local/bin/create-journal-entry
    5. #!/bin/bash
    6. echo "User=$USER, Parm1=$1 Parm2=$2 Parm3=$3" | systemd-cat -t "thlu:$(basename $0)" -p info
    7. touch /home/pi/mein.txt
    8. exit 0

    Nur unbedingt dran denken, dass das nur für kurzläufer geeignet ist... also script starten, was machen und sofort wieder beenden....

    Darum wollte ich ja mit den Script ein anderes starten..

    aber mir gelingt nicht mal das, egal was ich in

    Code
    1. /usr/local/bin/create-journal-entry

    eintrage, da wird außer dein Befehl nichts ausgeführt.


    Allerdings habe ich bei der Ausgabe bemerkt, dass es bei meiner noch bestehenden Udev Regel einen Fehler ausgibt, vielleicht gibt das Aufschluss.


    Code
    1. pi@raspberrypi:~ $ sudo journalctl -f
    2. Feb 11 07:56:49 raspberrypi systemd-udevd[992]: Process '/home/pi/shscript.sh' failed with exit code 1.

    OK vielen Dank

    Edit:

    Aber was ich nicht verstehe, warum kann man bei raspbian kein bash oder python Script aus udev heraus starten?

    Ich habe es jetzt mit chmod +x ausführbar gemacht.

    Code
    1. pi@raspberrypi:~ $ ls -l /usr/local/bin/create-journal-entry
    2. -rwxr-xr-x 1 root staff 144 Feb 10 18:11 /usr/local/bin/create-journal-entry
    3. pi@raspberrypi:~ $ sudo journalctl -f | grep create
    4. Feb 10 18:11:41 raspberrypi sudo[873]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/nano /usr/local/bin/create-journal-entry
    5. Feb 10 18:12:04 raspberrypi thlu:create-journal-entry[887]: User=, Parm1=rem Parm2=sda1 Parm3=
    6. Feb 10 18:12:51 raspberrypi thlu:create-journal-entry[953]: User=, Parm1=add Parm2=sda1 Parm3=

    Die Ausgabe sieht wie folgt aus:

    Code
    1. pi@raspberrypi:~ $ sudo journalctl -f | grep create
    2. Feb 10 17:49:38 raspberrypi systemd-udevd[563]: failed to execute '/usr/local/bin/create-journal-entry' '/usr/local/bin/create-journal-entry add sda1': Permission denied
    3. Feb 10 17:49:38 raspberrypi systemd-udevd[556]: Process '/usr/local/bin/create-journal-entry add sda1' failed with exit code 2.

    So jetzt bin ich doch noch dazu gekommen.

    Also ich habe jetzt in UDEV ein ganz einfachen Eintrag

    Code
    1. KERNEL=="sd?1", SYMLINK+="musik", RUN+="/bin/bash /home/pi/shscript.sh"

    der Symlink funzt, aber das Script wird nicht ausgeführt (was bei Ubuntu klappte, aber das ist ja ne ganz andere Baustelle wie Cluster auch schrieb).


    Hier mein Script:

    Shell-Script
    1. #!/bin/bash
    2. touch /home/pi/udevtext.txt

    Und hier deren Rechte:

    Code
    1. -rwxr-xr-x 1 root root 37 37 Feb 10 15:46 shscript.sh



    Auch wenn ich Gruppe/Benutzer auf pi ändere bringt es nichts.

    Erstmal vielen Dank für die antworten.

    Ok, das zum Thema systemd... ;)


    Mal sehen ob matze1 noch die Antwort auf #28 zeigt und uns damit "Back to Topic" bringt.

    Ich werde es morgen zeigen wenn ich zu Hause bin.


    EDIT: ich habe gerade auf mein Ubuntu PC mal versucht das ganze nachzustellen, also wenn ich die udev.rules in /etc/udev/rules.d/."

    speichere funktioniert es nicht. Wenn ich es unter "/lib/udev/rules.d/." speichere, dann startet ein bash Script ohne Probleme.

    Mein einfacher Ansatz ist auf dem Pi ist ein bash Script zu starten was dann das Python script startet und fertig.

    Eventuell kann ja mal jemand bei sich auf dem Raspberry pi das ganze testen ob der Udev Eintrag ein einfaches Script startet, egal ob bash oder python.


    Übrigens habe ich den Pi2 mit aktuellen raspbian lite drauf, update und upgrade wurde gemacht.

    Warum ist mein Speicherpfad falsch?

    Ist das nicht egal wie man die Datei nennt? Nur hinter dem punkt muss doch "rules" stehen oder?

    du hast also meinen link doch nicht gelesen?!

    Doch den link schon, aber die frage nicht.



    Ok danke, wenn es keine andere Möglichkeit gibt.


    Aber was mich stutzig macht ist, dass ich nicht mal ein "einfaches" Script aus UDEV heraus starten kann.