Система охлаждения Одноплатника
Добавлено: Ср янв 27, 2021 4:19 pm
Доброе время суток!!! Есть ORANGE PI на нем gpio и кулер, как можно реализовать в Majordomo автоматическое включение кулера по температуре процессора.
первая ссылка в гугле https://3deshnik.ru/blogs/wolfs_sg/avto ... a-orangepi МД причем?
У меня в данный момент так и реализовано но хотелось бы чтоб управлял этим Majordomo c возможностью отключения вентилятора с панели MDпервая ссылка в гугле https://3deshnik.ru/blogs/wolfs_sg/avto ... a-orangepi МД причем?
Код: Выделить всё
//CPU temp
$cpu_temp=exec('cat /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input') / 1000;
$cpu_temp=round($cpu_temp,1);
setGlobal("ThisComputer.CPU_temp",$cpu_temp);
//CPU usage
$cpu_usage=exec("top -bn 1 | awk '{print $9}' | tail -n +8 | awk '{s+=$1} END {print s}'");
setGlobal("ThisComputer.CPU_usage",$cpu_usage);
//System uptime
$sys_uptime=exec('uptime');
$sys_uptime = explode(' up ', $sys_uptime);
$sys_uptime = explode(',', $sys_uptime[1]);
$sys_uptime = trim($sys_uptime[0]);
setGlobal("ThisComputer.System_uptime",$sys_uptime);
//Memory usage/total
$mem=shell_exec("free -m|grep Mem|awk '{print $2,$3,$4}'");
$mem=explode(" ",$mem);
$mem="Всего: ".$mem[0]." Занято: ".$mem[1]." Доступно: ".$mem[2];
setGlobal("ThisComputer.System_memory",$mem);
//HDD /dev/sda temp
$hdd_temp=exec("hddtemp /dev/sda3");
preg_match('/[^:]*\:[ ]*[^:]*\:[ ]*([0-9+-.]*)/i',$hdd_temp,$arr);
$hdd_temp = trim($arr[1]);
$hdd_temp = str_replace('+','',$hdd_temp);
setGlobal("ThisComputer.HDD_temp",$hdd_temp);
//HDD free space
$disk=shell_exec("df -h|grep sda3|awk '{print $2,$3,$5}'"); // p.s. sda1 нужно изменить на свой диск
$disk=explode(" ",$disk);
$disk=$disk[1]."/".$disk[0]." ( ".$disk[2].")";
setGlobal("ThisComputer.HDD_freespace",$disk);
Не совсем понятно что этот код делает? Можно поподробнееВот смотри, как у меня получаются данные с одноплатника.
Я думаю разберешься, если нет, спрашивай