63 lines
2.1 KiB
PHP
63 lines
2.1 KiB
PHP
<?php
|
|
/**
|
|
* pitemp sensor class
|
|
*
|
|
* PHP version 5
|
|
*
|
|
* @category PHP
|
|
* @package PSI_Sensor
|
|
* @author Marc Hillesheim <hawkeyexp@gmail.com>
|
|
* @copyright 2012 Marc Hillesheim
|
|
* @link http://pi.no-ip.biz
|
|
*/
|
|
class PiTemp extends Sensors
|
|
{
|
|
private function _temperature()
|
|
{
|
|
$temp = null;
|
|
$temp_max = null;
|
|
if (!CommonFunctions::rfts('/sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input', $temp, 0, 4096, false)) { // Not Banana Pi
|
|
CommonFunctions::rfts('/sys/class/thermal/thermal_zone0/temp', $temp);
|
|
CommonFunctions::rfts('/sys/class/thermal/thermal_zone0/trip_point_0_temp', $temp_max, 0, 4096, PSI_DEBUG);
|
|
}
|
|
if (!is_null($temp) && (trim($temp) != "")) {
|
|
$dev = new SensorDevice();
|
|
$dev->setName("CPU 1");
|
|
$dev->setValue($temp / 1000);
|
|
if (!is_null($temp_max) && (trim($temp_max) != "") && ($temp_max > 0)) {
|
|
$dev->setMax($temp_max / 1000);
|
|
}
|
|
$this->mbinfo->setMbTemp($dev);
|
|
}
|
|
}
|
|
|
|
private function _voltage()
|
|
{
|
|
$volt = null;
|
|
if (CommonFunctions::rfts('/sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/axp20-supplyer.28/power_supply/ac/voltage_now', $volt, 0, 4096, false) && !is_null($volt) && (trim($volt) != "")) { // Banana Pi
|
|
$dev = new SensorDevice();
|
|
$dev->setName("Voltage 1");
|
|
$dev->setValue($volt / 1000000);
|
|
$this->mbinfo->setMbVolt($dev);
|
|
}
|
|
}
|
|
|
|
private function _current()
|
|
{
|
|
$current = null;
|
|
if (CommonFunctions::rfts('/sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/axp20-supplyer.28/power_supply/ac/current_now', $current, 0, 4096, false) && !is_null($current) && (trim($current) != "")) { // Banana Pi
|
|
$dev = new SensorDevice();
|
|
$dev->setName("Current 1");
|
|
$dev->setValue($current / 1000000);
|
|
$this->mbinfo->setMbCurrent($dev);
|
|
}
|
|
}
|
|
|
|
public function build()
|
|
{
|
|
$this->_temperature();
|
|
$this->_voltage();
|
|
$this->_current();
|
|
}
|
|
}
|