Lectura de sensores analógicos con Raspberry Pi y Zabbix Supervisor
Lectura de sensores analógicos con Raspberry Pi como interfaz
La Raspberry Pi no tiene entradas analógicas integradas, lo que significa que es un poco complicado usar muchos de los sensores disponibles. Necesitamos una interfaz A / D fácil de configurar en el RPi y el MCP3008 es la respuesta.
El MCP3008 es un convertidor analógico-digital (ADC) de 10 bits y 8 canales. Es económico, fácil de conectar y no requiere ningún componente adicional. Utiliza el protocolo de bus SPI que es compatible con el encabezado GPIO de Pi.
Este artículo explica cómo usar un dispositivo MCP3008 para proporcionar 8 entradas analógicas que puede usar con una variedad de sensores. En el circuito de ejemplo a continuación, uso un MCP3008 para leer un sensor de luz y controlar / supervisar la luz dentro de Zabbix.
El hardware:
- Raspberry Pi
- MCP3008 ADC de 8 canales
- Resistencia dependiente de la luz (LDR)
- Resistencia de 10 Kohm
- Protoboard
- Algo de cableado
SPI Bus
El MCP3008 lee el valor analógico y da un número de 10 bits que es transmitido por el bus SPI.
El bus de interfaz periférica serial o bus SPI es un estándar de enlace de datos serial síncrono, que opera en modo dúplex completo.
Los dispositivos se comunican en modo maestro / esclavo donde el dispositivo maestro inicia la trama de datos. Se permiten varios dispositivos esclavos con líneas de selección esclavas individuales.
A veces, SPI se denomina bus en serie de cuatro cables, en contraste con los buses en serie de tres, dos y un cable. SPI a menudo se conoce como SSI (Interfaz serial síncrona).
Para habilitar la SPI de hardware en el RPi, necesitamos realizar una modificación en uno de los archivos del sistema:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Agregue un carácter "#" delante de la línea spi-bcm2708. Use CTRL-X, luego Y, luego Regresar para guardar el archivo y salir. Reinicie usando lo siguiente:
reiniciar sudo
Para comprobar que el cambio ha funcionado, ejecute el siguiente comando:
lsmod
Debería ver "spi_bcm2708" en la lista de resultados.
Instalar Python SPI Wrapper
En este proyecto vamos a utilizar Python y para leer datos del bus SPI en Python podemos instalar una biblioteca llamada "py-spidev". Para instalarlo, primero debemos instalar "python-dev":
sudo apt-get install python-dev
Luego, para terminar, podemos descargar "py-spidev" y compilarlo listo para usar:
mkdir py-spidevcd py-spidevwget https://raw.github.com/doceme/py-spidev/master/setup.pywget https://raw.github.com/doceme/py-spidev/master/spidev_module .csudo python setup.py install
MCP3008 | RPi |
---|---|
VDD | 3,3 V |
VREF | 3,3 V |
AGND | TIERRA |
CLK | GPIO11 (P1-23) |
DOUT | GPIO9 (P1-21) |
DIN | GPIO10 (P1-19) |
CS | GPIO8 (P1-24) |
DGND | TIERRA |
Los pines CH0-CH7 son las 8 entradas analógicas.
Resistencia dependiente de la luz
Elegí un LDR EG &G Vactec, VT43, CdS, 8 Ω a 300 KΩ . En condiciones de iluminación normal, su resistencia es de aproximadamente 10Kohm mientras que en la oscuridad aumenta a más de 2Mohm.
Cuando hay mucha luz, el LDR tiene una resistencia baja, lo que hace que el voltaje de salida caiga hacia 0V.
Cuando está oscuro, la resistencia LDR aumenta, lo que hace que el voltaje de salida aumente hacia 3.3V. En este proyecto se ha utilizado un LDR pero cualquier dispositivo que cambie su resistencia dependiendo de algún fenómeno se puede utilizar y cablear en el IC a controlar.
Leer los datos
El ADC es de 10 bits, por lo que puede informar un rango de números de 0 a 1023 (2 elevado a 10). Una lectura de 0 significa que la entrada es 0V y una lectura de 1023 significa que la entrada es 3.3V. Nuestro rango de 0-3,3 V equivaldría a un rango de 0-10000 Lux.
Para más detalles:Lectura de sensores analógicos con Raspberry Pi y Zabbix Supervisor
Proceso de manufactura
- Mide temperaturas con un sensor DS18B20 de 1 cable y Raspberry Pi
- Monitoreo de la temperatura ambiente con una Raspberry Pi y Nagios
- Leer temperatura con DS18B20 | Raspberry Pi 2
- Monitor de temperatura y humedad en el hogar (habitación) con gráfico basado en web - Raspberry Pi
- Medición de temperatura con RASPBERRY PI
- Monitoreo de la temperatura ambiente con Moteino's y Raspberry Pi
- Supervisión de la temperatura con Raspberry Pi
- 433MHz Smart Home Controller con Sensorflare y RaspberryPi
- Lectura de sensores analógicos con un pin GPIO
- Sensores analógicos sin entradas analógicas en la Raspberry Pi
- Cree un detector de incendios en minutos con Samsung SAMIIO, Arduino UNO y Raspberry Pi