Страница 1 из 1

Система охлаждения Одноплатника

Добавлено: Ср янв 27, 2021 4:19 pm
MrReD32
Доброе время суток!!! Есть ORANGE PI на нем gpio и кулер, как можно реализовать в Majordomo автоматическое включение кулера по температуре процессора.

Re: Система охлаждения Одноплатника

Добавлено: Ср янв 27, 2021 5:20 pm
lihodeev
MrReD32 писал(а):
Ср янв 27, 2021 4:19 pm
Доброе время суток!!! Есть ORANGE PI на нем gpio и кулер, как можно реализовать в Majordomo автоматическое включение кулера по температуре процессора.
первая ссылка в гугле https://3deshnik.ru/blogs/wolfs_sg/avto ... a-orangepi МД причем?

Re: Система охлаждения Одноплатника

Добавлено: Чт янв 28, 2021 11:55 am
MrReD32
первая ссылка в гугле https://3deshnik.ru/blogs/wolfs_sg/avto ... a-orangepi МД причем?
У меня в данный момент так и реализовано но хотелось бы чтоб управлял этим Majordomo c возможностью отключения вентилятора с панели MD

Re: Система охлаждения Одноплатника

Добавлено: Чт янв 28, 2021 12:38 pm
PAV
Вот смотри, как у меня получаются данные с одноплатника.
Я думаю разберешься, если нет, спрашивай

Код: Выделить всё

//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);

Re: Система охлаждения Одноплатника

Добавлено: Ср фев 17, 2021 10:32 am
MrReD32
Вот смотри, как у меня получаются данные с одноплатника.
Я думаю разберешься, если нет, спрашивай
Не совсем понятно что этот код делает? Можно поподробнее

Re: Система охлаждения Одноплатника

Добавлено: Ср фев 17, 2021 11:06 am
PAV
Это код получает данные одноплатника - температуру, загрузку, память и т.д.
Дальше с этой инфой можно делать что угодно.