Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Analoge Sensoren mit Raspberry Pi und Zabbix auslesen – Schritt-für-Schritt-Anleitung

Analoge Sensoren mit Raspberry Pi und Zabbix auslesen

Obwohl der Raspberry Pi keine nativen Analogeingänge besitzt, macht der MCP3008 10-Bit, 8-Kanal ADC das Hinzufügen analoger Fähigkeiten trivial. Er steckt direkt in den GPIO-Header des Pi via SPI-Bus und benötigt keine zusätzlichen Bauteile.

Dieses Tutorial führt Sie durch das Verdrahten eines MCP3008 am Pi, das Auslesen eines lichtabhängigen Widerstands (LDR) mit Python und das Einspeisen der Daten in Zabbix zum Monitoring.

SPI-Bus verstehen

Der MCP3008 überträgt einen 10-Bit-Digitalwert über das SPI-Interface, ein voll-duplexes, synchrones Serialprotokoll im Master/Slave-Modus. Mehrere Slaves können den Bus teilen, jeder über seine eigene CS-Leitung selektiert.

Auf dem Raspberry Pi ist SPI über den 4-Pin-Header (GPIO8, 9, 10, 11) verfügbar. Um den Hardware-SPI-Treiber zu aktivieren, die Blacklist-Datei bearbeiten:

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

Die Zeile mit spi-bcm2708 finden und mit # auskommentieren. Speichern und neu starten:

sudo reboot

Nach Reboot prüfen, ob Treiber geladen ist:

lsmod | grep spi_bcm2708

Es sollte spi_bcm2708 gelistet sein.

Python SPI-Bibliothek installieren

Für SPI-Zugriff aus Python nutzen wir py-spidev. Zuerst Python-Entwicklungsheader installieren:

sudo apt-get install python-dev

Dann Bibliothek herunterladen und installieren:

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 an Raspberry Pi anschließen

MCP3008 PinRaspberry Pi Pin
VDD3,3 V
VREF3,3 V
AGNDGND
CLKGPIO11 (P1‑23)
DOUTGPIO9 (P1‑21)
DINGPIO10 (P1‑19)
CSGPIO8 (P1‑24)
DGNDGND

Die acht CH0‑CH7 Pins am MCP3008 dienen als Analogeingänge. In diesem Beispiel verbinden wir einen davon mit einem LDR.

Lichtabhängigen Widerstand (LDR) nutzen

Wir verwendeten einen LDR EG & G Vactec, VT43, CdS, 8 Ω – 300 kΩ. Bei normaler Beleuchtung beträgt sein Widerstand ca. 10 kΩ; in Dunkelheit steigt er über 2 MΩ.

Fällt Licht auf den LDR, sinkt sein Widerstand und zieht die Spannung am MCP3008-Eingang Richtung 0 V. Im Dunkeln steigt der Widerstand und drückt die Spannung Richtung 3,3 V Referenz.

Jeder Sensor, der seinen Widerstand mit einer physikalischen Größe ändert, lässt sich so verdrahten.

ADC-Ausgabe interpretieren

Der MCP3008 liefert eine 10-Bit-Zahl von 0 bis 1023, wobei 0 für 0 V und 1023 für 3,3 V steht. Für einen LDR entspricht dies einem Lichtintensitätsbereich von ca. 0 – 10.000 Lux.

Diese Rohwerte können via Python-Skript des Raspberry Pi an Zabbix gesendet werden, um Dashboards zu erstellen, Schwellenwerte zu setzen und Alarme auszulösen.

Für weitere Details: Analog Sensors Reading with Raspberry Pi and Zabbix Supervisor

Herstellungsprozess

  1. Mehrere DS18B20 1-Wire Sensoren an Raspberry Pi anschließen für präzises Temperaturmonitoring
  2. Raumeffizient Temperaturen mit Raspberry Pi und Nagios überwachen
  3. Temperatur mit DS18B20 am Raspberry Pi 2 auslesen
  4. Heim-Temperatur- & Feuchtigkeitsmonitor mit Raspberry Pi & Web-Dashboard – Echtzeit-Fernüberwachung
  5. Temperaturmessung mit Maxim 1-Wire Sensoren und DS2482 I2C-Bridge am Raspberry Pi
  6. Home Energy Centre: Solar PV, Thermische Panels & Raumtemperaturen mit Raspberry Pi & Moteino überwachen
  7. Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
  8. 433 MHz Smart-Home-Controller mit Sensorflare und Raspberry Pi selbst bauen
  9. Analoge Sensoren am Raspberry Pi mit nur einem GPIO-Pin auslesen
  10. Analoge Sensoren am Raspberry Pi ohne nativen ADC auslesen – Step-Response Methode