Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi PC+

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

VAndrey
Сообщения: 109
Зарегистрирован: Ср окт 11, 2017 1:09 pm
Откуда: Краснодар
Благодарил (а): 94 раза
Поблагодарили: 1 раз

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение VAndrey » Пн дек 04, 2017 5:24 pm

immortal, не знаю, по теме ли... подскажи, как вытащить в мажор параметры работы апельсина? загрузку проца и т.д.
Сервер на Orange Pi РС (Armbian 5.60 stable Debian GNU/Linux 9 4.14.84-sunxi)
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение immortal » Пн дек 04, 2017 6:15 pm

VAndrey писал(а):immortal, не знаю, по теме ли... подскажи, как вытащить в мажор параметры работы апельсина? загрузку проца и т.д.
Сейчас как раз в образе новом делаю, думал из RPi Monitor вставлять, но не получается вытащить с помощью вэб переменных, пропарсить страницу не удалось, в принципе температуру процессора вытащить без проблем, все остальное в разработке, квк сделаю так отпишусь
За это сообщение автора immortal поблагодарил:
VAndrey (Пн дек 04, 2017 7:42 pm)
Рейтинг: 1.23%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение immortal » Пн дек 04, 2017 7:06 pm

VAndrey писал(а):immortal, не знаю, по теме ли... подскажи, как вытащить в мажор параметры работы апельсина? загрузку проца и т.д.
вот рабочий код
СпойлерПоказать

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

$temp0 = file_get_contents ("/sys/class/thermal/thermal_zone0/temp");
sg('pctemp',$temp0);
//CPU temp
$cpu_temp=shell_exec('cat /sys/class/thermal/thermal_zone0/temp') / 1000;
$cpu_temp=round($cpu_temp,1);
sg("CPU_temp",$cpu_temp);

//CPU usage
$cpu_usage=exec("top -bn 1 | awk '{print $9}' | tail -n +8 | awk '{s+=$1} END {print s}'");
sg("CPU_usage",$cpu_usage);

//System uptime
$sys_uptime=shell_exec("uptime");
$sys_uptime = explode(" up ", $sys_uptime);
$sys_uptime = explode(",", $sys_uptime[1]);
$sys_uptime = $sys_uptime[0].", ".$sys_uptime[1];
sg("System_uptime",$sys_uptime);

//Memory usage/total
$mem_total=exec("cat /proc/meminfo | grep MemTotal | awk '{print $2}'");
$mem_usage=$mem_total - exec("cat /proc/meminfo | grep MemFree | awk '{print $2}'");
$sys_memory=round($mem_usage * 100 / $mem_total, 1);
sg("System_memory",$sys_memory);

//Memory Card
$bytes = disk_free_space("."); 
$si_prefix = array( 'B', 'KB', 'MB', 'GB', 'TB', 'EB', 'ZB', 'YB' );
$base = 1024;
$class = min((int)log($bytes , $base) , count($si_prefix) - 1);
$temp = round($bytes / pow($base,$class)) . ' ' . $si_prefix[$class];
sg('System_freespace',$temp);

//CPU 1 5 15
$cpu_load=shell_exec('cat /proc/loadavg');
$pos1 = strpos($cpu_load," ");
$pos2 = strpos($cpu_load," ",$pos1+1);
$pos3 = strpos($cpu_load," ",$pos2+1);
$cpu_load1  = substr($cpu_load,0,$pos1);
$cpu_load5  = substr($cpu_load,$pos1+1,$pos2-$pos1-1);
$cpu_load15 = substr($cpu_load,$pos2+1,$pos3-$pos2-1);
sg("cpu_load1",$cpu_load1);
sg("cpu_load5",$cpu_load5);
sg("cpu_load15",$cpu_load15);
//mem info
$mem_info=shell_exec('cat /proc/meminfo');
$pos1 = strpos($mem_info,"MemTotal");
$pos2 = strpos($mem_info,"MemFree");
$pos3 = strpos($mem_info,"Cached");
$pos4 = strpos($mem_info,"SwapTotal");
$pos5 = strpos($mem_info,"SwapFree");
$mem_total = substr($mem_info,$pos1+11,13)*1;
$mem_free = substr($mem_info,$pos2+11,13)*1;
$mem_cached = substr($mem_info,$pos3+11,13)*1;
$mem_swap_total = substr($mem_info,$pos4+11,13)*1;
$mem_swap_free = substr($mem_info,$pos5+11,13)*1;
$mem_swap_used = $mem_swap_total - $mem_swap_free;
$mem_used = $mem_total - $mem_free - $mem_cached;
sg("mem_total",$mem_total);
sg("mem_free",$mem_free);
sg("mem_cached",$mem_cached);
sg("mem_swap_total",$mem_swap_total);
sg("mem_swap_free",$mem_swap_free);
sg("mem_swap_used",$mem_swap_used);
sg("mem_used",$mem_used);

$sd_info=shell_exec('df /');
$pos0 = strpos($sd_info,"dev");
$pos1 = strpos($sd_info," ",$pos0+5);
$pos2 = strpos($sd_info," ",$pos1+3);
$pos3 = strpos($sd_info," ",$pos2+3);
$pos4 = strpos($sd_info," ",$pos3+4);
$sd_total = substr($sd_info,$pos1,$pos2-$pos1)*1;
$sd_used = substr($sd_info,$pos2,$pos3-$pos2)*1;
$sd_free = substr($sd_info,$pos3,$pos4-$pos3)*1;
sg("sd_total",$sd_total);
sg("sd_used",$sd_used);
sg("sd_free",$sd_free);
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение immortal » Пн дек 04, 2017 7:16 pm

immortal писал(а):
AlexFox писал(а): Вот что выходит

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

> ln -s /usr/bin/nodejs /usr/bin/node
> lgtv2mqtt --help
/usr/local/lib/node_modules/lgtv2mqtt/index.js:9
let mqttConnected;
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain (module.js:442:10)
    at startup (node.js:136:18)
    at node.js:966:3
Что то есть подозрения что эта версия ноды не поддерживает команды, на сайте ноды версия 8 с чем то, может из исходников собрать?
в общем как я и говорил нужна новая версия ноды, качаем её с официального сайта, качаем исходники

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

wget https://nodejs.org/dist/v8.9.1/node-v8.9.1.tar.gz  
распаковываем

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

tar -xvf node-v8.9.1.tar.gz 
cd node-v8.9.1
./configure
make
make install
проверяем

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

node -v
v8.9.1
npm -v
5.5.1
устанавливаем lgtv2mqtt и проверяем

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

npm install -g lgtv2mqtt
lgtv2mqtt --help
Usage: lgtv2mqtt [options]

Options:
  -v, --verbosity  possible values: "error", "warn", "info", "debug"
                                                               [default: "info"]
  -n, --name       instance name. used as mqtt client id and as prefix for
                   connected topic                             [default: "lgtv"]
  -t, --tv         hostname or ip address of webos tv     [default: "lgwebostv"]
  -u, --url        mqtt broker url. See
                   https://github.com/mqttjs/MQTT.js#connect-using-a-url
                                                   [default: "mqtt://127.0.0.1"]
  -h, --help       Show help                                           [boolean]
  --version        Show version number                                 [boolean] 


всё работает
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Shmit
Сообщения: 76
Зарегистрирован: Вс дек 25, 2016 1:46 pm
Благодарил (а): 5 раз
Поблагодарили: 4 раза

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение Shmit » Пн дек 04, 2017 8:01 pm

immortal писал(а):Еще не на всех gpio работает,порт какой указан?
Проверить работоспособность портов можно собав и запустив 433Utils с этим портом
Делал,как в инструкции на 7 и 1 порт ,единственно надо ли указывать в WiringOP какой порт out и какой порт in?
Shmit
Сообщения: 76
Зарегистрирован: Вс дек 25, 2016 1:46 pm
Благодарил (а): 5 раз
Поблагодарили: 4 раза

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение Shmit » Пн дек 04, 2017 8:16 pm

immortal писал(а):
Shmit писал(а):Дело в том,что у меня установлен hostapd,а он почему-то только на 5.25 работает,на других постоянно ошибка аудентификации,но открытая сеть работает.
В 5.25 сборке 4-е ядро, это ветка разработки, быть может в 3-м стабильном ядре версия hostapd 1.0, а в dev 2.0 вот и причины работы без отваливаний, установите на 5.36 hostapd 2.0 и проблема будет снята.
У меня свисток на RTL8188EUS поэтому ставил hostapd с github Поэтому версия у меня вообще вот такая
СпойлерПоказать
hostapd v0.8.x_rtw_r7475.20130812_beta
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> and contributors
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение immortal » Пн дек 04, 2017 8:25 pm

Установка и настройка RPi Monitor на OrangePiPC

устанавливаем RPi Monitor

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

sudo apt-get update
sudo apt-get install rpimonitor
sudo /etc/init.d/rpimonitor update
/usr/share/rpimonitor/scripts/updatePackagesStatus.pl
Останавливаем RPi Monitor

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

systemctl stop rpimonitor
Делаем /etc/rpimonitor/template/Allwinner_H3.conf следующего содержания
/etc/rpimonitor/template/Allwinner_H3.confПоказать

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

########################################################################
# Extract H3 information
#  Page: 1
#  Information               Status     Statistics
#  - cpu frequency           - yes      - yes
#  - cpu load 1, 5, 15       - yes      - yes
#  - cpu scaling governor    - yes      - no
#  - cpus available          - yes      - yes
#  - dram frequency          - yes      - yes
#  - zone1/SoC temperature   - yes      - yes
########################################################################
dynamic.1.name=cpu_frequency
dynamic.1.source=/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
dynamic.1.regexp=(.*)
dynamic.1.postprocess=sprintf("%.3f", $1/1000000)
dynamic.1.rrd=GAUGE
 
dynamic.2.name=load1,load5,load15
dynamic.2.source=/proc/loadavg
dynamic.2.regexp=^(\S+)\s(\S+)\s(\S+)
dynamic.2.postprocess=
dynamic.2.rrd=GAUGE
 
dynamic.3.name=scaling_governor
dynamic.3.source=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
dynamic.3.regexp=(.*)
dynamic.3.postprocess=
dynamic.3.rrd=
 
dynamic.4.name=cpu_count
dynamic.4.source=/usr/bin/expr 1 + `/usr/bin/awk -F": " '/^processor/ {print $2}' < /proc/cpuinfo | /usr/bin/tail -n1`
dynamic.4.regexp=(.*)
dynamic.4.postprocess=
dynamic.4.rrd=GAUGE
 
dynamic.5.name=dram_frequency
dynamic.5.source=/sys/devices/platform/sunxi-ddrfreq/devfreq/sunxi-ddrfreq/cur_freq
dynamic.5.regexp=(.*)
dynamic.5.postprocess=sprintf("%.3f", $1/1000000)
dynamic.5.rrd=GAUGE
 
dynamic.6.name=soctemp
dynamic.6.source=/sys/class/thermal/thermal_zone1/temp
dynamic.6.regexp=(.*)
#dynamic.6.postprocess=sprintf("%.1f", $1/1000)
dynamic.6.postprocess=
dynamic.6.rrd=GAUGE
 
dynamic.7.name=DropThis,UserStat,NiceStat,SystemStat,IdleStat,IOWaitStat,IrqStat,SoftIrqStat
dynamic.7.source=/proc/stat
dynamic.7.regexp=^cpu(\S+)\s(\S+)\s(\S+)(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)
dynamic.7.postprocess=
dynamic.7.rrd=DERIVE
 
web.status.1.content.1.name=CPU
web.status.1.content.1.icon=cpu.png
#web.status.1.content.1.line.1="Loads: <b>" + data.load1 + "</b> [1min] - <b>" + data.load5 + "</b> [5min] - <b>" + data.load15 + "</b> [15min]"
web.status.1.content.1.line.1=JustGageBar("Load", "1min", 0, data.load1, 3, 100, 80)+" "+JustGageBar("Load", "5min", 0, data.load5, 3, 100, 80)+" "+JustGageBar("Load", "15min", 0, data.load15, 3, 100, 80)
web.status.1.content.1.line.2="CPU frequency: <b>" + data.cpu_frequency + "GHz</b> &nbsp;DRAM frequency: <b>" + data.dram_frequency + "GHz</b>"
web.status.1.content.1.line.3="Governor: <b>" + data.scaling_governor + "</b> &nbsp;Active CPU cores: <b>" + data.cpu_count + "</b>"
 
web.status.1.content.3.name=Temperature
web.status.1.content.3.icon=cpu_temp.png
web.status.1.content.3.line.1=JustGageBar("SoC", "°C",0, data.soctemp , 100,100,80,percentColors,50,70)
 
web.statistics.1.content.1.name=Load / Clockspeeds / Temperature
web.statistics.1.content.1.graph.1=load1
web.statistics.1.content.1.graph.2=load5
web.statistics.1.content.1.graph.3=load15
web.statistics.1.content.1.graph.4=cpu_frequency
web.statistics.1.content.1.graph.5=dram_frequency
web.statistics.1.content.1.graph.6=cpu_count
web.statistics.1.content.1.graph.7=soctemp
web.statistics.1.content.1.ds_graph_options.load1.label=Load 1 min
web.statistics.1.content.1.ds_graph_options.load5.label=Load 5 min
web.statistics.1.content.1.ds_graph_options.load15.label=Load 15 min
web.statistics.1.content.1.ds_graph_options.cpu_frequency.label=CPU Clock speed (GHz)
web.statistics.1.content.1.ds_graph_options.cpu_frequency.yaxis=2
web.statistics.1.content.1.ds_graph_options.dram_frequency.label=DRAM Clock speed (GHz)
web.statistics.1.content.1.ds_graph_options.dram_frequency.yaxis=2
web.statistics.1.content.1.ds_graph_options.cpu_count.label=Active CPUs
web.statistics.1.content.1.ds_graph_options.cpu_count.yaxis=2
web.statistics.1.content.1.ds_graph_options.soctemp.label=SoC temp
web.statistics.1.content.1.graph_options.y2axis={ position: "right" }
файл /etc/rpimonitor/template/sdcard.conf следующего содержания
Для систем без раздела /boot
/etc/rpimonitor/template/sdcard.confПоказать

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

########################################################################
# Extract SDCard information
#  Page: 1
#  Information               Status     Statistics
#  - root total              - yes      - yes
#  - root used               - yes      - yes
#  - boot total              - yes      - yes
#  - boot used               - yes      - yes
########################################################################

static.7.name=sdcard_root_total
static.7.source=df /
static.7.regexp=\S+\s+(\d+).*\/$
static.7.postprocess=$1/1024

static.8.name=sdcard_boot_total
static.8.source=df /boot
static.8.regexp=\S+\s+(\d+).*\/boot$
static.8.postprocess=$1/1024

dynamic.6.name=sdcard_root_used
dynamic.6.source=df /
dynamic.6.regexp=\S+\s+\d+\s+(\d+).*\/$
dynamic.6.postprocess=$1/1024
dynamic.6.rrd=GAUGE

dynamic.7.name=sdcard_boot_used
dynamic.7.source=df /boot
dynamic.7.regexp=\S+\s+\d+\s+(\d+).*\/boot$
dynamic.7.postprocess=$1/1024
dynamic.7.rrd=GAUGE

web.status.1.content.7.name=SD card
web.status.1.content.7.icon=sd.png
#web.status.1.content.7.line.1="<b>/boot</b> Used: <b>"+KMG(data.sdcard_boot_used,'M')+"</b> (<b>"+Percent(data.sdcard_boot_used,data.sdcard_boot_total,'M')+"</b>) Free: <b>"+KMG(data.sdcard_boot_total-data.sdcard_boot_used,'M')+ "</b> Total: <b>"+ KMG(data.sdcard_boot_total,'M') +"</b>"
#web.status.1.content.7.line.2=ProgressBar(data.sdcard_boot_used,data.sdcard_boot_total,60,80)
web.status.1.content.7.line.1="<b>/</b> Used: <b>"+KMG(data.sdcard_root_used,'M') + "</b> (<b>" + Percent(data.sdcard_root_used,data.sdcard_root_total,'M')+"</b>) Free: <b>"+KMG(data.sdcard_root_total-data.sdcard_root_used,'M')+ "</b>  Total: <b>"+ KMG(data.sdcard_root_total,'M') + "</b>"
web.status.1.content.7.line.2=ProgressBar(data.sdcard_root_used,data.sdcard_root_total,60,80)

web.statistics.1.content.3.name=Disks - boot
web.statistics.1.content.3.graph.1=sdcard_boot_total
web.statistics.1.content.3.graph.2=sdcard_boot_used
web.statistics.1.content.3.ds_graph_options.sdcard_boot_total.label=Size of /boot (MB)
web.statistics.1.content.3.ds_graph_options.sdcard_boot_total.color="#FF7777"
web.statistics.1.content.3.ds_graph_options.sdcard_boot_used.label=Used on /boot (MB)
web.statistics.1.content.3.ds_graph_options.sdcard_boot_used.lines={ fill: true }
web.statistics.1.content.3.ds_graph_options.sdcard_boot_used.color="#7777FF"

web.statistics.1.content.4.name=Disks - root
web.statistics.1.content.4.graph.1=sdcard_root_total
web.statistics.1.content.4.graph.2=sdcard_root_used
web.statistics.1.content.4.ds_graph_options.sdcard_root_total.label=Size of / (MB)
web.statistics.1.content.4.ds_graph_options.sdcard_root_total.color="#FF7777"
web.statistics.1.content.4.ds_graph_options.sdcard_root_used.label=Used on / (MB)
web.statistics.1.content.4.ds_graph_options.sdcard_root_used.lines={ fill: true }
web.statistics.1.content.4.ds_graph_options.sdcard_root_used.color="#7777FF"

 
для систем с разделом /boot
/etc/rpimonitor/template/sdcard.confПоказать

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

########################################################################
# Extract SDCard information
#  Page: 1
#  Information               Status     Statistics
#  - root total              - yes      - yes
#  - root used               - yes      - yes
#  - boot total              - yes      - yes
#  - boot used               - yes      - yes
########################################################################

static.7.name=sdcard_root_total
static.7.source=df /
static.7.regexp=\S+\s+(\d+).*\/$
static.7.postprocess=$1/1024

static.8.name=sdcard_boot_total
static.8.source=df /boot
static.8.regexp=\S+\s+(\d+).*\/boot$
static.8.postprocess=$1/1024

dynamic.6.name=sdcard_root_used
dynamic.6.source=df /
dynamic.6.regexp=\S+\s+\d+\s+(\d+).*\/$
dynamic.6.postprocess=$1/1024
dynamic.6.rrd=GAUGE

dynamic.7.name=sdcard_boot_used
dynamic.7.source=df /boot
dynamic.7.regexp=\S+\s+\d+\s+(\d+).*\/boot$
dynamic.7.postprocess=$1/1024
dynamic.7.rrd=GAUGE

web.status.1.content.7.name=SD card
web.status.1.content.7.icon=sd.png
web.status.1.content.7.line.1="<b>/boot</b> Used: <b>"+KMG(data.sdcard_boot_used,'M')+"</b> (<b>"+Percent(data.sdcard_boot_used,data.sdcard_boot_total,'M')+"</b>) Free: <b>"+KMG(data.sdcard_boot_total-data.sdcard_boot_used,'M')+ "</b> Total: <b>"+ KMG(data.sdcard_boot_total,'M') +"</b>"
web.status.1.content.7.line.2=ProgressBar(data.sdcard_boot_used,data.sdcard_boot_total,60,80)
web.status.1.content.7.line.3="<b>/</b> Used: <b>"+KMG(data.sdcard_root_used,'M') + "</b> (<b>" + Percent(data.sdcard_root_used,data.sdcard_root_total,'M')+"</b>) Free: <b>"+KMG(data.sdcard_root_total-data.sdcard_root_used,'M')+ "</b>  Total: <b>"+ KMG(data.sdcard_root_total,'M') + "</b>"
web.status.1.content.7.line.4=ProgressBar(data.sdcard_root_used,data.sdcard_root_total,60,80)

web.statistics.1.content.3.name=Disks - boot
web.statistics.1.content.3.graph.1=sdcard_boot_total
web.statistics.1.content.3.graph.2=sdcard_boot_used
web.statistics.1.content.3.ds_graph_options.sdcard_boot_total.label=Size of /boot (MB)
web.statistics.1.content.3.ds_graph_options.sdcard_boot_total.color="#FF7777"
web.statistics.1.content.3.ds_graph_options.sdcard_boot_used.label=Used on /boot (MB)
web.statistics.1.content.3.ds_graph_options.sdcard_boot_used.lines={ fill: true }
web.statistics.1.content.3.ds_graph_options.sdcard_boot_used.color="#7777FF"

web.statistics.1.content.4.name=Disks - root
web.statistics.1.content.4.graph.1=sdcard_root_total
web.statistics.1.content.4.graph.2=sdcard_root_used
web.statistics.1.content.4.ds_graph_options.sdcard_root_total.label=Size of / (MB)
web.statistics.1.content.4.ds_graph_options.sdcard_root_total.color="#FF7777"
web.statistics.1.content.4.ds_graph_options.sdcard_root_used.label=Used on / (MB)
web.statistics.1.content.4.ds_graph_options.sdcard_root_used.lines={ fill: true }
web.statistics.1.content.4.ds_graph_options.sdcard_root_used.color="#7777FF"

 

файл /etc/rpimonitor/template/memory.conf следующего содержания
/etc/rpimonitor/template/memory.confПоказать

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

########################################################################
# Extract Memory information
#  Page: 1
#  Information               Status     Statistics
#  - memory total             - yes      - yes
#  - memory free              - yes      - yes
#  - memory available         - yes      - yes
########################################################################
static.5.name=memory_total
static.5.source=/proc/meminfo
static.5.regexp=MemTotal:\s+(\d+)
static.5.postprocess=$1/1024

dynamic.9.name=memory_free
dynamic.9.source=/proc/meminfo
dynamic.9.regexp=MemFree:\s+(\d+)
dynamic.9.postprocess=$1/1024
dynamic.9.rrd=GAUGE

dynamic.15.name=memory_available
dynamic.15.source=/proc/meminfo
dynamic.15.regexp=^Cached:\s+(\d+)
dynamic.15.postprocess=$1/1024
dynamic.15.rrd=GAUGE

web.status.1.content.5.name=Memory
web.status.1.content.5.icon=memory.png
web.status.1.content.5.line.1="Used: <b>" + KMG(data.memory_total-data.memory_available-data.memory_free,'M') + "</b> (<b>" + Percent(data.memory_total-data.memory_available-data.memory_free,data.memory_total,'M') + "</b>) Available: <b>" + KMG(data.memory_available+data.memory_free,'M') + "</b> Total: <b>" + KMG(data.memory_total,'M') + "</b>"
web.status.1.content.5.line.2=ProgressBar(data.memory_total-data.memory_available-data.memory_free,data.memory_total)

web.statistics.1.content.6.name=Memory
web.statistics.1.content.6.graph.1=memory_total
web.statistics.1.content.6.graph.2=memory_free
web.statistics.1.content.6.graph.3=memory_available
web.statistics.1.content.6.ds_graph_options.memory_total.label=Total Memory(MB)
web.statistics.1.content.6.ds_graph_options.memory_free.label=Free Memory (MB)
web.statistics.1.content.6.ds_graph_options.memory_free.color="#7777FF"
web.statistics.1.content.6.ds_graph_options.memory_available.label=Available Memory (MB)
web.statistics.1.content.6.ds_graph_options.memory_available.color="#77FF77"

 
файл /etc/rpimonitor/template/network.conf следующего содержания
/etc/rpimonitor/template/network.confПоказать

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

########################################################################
# Extract Network information
#  Page: 1
#  Information               Status     Statistics
#  - recieved                - yes      - yes
#  - send                    - yes      - yes
#
# Note: Replace 'eth0' in the configuration bellow by the name of your
#       network interface and uncomment the line according to your needs
########################################################################

dynamic.10.name=net_received
dynamic.10.source=/sys/class/net/eth0/statistics/rx_bytes
dynamic.10.regexp=(.*)
dynamic.10.postprocess=$1*-1
dynamic.10.rrd=DERIVE
dynamic.10.max=0

dynamic.11.name=net_send
dynamic.11.source=/sys/class/net/eth0/statistics/tx_bytes
dynamic.11.regexp=(.*)
dynamic.11.postprocess=
dynamic.11.rrd=DERIVE
dynamic.11.min=0

web.status.1.content.8.name=Network
web.status.1.content.8.icon=network.png
#web.status.1.content.8.line.1="To activate network monitoring, edit and customize <font color='#AA0000'><b>network.conf</b></font>"
#web.status.1.content.8.line.2="Help is available in man pages:"
#web.status.1.content.8.line.3="<font color='#AA0000'><b>man rpimonitord</b></font> or <font color='#AA0000'><b>man rpimonitord.conf</b></font>"
web.status.1.content.8.line.1="Ethernet Sent: <b>"+KMG(data.net_send)+"<i class='icon-arrow-up'></i></b> Received: <b>"+KMG(Math.abs(data.net_received)) + "<i class='icon-arrow-down'></i></b>"

web.statistics.1.content.2.name=Network
web.statistics.1.content.2.graph.1=net_send
web.statistics.1.content.2.graph.2=net_received
web.statistics.1.content.2.graph_options.yaxis={ tickFormatter: function (v) { if (Math.abs(v) > 1048576) return (Math.round(v*10/1024/1024)/10) + " MiB/s" ; if (Math.abs(v) > 1024) return (Math.round(v*10/1024)/10) + " KiB/s" ; else re$
web.statistics.1.content.2.ds_graph_options.net_send.label=Upload bandwidth (bytes)
web.statistics.1.content.2.ds_graph_options.net_send.lines={ fill: true }
web.statistics.1.content.2.ds_graph_options.net_send.color="#FF7777"
web.statistics.1.content.2.ds_graph_options.net_received.label=Download bandwidth (bytes)
web.statistics.1.content.2.ds_graph_options.net_received.lines={ fill: true }
web.statistics.1.content.2.7ds_graph_options.net_received.color="#77FF77"
файл /etc/rpimonitor/template/OrangePi_H3.conf следующего содержания
/etc/rpimonitor/template/OrangePi_H3.confПоказать

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

web.page.icon='img/logo.png'
web.page.menutitle='OPi-Monitor  <sub>('+data.hostname+')</sub>'
web.page.pagetitle='OPi-Monitor ('+data.hostname+')'
web.status.1.name=Orange Pi
web.statistics.1.name=Orange Pi
include=/etc/rpimonitor/template/version.conf
include=/etc/rpimonitor/template/uptime.conf
include=/etc/rpimonitor/template/Allwinner_H3.conf
include=/etc/rpimonitor/template/memory.conf
include=/etc/rpimonitor/template/swap.conf
include=/etc/rpimonitor/template/sdcard.conf
include=/etc/rpimonitor/template/network.conf
делаем симлинк на конфиг

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

ln -sf /etc/rpimonitor/template/OrangePi_H3.conf /etc/rpimonitor/data.conf
запускаем RPi Monitor

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

systemctl start rpimonitor
заходим на страницу RPi Monitor http://адрес_апельсинки:8888
СпойлерПоказать
Выделение_069.png
Выделение_069.png (69.75 КБ) 5315 просмотров
из МД можно получить данные с помощью json
http://адрес_апельсинки:8888/dynamic.json
http://адрес_апельсинки:8888/static.json
За это сообщение автора immortal поблагодарил:
VAndrey (Пн дек 04, 2017 11:07 pm)
Рейтинг: 1.23%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение immortal » Пн дек 04, 2017 10:51 pm

VAndrey писал(а):immortal, не знаю, по теме ли... подскажи, как вытащить в мажор параметры работы апельсина? загрузку проца и т.д.
Устанавливаем RPi Monitor по инструкции выше
добавляем домашнюю страницу, тип url и прописываем ссылку для RPi Monitor
СпойлерПоказать
Выделение_070.png
Выделение_070.png (53.31 КБ) 5314 просмотров
Выделение_071.png
Выделение_071.png (112.82 КБ) 5314 просмотров
За это сообщение автора immortal поблагодарил:
VAndrey (Пн дек 04, 2017 11:11 pm)
Рейтинг: 1.23%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Виталий
Сообщения: 12
Зарегистрирован: Пт мар 18, 2016 1:34 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение Виталий » Вт дек 05, 2017 4:18 pm

Подскажите пожалуйста установил Образ ARMBIAN 5.31 stable Ubuntu 16.04.3 LTS 3.4.113-sun8i от 12.11.2017.Запустил все работает отлично.Потом на компе сделал резервную копию и закинул orange pi pc+ там востановил и заменил папку templates_alt.После первой перезагрузки в orange pi открывается все отлично работает , а когда выключаю кабель питания и снова включаю то востонавливается прежнее меню.Как можно это исправить.
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: Образ для OrangePi PC,OrangePi Plus,OrangePi 2,OrangePi

Сообщение immortal » Вт дек 05, 2017 6:26 pm

Виталий писал(а):Подскажите пожалуйста установил Образ ARMBIAN 5.31 stable Ubuntu 16.04.3 LTS 3.4.113-sun8i от 12.11.2017.Запустил все работает отлично.Потом на компе сделал резервную копию и закинул orange pi pc+ там востановил и заменил папку templates_alt.После первой перезагрузки в orange pi открывается все отлично работает , а когда выключаю кабель питания и снова включаю то востонавливается прежнее меню.Как можно это исправить.
попробуйте файл cycle_db_save.php заменить на этот https://github.com/sergejey/majordomo/b ... b_save.php
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Ответить