хочу поделиться своими наработками в области графического отображения
информации с помощью связки rrdtool + drraw (perl)
Все нижеследующее было установлено, подправлено и протестировано в
Linux raspberrypi 4.1.7-v7+ #817 SMP PREEMPT Sat Sep 19 15:32:00 BST 2015 armv7l GNU/Linux
Подготовка:
Код: Выделить всё
pi@raspberrypi ~ $ sudo apt-get install rrdtool
pi@raspberrypi ~ $ sudo apt-get install librrds-perl
pi@raspberrypi ~ $ sudo cpan App::cpanminus
pi@raspberrypi ~ $ sudo cpanm CGI
pi@raspberrypi ~ $ sudo cpanm CGI::Carp
pi@raspberrypi ~ $ sudo cpanm Config
pi@raspberrypi ~ $ sudo cpanm Fcntl
pi@raspberrypi ~ $ sudo cpanm File::Basename
pi@raspberrypi ~ $ sudo cpanm File::Find
pi@raspberrypi ~ $ sudo cpanm Digest::MD5
Код: Выделить всё
sudo perl -MRRDs -le 'print q(ok!)'
Код: Выделить всё
pi@raspberrypi ~ $ ls -l /var/drraw/
total 12
drwxr-xr-x 2 www-data www-data 4096 Nov 8 15:40 data
drwxr-xr-x 2 www-data www-data 4096 Nov 8 14:34 rrd
drwxr-xr-x 2 www-data www-data 4096 Nov 8 15:40 tmp
Код: Выделить всё
pi@raspberrypi ~ $ tar xzvf drraw_rpi.tgz
pi@raspberrypi ~ $ ls -l /usr/lib/cgi-bin/
total 7592
-rw-r--r-- 1 pi pi 12286 Nov 8 15:37 drraw.conf
-rwxr-xr-x 1 pi pi 198475 Nov 7 17:51 drraw.pl
Импортировать класс и три объекта-графика из файла rrdgraph_class.zip
Создание/обновление файлов rrd-баз осуществляется посредством вызова вида:
Код: Выделить всё
callMethod("0222.update",array("value"=>$this->getProperty('temp')));
Файл rrd базы создается при первом вызове метода update автоматически
Вызов интерфейса работы с графиками
http://<ваш_IP_адрес>/cgi-bin/drraw.pl
При желании увидеть графики сразу, можно распактовать архив drraw_samples.tgz
Код: Выделить всё
pi@raspberrypi ~/drraw $ ls -l /var/drraw/
total 12
drwxr-xr-x 2 www-data www-data 4096 Nov 8 16:25 data
drwxr-xr-x 2 www-data www-data 4096 Nov 8 14:34 rrd
drwxr-xr-x 2 www-data www-data 4096 Nov 8 16:33 tmp