CPU-Aktivitäs-LED über GPIO

  • Hallo miteinenader,

    ich arbeite aktuell gerade an einem kleinen Projekt, bei dem auch die CPU Aktvität über eine LED angezeigt werden soll.

    Eine Idee war es einfach den Load auszulesen und je nach Wert schnelleres oder langsameres Blinken auszugeben. Aber irgendwie ist das nicht besonders elegant.

    Ich habe im Netz etwas gefunden um Netzwerk- und SD/HDD-Aktivitäten auszugeben (https://github.com/RagnarJensen/PiLEDlights) jedoch fand ich nichts für CPU Aktivität.

    Würde mich auch schon über einen Gedankenschubs in die richtige Richtung freuen :)

  • Blinken ist nach deiner Aussage nicht elegant, was soll es denn sonst machen die LED, entweder blinken, leuchten, nichts tun oder Farbe verändern, mehr kann eine LED nicht;)

    Würde mich auch schon über einen Gedankenschubs in die richtige Richtung freuen :)

    Den wolltest du, den hast du jetzt. Für spezifischeres, musst du wohl deine Vorhaben zukünftig besser beschreiben.


    Du könntest 4 RGB LEDs verwenden, und die Auslastung der einzelnen Kerne anhand von definierten Farben darstellen.

    Ließe sich auch mit einer RGB LED realisieren und den Durchschnitt dazu berechnen

    In aller Fälle wirst du um eine selbst programmierte Lösung aber nicht hinauskommen.

  • Blinken in einer vorgegeben Geschwindigkeit ist nicht elegant, nicht das Blinken ansich. Hast du dir die Aktivitäts-LED auf dem Raspberry Pi mal angeschaut? Die blinkt ja auch nicht in 3 vordefinierten Blink-Geschwindigkeiten ;)

    Mit dem Gedankenschub in die richtige Richtung war schon gemeint, dass ich gerne eine Aktivitäts-LED hätte und nicht etwas gänzlich anderes ;)

    Ich wusste nicht, dass ich das Prinzip einer Aktivitäts-LED erklären muss aber ich kann es gerne machen. Es soll dann blinken, wenn Aktivität stattfindet. Wie man es eben von Aktivitäts-LEDs kennt ;)

  • Die von Dir so bezeichnete „Aktivitäts LED“ des Pi zeigt standardmäßig den Zugriff auf den Datenträger an, keine sonstige Aktivität. Es gab (gibt noch?) die Möglichkeit, sie aber dafür umzustellen.

    Was aber hält dich denn davon ab, mit Python und Gpiozero (Blink) die Auslastung regelmässig auszulesen und Deine (externe) LED unterschiedlich schnell blinken zu lassen?

  • Achso, dachte das wäre die Aktivitätsanzeige der Auslastung.

    Prinzipiell hält mich nichts davon ab, wollte lediglich mal herumfragen ob es etwas eleganteres gibt. Vermutlich wird es wohl letztendlich darauf hinauslaufen.

  • Mit „vermuten“ kommst Du ähnlich weit, wie mit copy&paste und Raten beim Programmieren. Du möchtest sicher einmal selbst in die /boot/overlays/README sehen, was Dich da für wundervolle Dinge erwarten....

  • Hallo,

    Zitat

    bei dem auch die CPU Aktvität über eine LED angezeigt werden soll.

    Gängige CPUs können sich etliche Male pro Sekunden schlafen legen und die Taktfrequenz ändern. So schnell kannst du dein LED gar nicht ansteuern, als dass das visualisierbare wäre.


    Du könntest natürlich den CPU Load gleitend über ein Zeitfenster auslesen / berechnen und das dann visualisieren. Stellt sich dann aber die Frage, wie du das Mapping Load vs. Blinkfrequenz machen willst und was für Menschen wirklich noch unterscheidbar ist.

    Da ist der Ansatz von Hofei mit der RGB-LED IMHO schon deutlich cleverer, weil du ein Farbspektrum z.B. von grün -> rot nutzen kannst.

    Wenn der Wert aber wirklich für irgendwas wichtig ist, dann lass' ihn dir einfach als Zahl auf ein Display ausgeben. Dann ist es eindeutig.

    Gruß, noisefloor

  • So schnell kannst du dein LED gar nicht ansteuern, als dass das visualisierbare wäre.

    Nach dem Wunsch „heartbeat“ zu urteilen, kommt es keineswegs darauf an, irgendetwas konkretes zu visualisieren. Eher etwas in der Qualität von „wenig“, „mittlere“ und „grosse“ Aktivität. Und das geht ja damit. Auch extern, wie die README verrät.

  • Hallo,

    Nach dem Wunsch „heartbeat“ zu urteilen, kommt es keineswegs darauf an, irgendetwas konkretes zu visualisieren. Eher etwas in der Qualität von „wenig“, „mittlere“ und „grosse“ Aktivität. Und das geht ja damit. Auch extern, wie die README verrät.

    Yup, meinte ich auch in meinem obigen Beitrag. Nichts desto trotz geht auch eine meinetwegen 3-stufige Klasifizierung nicht "live, weil sich das viel zu schneller ändern. Man braucht also einen gleitenden Mittelwert über die letzten X Sekunden.

    Doof dabei ist: wenn man das Programm schlecht programmiert und die Grundlast zu hoch ist, dann hat man ungewollt eine Aktivitätsanzeige für das eigenen Skript ;)

    Gruß, noisefloor

Jetzt mitmachen!

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