Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
Следующая версия
Следующая версия справа и слева
|
temp_mon [2014/02/06 15:06] metallic [Снятие показаний] |
temp_mon [2014/02/06 16:44] metallic |
* [[http://amperka.ru/product/temperature-sensor-ds18b20|Температурные датчики DS18B20]] (кол-во на одной шине ограничено 128 штуками, если не ошибаюсь) | * [[http://amperka.ru/product/temperature-sensor-ds18b20|Температурные датчики DS18B20]] (кол-во на одной шине ограничено 128 штуками, если не ошибаюсь) |
* [[http://amperka.ru/collection/display/product/text-lcd-20x4|Текстовый экран 20×4]] (опционально) | * [[http://amperka.ru/collection/display/product/text-lcd-20x4|Текстовый экран 20×4]] (опционально) |
| * [[http://amperka.ru/collection/power-sources/product/usb-power-plug|Импульсный блок питания с USB-разъёмом (5 В, 1000 мА)]] |
* Резистор 4.7кОм | * Резистор 4.7кОм |
* Развернутая система мониторинга [[https://www.zabbix.com|Zabbix]] | * Развернутая система мониторинга [[https://www.zabbix.com|Zabbix]] |
| |
| |
| ===== Zabbix-агент ===== |
| |
| К этому моменту у нас уже показания с датчиков снимаются, на дисплей выводятся, осталось настроить zabbix. Подходящих бинарников для Raspberry Pi нет, поэтому придется собрать из исходников. Качаем [[http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.1/zabbix-2.2.1.tar.gz/download|сорцы]], распаковываем, компилируем и устанавливаем: |
| |
| # ./configure --prefix=/usr/local/zabbix_agent --enable-agent |
| # make install |
| # useradd zabbix |
| # mkdir /var/run/zabbix |
| # mkdir /var/log/zabbix |
| # chown zabbix /var/run/zabbix |
| # chown zabbix /var/log/zabbix |
| |
| Если все прошло успешно, редактируем конфигурационный файл /usr/local/zabbix_agent/etc/zabbix_agentd.conf и приводим его к такому виду: |
| |
| PidFile=/var/run/zabbix/zabbix_agentd.pid |
| LogFile=/var/log/zabbix/zabbix_agentd.log |
| LogFileSize=5 |
| DebugLevel=0 |
| Server=address.of.zabbix.server |
| |
| ListenIP=X.X.X.X |
| Hostname=rfarm-raspberrypi |
| |
| ServerActive=address.of.zabbix.server |
| HostnameItem=system.hostname |
| |
| Timeout=10 |
| |
| UserParameter=custom.temp.rfarm.sensor1,/bin/cat /mnt/tmpfs/0000046022cb |
| UserParameter=custom.temp.rfarm.sensor2,/bin/cat /mnt/tmpfs/0000045ef9b4 |
| UserParameter=custom.temp.outside.sensor1,/bin/cat /mnt/tmpfs/0000045f1c62 |
| |
| Тут главное указать адрес вашего zabbix-сервера в параметрах Server и ServerActive, IP-адрес на котором агент будет ждать подключения ListenIP и задать имя агента Hostname. И самое главное - задать параметры пользователя UserParameter с помощью которых агент будет считывать показания. |
| |
| Теперь протестируем наши параметры, что они корректно считываются: |
| |
| # /usr/local/zabbix_agent/sbin/zabbix_agentd -t custom.temp.rfarm.sensor1 |
| custom.temp.rfarm.sensor1 [t|17.812] |
| |
| # /usr/local/zabbix_agent/sbin/zabbix_agentd -t custom.temp.rfarm.sensor2 |
| custom.temp.rfarm.sensor2 [t|11.812] |
| |
| # /usr/local/zabbix_agent/sbin/zabbix_agentd -t custom.temp.outside.sensor1 |
| custom.temp.outside.sensor1 [t|-5.125] |
| |
| Все нормально, осталось добавить агента в автозагрузку, проще всего добавить в /etc/rc.local такую строку: |
| |
| /usr/local/zabbix_agent/sbin/zabbix_agentd -c /usr/local/zabbix_agent/etc/zabbix_agentd.conf |
| |
| |
| ===== Zabbix-сервер ===== |
| |
| Ну и осталось создать хост и прописать для него итемы и графики в веб-интерфейсе. |
| |
| Создаем хост(наш raspberry pi): |
| {{ :create_host1.png?direct&300 |}} |
| |
| |
| По желанию добавляем ему шаблон "zabbix-агент", чтобы отслеживать состояние хоста: |
| {{ :create_host2.png?direct&300 |}} |
| |
| |
| На каждый датчик создаем свой item(элемент, который будет коллекционировать данные), для каждого датчика у нас заранее на стороне zabbix-агента прописаны наши собственные параметры, ниже пример создания итема: |
| {{ :create_item1.png?direct&300 |}} |
| |
| |
| В итоге у меня получилось три итема, по одному на каждый датчик: |
| {{ :items.png?direct&300 |}} |
| |
| |
| И в конце создаем любое кол-во графиков, какое нужно, хоть по отельному на каждый итем, хоть один для всех сразу. На примере ниже создается один график, на котором будут рисоваться показания всех датчиков: |
| {{ :graph.png?direct&300 |}} |
| |
| |
| На этом все. |
| |
| |
| ===== Заключение ===== |
| |
| В итоге получили прибор, который в режиме реального времени выводит информацию по температуре с датчиков на дисплей, а также коллекционируется статистика по температуре и строятся графики с помощью zabbix. Ниже можно поглядеть как это выглядит в жизне. |
| |
| {{:temp_mon1.jpg?direct&300|}} {{:temp_mon2.jpg?direct&300|}} {{:temp_mon3.jpg?direct&300|}} {{:temp_mon4.png?direct&300|}} |
| |
| |
| ===== Список использованной литературы ===== |
| |
| - [[http://files.amperka.ru/datasheets/MT-16S2H.pdf|Даташит на дисплей]] |
| - [[http://shabpoint.blogspot.ru/2013/09/lcd-raspberry-pi.html|Подключение LCD дисплея к Raspberry Pi]] |
| - [[http://wiki.amperka.ru/схемы-подключения:подключение-текстового-экрана|Подключение текстового экрана к Arduino]] |
| - [[http://wiringpi.com/download-and-install/|GPIO Interface library for the Raspberry Pi]] |
| - [[http://www.raspberrypi-spy.co.uk/2013/03/raspberry-pi-1-wire-digital-thermometer-sensor/|Raspberry Pi 1- Wire Digital Thermometer Sensor]] |
| - [[http://habrahabr.ru/post/204478/|Мониторинг температуры гермозоны с помощью 1-wire датчиков и Zabbix 2]] |
| - [[https://www.zabbix.com/wiki/howto/install/ubuntu/ubuntuinstall|Installing Zabbix on Ubuntu from source files]] |
| - [[http://forum.cxem.net/index.php?showtopic=114312&#entry1361054|Faq Raspberry Pi - Миникомпьютер С Linux За 25$/35$]] |