'http://192.168.0.20/',
'cups' => 'htpp://192.168.0.20:631',
'scan' => 'http://192.168.0.20/php-scanner'
);
$values = array();
// Getting System Values.
$uname = split(" ", exec("uname -a"), 4);
$values['system'] = array();
$values['system']['current_time'] = exec("date +'%d %b %Y %T %Z'");
$values['system']['frequency'] = exec("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq") / 1000;
$values['system']['processor'] = str_replace("-compatible processor", "", explode(": ", exec("cat /proc/cpuinfo | grep Processor"))[1]);
$values['system']['cpu_temperature'] = round(exec("cat /sys/class/thermal/thermal_zone0/temp ") / 1000, 1);
$values['system']['system'] = $uname[0];
$values['system']['kernel'] = $uname[2];
$values['system']['host'] = exec('hostname -f');
// Load averages
$loadavg = explode(" ", exec("cat /proc/loadavg"));
$values['system']['load'] = $loadavg[2];
//Uptime
$uptime_array = explode(" ", exec("cat /proc/uptime"));
$seconds = round($uptime_array[0], 0);
$minutes = $seconds / 60;
$hours = $minutes / 60;
$days = floor($hours / 24);
$hours = sprintf('%02d', floor($hours - ($days * 24)));
$minutes = sprintf('%02d', floor($minutes - ($days * 24 * 60) - ($hours * 60)));
if ($days == 0) {
$values['system']['uptime'] = $hours . ":" . $minutes . " (hh:mm)";
} elseif($days == 1) {
$values['system']['uptime'] = $days . " day, " . $hours . ":" . $minutes . " (hh:mm)";
} else {
$values['system']['uptime'] = $days . " days, " . $hours . ":" . $minutes . " (hh:mm)";
}
//Memory Utilisation
$values['memory'] = array();
$meminfo = file("/proc/meminfo");
for ($i = 0; $i < count($meminfo); $i++) {
list($item, $data) = split(":", $meminfo[$i], 2);
$item = trim(chop($item));
$data = intval(preg_replace("/[^0-9]/", "", trim(chop($data)))); //Remove non numeric characters
switch($item) {
case "MemTotal": $values['memory']['total'] = $data; break;
case "MemFree": $values['memory']['free'] = $data; break;
case "SwapTotal": $values['memory']['total_swap'] = $data; break;
case "SwapFree": $values['memory']['free_swap'] = $data; break;
case "Buffers": $values['memory']['buffer'] = $data; break;
case "Cached": $values['memory']['cache'] = $data; break;
default: break;
}
}
//Disk space check, with sizes reported in kB.
$values['hdd'] = array();
exec("df -T -l -BKB -x tmpfs -x devtmpfs -x rootfs", $diskfree);
for ($count = 1; $count < sizeof($diskfree); $count ++) {
$diskinfo = split(" +", $diskfree[$count]);
$values['hdd'][] = array(
'drive' => $diskinfo[0],
'type' => $diskinfo[1],
'size' => $diskinfo[2],
'used' => $diskinfo[3],
'avail' => $diskinfo[4],
'percent' => $diskinfo[5],
'mount' => $diskinfo[6]
);
}
// Rendering Page.
?>
Raspberry Pi System Information
Raspberry Pi Server Info