Skript für Temp CPU Mem beim Raspi

… völlig falscher Forenbereich, da es aber nur für IPS@RasPI funktioniert …

Um die Daten der Temp / Core / Mem des RasPI anzuzeigen, habe ich folgendes Skript angepasst. Besonders liebevoll gestricjt ist es nicht, Variablen.IDs müsst ihr selbst anpassen. Man kann dann etwas besser sehen, wenn der RasPI in die Knie geht. Skript stammt von http://derkev.in/rpisysinfoscript/

<?
SetValue(*****,(exec("cat /sys/class/thermal/thermal_zone0/temp "))/1000);
SetValue(*****,(float)(substr(exec("vcgencmd measure_volts"),5)));
SetValue(*****/,(int)((exec("cat  /sys/devices/system/cpu/cpu0//cpufreq/scaling_cur_freq")) / 1000));

// Get the kernel info, and grab the cool stuff
$output1 = null;
$output2 = null;

// First output of /proc/stat
exec("cat /proc/stat", $output1);

// Set the time interval
sleep(1);

// Second output of /proc/stat
exec("cat /proc/stat", $output2);

// CPU total load
$cpu_load_total = 0;

for ( $i=0 ; $i < 1 ; $i++ )
{
  // Get informations from first row of /proc/stat
  $cpu_stat_1 = explode(" ", $output1[ $i + 1 ]);
  $cpu_stat_2 = explode(" ", $output2[ $i + 1 ]);

  // Init arrays
  $info1 = array( "user"   => $cpu_stat_1[1],
                  "nice"   => $cpu_stat_1[2],
                  "system" => $cpu_stat_1[3],
                  "idle"   => $cpu_stat_1[4]
                );

  $info2 = array( "user"   => $cpu_stat_2[1],
                  "nice"   => $cpu_stat_2[2],
                  "system" => $cpu_stat_2[3],
                  "idle"   => $cpu_stat_2[4]
                );

  // Informations that should involve the calculation
  $idlesum = $info2["idle"]-$info1["idle"] +
             $info2["system"]-$info1["system"];

  // Sum the outputvalues
  $sum1 = array_sum( $info1 );
  $sum2 = array_sum( $info2 );

  // Calculate the cpu-load
  $load = ( 1 - ( $idlesum / ( $sum2 - $sum1 ) ) ) *100;

  $cpu_load_total += $load;
}

// Round it to 2 decimals
$cpuload = (round( $cpu_load_total, 2 ));


//Get the memory info, and grab the cool stuf
$meminfo = file("/proc/meminfo");
for ($i = 0; $i < count($meminfo); $i++) {
//		list($item, $data) = split(":", $meminfo[$i], 2);
		list($item, $data) = explode(":", $meminfo[$i], 2);
		$item = chop($item);
		$data = chop($data);
		if ($item == "MemTotal") { $total_mem =$data;	}
		if ($item == "MemFree") { $free_mem = $data; }
		if ($item == "SwapTotal") { $total_swap = $data; }
		if ($item == "SwapFree") { $free_swap = $data; }
		if ($item == "Buffers") { $buffer_mem = $data; }
		if ($item == "Cached") { $cache_mem = $data; }
		if ($item == "MemShared") {$shared_mem = $data; }
}
$used_mem = ( $total_mem - $free_mem . ' kB');
$used_swap = ( $total_swap - $free_swap . ' kB' );
$percent_free = round( $free_mem / $total_mem * 100 );
$percent_used = round( $used_mem / $total_mem * 100 );
$percent_swap = round( ( $total_swap - $free_swap ) / $total_swap * 100 );
$percent_swap_free = round( $free_swap / $total_swap * 100 );
$percent_buff = round( $buffer_mem / $total_mem * 100 );
$percent_cach = round( $cache_mem / $total_mem * 100 );
$percent_shar = round( $shared_mem / $total_mem * 100 );

setvalue(*****, $cpuload);
setvalue(*****, $percent_used);

?>

Muß ich hierbei nur die 4 Variablen eingeben und das Skript dann in den entsprechenden Ordner auf dem Raspi kopieren?

Gruß Stefan