cpu usage, network load, etc. mit c und leds "überwachen"

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hi :)
    ich weis die überschrift ist etwas komisch gewählt, aber darum geht im prinzip:
    Ich hab meinem pi in den letzten Tagen ein paar leds spendiert, und die lüftersteuerung optimiert...

    Da sich meine c kenntnisse aber in Grenzen halten, dh ich kann den meisten c code problemlos lesen, aber selber schreiben nur bedingt.

    Was ich jetzt realisieren möchte ist, das mir die cpu auslastung die netzwerk- und ram auslastung sowie noch systemprobleme angezeigt werden...( also wenn die systemtemp mal zu hoch steigt (ne eigene gestaffelte "anzeige" hier für möchte ich aber nicht verwenden,möchte nur angezeigt bekommen wenn sie über einem bestimmten wert liegt, mein lüfter hält die temp eig kostant))

    kennt jmd sample code für so was in der richtung bzw kennt jmd die befehle die die system daten abfragen? die if bedingungen würde ich selbst programmiert bekommen, weis halt nur nicht wie ich an die erforderlichen werte kommen kann...

    lg Tim

    //EDIT:
    evt. könnte man die pi glow umprogrammieren -> https://github.com/chrisgjohnson/piglow-sysmon <-
    was haltet ihr davon? :)

    soo... hab die idee mit pi glow weitergedacht, hier mal der code, noch unmodefiziert, aber die zu bearbeitenden stellen schon makriet ^^
    vieleicht kann jmd helfen :)

    Ich weis der code ist recht lang, würde aber wenn wir ihn umgeschrieben bekommen könnte er als universelle schnitstelle für die meisten led <-> status ausgabe dienen :)

    lg Tim

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

    Einmal editiert, zuletzt von hehxes (7. Dezember 2014 um 18:35)

  • cpu usage, network load, etc. mit c und leds "überwachen"? Schau mal ob du hier fündig wirst!

  • Hallo Tim,

    Du brauchst eigentlich nur zwei Befehle auszuwerten:

    1. vcgencmd
    2. top

    Code
    man vcgencmd


    bzw. https://forum-raspberrypi.de/www.elinux.org/RPI_vcgencmd_usage

    und

    Code
    man top

    verraten Dir mehr.


    Beste Grüße

    Andreas

    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.

  • Das ist inder Tat ein ansatz... würde es wahrscheinlich sogar selbst hingekommen :D

    danke && lg Tim

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

  • nope schaffe es nicht alleine :D
    Ich bräuchte mindestens ein beispiel mit dem zB die cpu temp bekommt.... :s
    das könnte ich dann umschreiben, mein problem ist das ich nicht wie ich an des grund design rangehen soll :/

    hast du in tipp / beispiel für mich ?

    hier --> CPU/Sys-Infos <-- hab ich ein ähnliches beispiel in php gefunden und python beispiele gibt es ja zu hauf.... aber absolut keine in c :/

    lg Tim

    //EDIT:

    hab mich rangesetzt bekomm es aber nicht hin :DD

    wollte es so ähnlich wie beim ardunio machen mit dem digitalRead probieren, bekomm die werte aber nicht verarbeitet....

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

    Einmal editiert, zuletzt von hehxes (7. Dezember 2014 um 19:07)

  • Hi,

    na da liegst Du etwas daneben ;) ...
    die wiringPi library brauchst Du nicht und digitalRead schon gar nicht. Letzteres dient zum Auslesen des Status eines GPIO Pins ( HIGH oder LOW ).
    Das, was Du da vor hast, würde in etwa so aussehen:


    versuch das vielleicht mal zu verstehen und dann kannst Du ja mal kommentieren, was Du meinst, was hier passiert.
    Dumpfes Abkupfern bringt Dir halt imho nix ...

    cu,
    -ds-

  • also... die wiringpi lib brauch ich (du hast recht, jetzt nochnicht, aber am ende muss die rein wegen den status leds)

    und wegen dem code, wie gesagt lesen kann ich recht gut, nur schreiben nicht :D
    hier der "beweis"

    ich hoffe das bringt dir den beweis das ichs lesen kann, bin halt nur zu doff zum schreiben :cool:

    lg Tim

    PS: ich bin nie sicher ob es jetzt if schleife oder if abfrage heist... wegen --> http://if-schleife.de/

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

    Einmal editiert, zuletzt von hehxes (8. Dezember 2014 um 16:48)

  • Hi Tim,
    naja ... fast ;) ...

    Code
    #include <stdio.h> ///import der benötigten bibliotheken


    Einbinden der Header mit benötigten Deklarationen und Definitionen.
    Das sind keine Libs!


    cu,
    -ds-

  • und was heist das jetzt im bezug aufs auslesen von cpu load und andere?

    die temp ist ja mit das einfachste, aber wie Andreas schon schrieb, top und vcgencmd sind anscheind das beste und leicheste ... wie ich es in python einbinde weis ich aber c ist wie du siehst bei mir so ne sache xD

    sorry für meine ganzen noobigen fragen c:

    lg Tim

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

  • Hm ... und warum machst Du das dann in C, wenn es nicht Dein Ding ist ...
    Es gibt z.B. für Ubuntu geniale Applets, die man sich oben in der Statuszeile anklinken kann und dann Netzwerk-Duchsatz, CPU-Last, ... grafisch anzeigen.
    Vielleicht kannst Du die ja irgendwie "anzapfen" ...

    Die entsprechenden Daten aus dem System herauszukitzeln, ohne es zusätzlich noch mehr zu belasten, wüsste ich jetzt auch nicht ad hoc ... da müsste man mal vmstat oder auch top auseinanderpuzzeln ...


    cu,
    -ds-

  • ich wollte c verwenden, da ich auf die wiringpi lib gestosen bin, um die leds anzusteuern, aber jetzt wo dus erwähnst... python würde das ja auch schaffen, und dafür gibts (zum glück) nee menge mehr samples :D

    das mit den applets ist ne nette idee :thumbs1:

    lg Tim

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

  • jo ich habs mir nochmal angeschaut.. mit python wirds einfacher :)

    lg Tim

    Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had."[1996] -Linus Torvalds (*1969) :geek: ~hehxes

Jetzt mitmachen!

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