Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Чтение аналоговых датчиков с Raspberry Pi и Zabbix: пошаговое руководство

Чтение аналоговых датчиков с Raspberry Pi и Zabbix

Хотя Raspberry Pi не имеет нативных аналоговых входов, 10-битный 8-канальный АЦП MCP3008 делает добавление аналоговых возможностей тривиальным. Он вставляется прямо в GPIO-разъем Pi через шину SPI и не требует дополнительных компонентов.

Это руководство проведет вас через подключение MCP3008 к Pi, чтение светозависимого резистора (LDR) с Python и передачу данных в Zabbix для мониторинга.

Оборудование:

Понимание шины SPI

MCP3008 передает 10-битное цифровое значение по интерфейсу SPI, полнодуплексному синхронному последовательному протоколу, работающему в режиме мастер/слейв. Несколько слейвов могут делить шину, каждый выбирается своей линией CS.

На Raspberry Pi SPI доступен через 4-пиновый заголовок (GPIO8, 9, 10, 11). Для включения драйвера аппаратного SPI отредактируйте черный список:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Найдите строку, содержащую spi-bcm2708, и добавьте префикс # для комментирования. Сохраните и перезагрузитесь:

sudo reboot

После перезагрузки проверьте, что драйвер загружен:

lsmod | grep spi_bcm2708

Вы должны увидеть spi_bcm2708 в списке.

Установка Python-библиотеки SPI

Для доступа к SPI-шине из Python мы используем py-spidev. Сначала установите заголовки разработки для Python:

sudo apt-get install python-dev

Затем скачайте и установите библиотеку:

mkdir py-spidev
cd py-spidev
wget https://raw.github.com/doceme/py-spidev/master/setup.py
wget https://raw.github.com/doceme/py-spidev/master/spidev_module.c
sudo python setup.py install

Подключение MCP3008 к Raspberry Pi

MCP3008 Pin Raspberry Pi Pin
VDD 3.3 V
VREF 3.3 V
AGND GND
CLK GPIO11 (P1‑23)
DOUT GPIO9 (P1‑21)
DIN GPIO10 (P1‑19)
CS GPIO8 (P1‑24)
DGND GND

Восемь пинов CH0‑CH7 на MCP3008 служат аналоговыми входами. В этом примере мы подключим один из них к LDR.

Использование светозависимого резистора (LDR)

Мы использовали LDR EG & G Vactec, VT43, CdS, 8 Ω – 300 kΩ. В нормальном освещении его сопротивление примерно 10 кОм; в темноте оно поднимается выше 2 МОм.

Когда свет падает на LDR, его сопротивление падает, тянучи напряжение на входе MCP3008 к 0 В. В темноте сопротивление растет, толкая напряжение к опорному 3,3 В.

Любой датчик, меняющий сопротивление с физической величиной, может быть подключен подобным образом.

Интерпретация выхода АЦП

MCP3008 выдает 10-битное число от 0 до 1023, где 0 соответствует 0 В, а 1023 — 3,3 В. Для LDR это транслируется в диапазон интенсивности света примерно 0 – 10 000 люкс.

Эти сырые значения можно отправлять в Zabbix через Python-скрипт Raspberry Pi, позволяя создавать дашборды, устанавливать пороги и запускать оповещения.

Для более подробной информации: Analog Sensors Reading with Raspberry Pi and Zabbix Supervisor

Производственный процесс

  1. Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
  2. Эффективный мониторинг температуры серверных с Raspberry Pi и Nagios
  3. Как считывать температуру с DS18B20 на Raspberry Pi 2
  4. Домашний монитор температуры и влажности на Raspberry Pi с веб-дашбордом — удаленный трекинг в реальном времени
  5. Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
  6. Домашний энергетический центр: мониторинг солнечных панелей, тепловых коллекторов и температуры комнат на Ra…
  7. Точный мониторинг температуры в серверной на Raspberry Pi
  8. Создание умного домашнего контроллера 433 МГц с Sensorflare и Raspberry Pi
  9. Измерение аналоговых датчиков на Raspberry Pi с одним GPIO-пином
  10. Чтение аналоговых датчиков на Raspberry Pi без встроенного АЦП