speedynews
Newbie
- Registriert
- 15. August 2011
- Beiträge
- 24
- Reaktionspunkte
- 3
- Punkte
- 3
Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
vermutlich müsstest du dir das aktuelle raspbian image von gestern installieren beziehungsweise upgraden damit du das nutzen kannstThe tempertaure sensor is now available through a thermal driver.
(in milli-degrees-C)Code:cat /sys/class/thermal/thermal_zone0/temp
// ********************************
// SENSORS PARAMETERS
// ********************************
/**
* Define the motherboard monitoring program (!!!names are case-sensitive!!!)
* We support the following programs so far
* - LMSensors http://www.lm-sensors.org/
* - Healthd http://healthd.thehousleys.net/
* - HWSensors http://www.openbsd.org/
* - MBMon http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html
* - MBM5 http://mbm.livewiredev.com/
* - Coretemp
* - IPMI http://openipmi.sourceforge.net/
* - K8Temp http://hur.st/k8temp/
* Example: If you want to use lmsensors : define('PSI_SENSOR_PROGRAM', 'LMSensors');
*/
define('PSI_SENSOR_PROGRAM', false);
/**
* Define how to access the monitor program
* Available methods for the above list are in the following list
* default method 'command' should be fine for everybody
* !!! tcp connections are only made local and on the default port !!!
* - LMSensors command, file
* - Healthd command
* - HWSensors command
* - MBMon command, tcp
* - MBM5 file
* - Coretemp command
* - IPMI command
* - K8Temp command
*/
define('PSI_SENSOR_ACCESS', 'command');
<?php
// v0.3
session_start();
session_cache_limiter(1440);
?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $_SERVER['SERVER_NAME']; ?> - Informations</title>
<meta HTTP-EQUIV=Refresh CONTENT='10'>
<style type=text/css>
body { font-size: 8pt; color: black; font-family: Verdana,arial,helvetica,serif; margin: 0 0 0 0; }
.style1 {
color: #999999;
font-weight: bold;
}
div.progressbar {
border: 1px solid gray;
border-style: dotted;
width: 40%;
padding: 1px;
background-color: #E0E0E0;
margin: 0px;
}
div.progressbar div {
height: 7px;
background-color: #ff0000;
width: 0%;
}
</style>
</head>
<body>
<?php
exec("cat /sys/class/thermal/thermal_zone0/temp",$cputemp);
exec("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq",$cpufreq);
$cputemp = $cputemp[0] / 1000;
$cpufreq = $cpufreq[0] / 1000;
$RESET = isset($_POST["RESET"]) ? $_POST["RESET"] : "";
if (!empty($RESET)) {
if (isset($_SESSION['max_cputemp'])) { unset($_SESSION['max_cputemp']); }
if (isset($_SESSION['min_cputemp'])) { unset($_SESSION['min_cputemp']); }
if (isset($_SESSION['max_cpufreq'])) { unset($_SESSION['max_cpufreq']); }
if (isset($_SESSION['min_cpufreq'])) { unset($_SESSION['min_cpufreq']); }
}
// max
if (!isset($_SESSION['max_cputemp'])) {
$_SESSION['max_cputemp'] = $cputemp;
} elseif ($_SESSION['max_cputemp'] < $cputemp) {
$_SESSION['max_cputemp'] = $cputemp;
}
if (!isset($_SESSION['max_cpufreq'])) {
$_SESSION['max_cpufreq'] = $cpufreq;
} elseif ($_SESSION['max_cpufreq'] < $cpufreq) {
$_SESSION['max_cpufreq'] = $cpufreq;
}
// min
if (!isset($_SESSION['min_cputemp'])) {
$_SESSION['min_cputemp'] = $cputemp;
} elseif ($cputemp < $_SESSION['min_cputemp']) {
$_SESSION['min_cputemp'] = $cputemp;
}
if (!isset($_SESSION['min_cpufreq'])) {
$_SESSION['min_cpufreq'] = $cpufreq;
} elseif ($cpufreq < $_SESSION['min_cpufreq']) {
$_SESSION['min_cpufreq'] = $cpufreq;
}
$RESETFORM = "<form name='reset' action='' method='POST'>\n";
$RESETFORM.= "<button type='submit' value='true' name='RESET'>Reset</button>\n";
$RESETFORM.= "</form>\n";
?>
<blockquote>
<pre>
<?php echo $RESETFORM; ?>
<h2>CPU Temperature</h2>
<table border="1" cellpadding="5">
<th>Current</th> <th>Max</th> <th>Min</th>
<tr>
<td><?php echo $cputemp; ?> °C</td>
<td><?php echo $_SESSION['max_cputemp']; ?> °C</td>
<td><?php echo $_SESSION['min_cputemp']; ?> °C</td>
</tr>
</table>
<h2>CPU Frequence</h2>
<table border="1" cellpadding="5">
<th>Current</th> <th>Max</th> <th>Min</th>
<tr>
<td><?php echo $cpufreq; ?> MHz</td>
<td><?php echo $_SESSION['max_cpufreq']; ?> MHz</td>
<td><?php echo $_SESSION['min_cpufreq']; ?> MHz</td>
</tr>
</table>
<span class="style1">Kernel Information:</span>
<?php echo php_uname(); ?><br/>
<span class="style1">Uptime:</span>
<?php system("uptime"); ?>
<span class="style1">Memory Usage (MB):</span>
<?php system("free -m"); ?>
</pre>
<p>
<?php
echo "<span class='style1'>CPU Load:</span><br/>\n";
// Change this next line to specify an alternate temporary directory. Your
// webserver MUST have write access to this directory if you plan to call
// the CPULoad::get_load() method.
define("TEMP_PATH","/tmp/");
class CPULoad {
function check_load() {
$fd = fopen("/proc/stat","r");
if ($fd) {
$statinfo = explode("\n",fgets($fd, 1024));
fclose($fd);
foreach($statinfo as $line) {
$info = explode(" ",$line);
//echo "<pre>"; var_dump($info); echo "</pre>";
if($info[0]=="cpu") {
array_shift($info); // pop off "cpu"
if(!$info[0]) array_shift($info); // pop off blank space (if any)
$this->user = $info[0];
$this->nice = $info[1];
$this->system = $info[2];
$this->idle = $info[3];
// $this->print_current();
return;
}
}
}
}
function store_load() {
$this->last_user = $this->user;
$this->last_nice = $this->nice;
$this->last_system = $this->system;
$this->last_idle = $this->idle;
}
function save_load() {
$this->store_load();
$fp = @fopen(TEMP_PATH."cpuinfo.tmp","w");
if ($fp) {
fwrite($fp,time()."\n");
fwrite($fp,$this->last_user." ".$this->last_nice." ".$this->last_system." ".$this->last_idle."\n");
fwrite($fp,$this->load["user"]." ".$this->load["nice"]." ".$this->load["system"]." ".$this->load["idle"]." ".$this->load["cpu"]."\n");
fclose($fp);
}
}
function load_load() {
$fp = @fopen(TEMP_PATH."cpuinfo.tmp","r");
if ($fp) {
$lines = explode("\n",fread($fp,1024));
$this->lasttime = $lines[0];
list($this->last_user,$this->last_nice,$this->last_system,$this->last_idle) = explode(" ",$lines[1]);
list($this->load["user"],$this->load["nice"],$this->load["system"],$this->load["idle"],$this->load["cpu"]) = explode(" ",$lines[2]);
fclose($fp);
} else {
$this->lasttime = time() - 60;
$this->last_user = $this->last_nice = $this->last_system = $this->last_idle = 0;
$this->user = $this->nice = $this->system = $this->idle = 0;
}
}
function calculate_load() {
//$this->print_current();
$d_user = $this->user - $this->last_user;
$d_nice = $this->nice - $this->last_nice;
$d_system = $this->system - $this->last_system;
$d_idle = $this->idle - $this->last_idle;
//printf("Delta - User: %f Nice: %f System: %f Idle: %f<br/>",$d_user,$d_nice,$d_system,$d_idle);
$total=$d_user+$d_nice+$d_system+$d_idle;
if ($total<1) $total=1;
$scale = 100.0/$total;
$cpu_load = ($d_user+$d_nice+$d_system)*$scale;
$this->load["user"] = $d_user*$scale;
$this->load["nice"] = $d_nice*$scale;
$this->load["system"] = $d_system*$scale;
$this->load["idle"] = $d_idle*$scale;
$this->load["cpu"] = ($d_user+$d_nice+$d_system)*$scale;
}
function print_current() {
printf("Current load tickers - User: %f Nice: %f System: %f Idle: %f<br/>",
$this->user,
$this->nice,
$this->system,
$this->idle
);
}
function print_load() {
printf("User: %.1f%% Nice: %.1f%% System: %.1f%% Idle: %.1f%% Load: %.1f%%<br/>",
$this->load["user"],
$this->load["nice"],
$this->load["system"],
$this->load["idle"],
$this->load["cpu"]
);
}
function get_load($fastest_sample=4) {
$this->load_load();
$this->cached = (time()-$this->lasttime);
if ($this->cached>=$fastest_sample) {
$this->check_load();
$this->calculate_load();
$this->save_load();
}
}
}
// NOTE: Calling $cpuload->get_load() requires that your webserver has
// write access to the /tmp directory! If it does not have access, you
// need to edit TEMP_PATH and change the temporary directory.
$cpuload = new CPULoad();
$cpuload->get_load();
$cpuload->print_load();
$CPULOAD = round($cpuload->load["cpu"],3);
echo "<br/>The average CPU load is: ".$CPULOAD."%\n";
echo "<div class='progressbar'>\n";
echo "<div style='width: ".$CPULOAD."%; background-color: rgb(0, 204, 0);' id='serviceload'>\n";
echo " </div>\n";
echo "</div>\n";
echo "<br/><br/><br/>";
echo "<p>Page generated in ". number_format(microtime(true) - $_SERVER['REQUEST_TIME']) ." seconds</p>";
?>
</p>
</blockquote>
</body>
</html>
fazit: aktuelles raspbian installieren (oder apt-get update && apt-get upgrade) dann gibt es auch 10% bessere performance für die usb portsSie müssen registriert sein, um Links zu sehen.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Das Digital Eliteboard ist ein kostenloses Forum und ist auf Spenden angewiesen, um sich auch in Zukunft selbst zu finanzieren. Wenn auch du mit dem Digital Eliteboard zufrieden bist, würden wir uns über jede Unterstützung freuen.
Hier kannst du uns unterstützen SPENDEN