$HardwareErrors = 0; $Utility = 0; if (!empty($r['status']['devs'])) { foreach ($r['status']['devs'] as $id => $dev) { $devices += $dev['MHS5s'] > 0 ? 1 : 0; // Only count hashing devices $MHS5s += $dev['MHS5s']; $MHSav += $dev['MHSav']; $Accepted += $dev['Accepted']; $Rejected += $dev['Rejected']; $HardwareErrors += $dev['HardwareErrors']; $Utility += $dev['Utility']; $r['status']['devs'][$id]['TotalShares'] = $dev['Accepted'] + $dev['Rejected'] + $dev['HardwareErrors']; } } $r['status']['dtot'] = array('devices' => $devices, 'MHS5s' => $MHS5s, 'MHSav' => $MHSav, 'Accepted' => $Accepted, 'Rejected' => $Rejected, 'HardwareErrors' => $HardwareErrors, 'Utility' => $Utility, 'TotalShares' => $Accepted + $Rejected + $HardwareErrors); // CPU intensive stuff if (!empty($_REQUEST['all'])) { $r['status']['pi']['load'] = sys_getloadavg()[2]; $r['status']['pi']['uptime'] = explode(' ', exec('cat /proc/uptime'))[0]; $r['status']['pi']['temp'] = exec('cat /sys/class/thermal/thermal_zone0/temp') / 1000; // What other interesting stuff is in summary? $summary = cgminer('summary'); if (!empty($summary['data']['SUMMARY'][0]['Elapsed'])) { $r['status']['uptime'] = $summary['data']['SUMMARY'][0]['Elapsed']; } else { $r['status']['uptime'] = 0; } } $r['status']['time'] = time(); echo json_encode($r);
<?php /* f_copy issues a command to the api of the miner returns success, command, miner response and possible errors */ header('Content-type: application/json'); include 'cgminer.inc.php'; if (empty($_REQUEST['command']) && empty($_REQUEST['parameter'])) { $r = cgminer(); } elseif (empty($_REQUEST['parameter'])) { $r = cgminer($_REQUEST['command']); } else { $r = cgminer($_REQUEST['command'], $_REQUEST['parameter']); } echo json_encode($r);
$RRDPATH = '/opt/minepeon/http/rrd/'; $options = array("--slope-mode", "--start", $start, "--title={$title}", "--vertical-label=Hash per second", "--lower=0", "DEF:hashrate=" . $RRDPATH . "hashrate.rrd:hashrate:AVERAGE", "CDEF:realspeed=hashrate,1000,*", "LINE2:realspeed#FF0000"); $ret = rrd_graph("/opt/minepeon/http/rrd/" . $output, $options); if (!$ret) { echo "<b>Graph error: </b>" . rrd_error() . "\n"; } } //MinePeon temperature $mpTemp = substr(substr(exec('/opt/vc/bin/vcgencmd measure_temp'), 5), 0, -2); //MinePeon CPU load $mpCPULoad = sys_getloadavg(); $stats = cgminer("devs", ""); $status = $stats['STATUS']; $devs = $stats['DEVS']; $summary = cgminer("summary", ""); $pools = cgminer("pools", ""); include 'head.php'; include 'menu.php'; ?> <div class="container"> <h2>Status</h2> <p class="text-center"> <img src="/rrd/mhsav-hour.png" alt="/mhsav.png" /> <img src="/rrd/mhsav-day.png" alt="/mhsav.png" /><br/> <a href="#" id="chartToggle">Display extended charts</a> </p> <p class="text-center collapse chartMore"> <img src="/rrd/mhsav-week.png" alt="mhsav.png" /> <img src="/rrd/mhsav-month.png" alt="mhsav.png" /> </p> <p class="text-center collapse chartMore">