Sensores analógicos lendo com Raspberry Pi e Zabbix Supervisor
Leitura de sensores analógicos com Raspberry Pi como interface
O Raspberry Pi não tem entradas analógicas integradas, o que significa que é um pouco complicado usar muitos dos sensores disponíveis. Precisamos de uma interface A / D fácil de configurar no RPi e o MCP3008 é a resposta.
O MCP3008 é um conversor analógico-digital (ADC) de 10 bits e 8 canais. É barato, fácil de conectar e não requer nenhum componente adicional. Ele usa o protocolo de barramento SPI que é compatível com o cabeçalho GPIO do Pi.
Este artigo explica como usar um dispositivo MCP3008 para fornecer 8 entradas analógicas que você pode usar com uma variedade de sensores. No circuito de exemplo abaixo, eu uso um MCP3008 para ler um sensor de luz e controlar / supervisionar a luz dentro do Zabbix.
O hardware:
- Raspberry Pi
- MCP3008 ADC de 8 canais
- resistor dependente de luz (LDR)
- resistor de 10 Kohm
- Placa de ensaio
- Alguma fiação
Ônibus SPI
O MCP3008 lê o valor analógico e fornece um número de 10 bits que é transmitido pelo barramento SPI.
O barramento de interface periférica serial ou barramento SPI é um link de dados serial síncrono padrão, que opera em modo full duplex.
Os dispositivos se comunicam no modo mestre / escravo, onde o dispositivo mestre inicia o quadro de dados. Vários dispositivos escravos são permitidos com linhas de seleção de escravos individuais.
Às vezes, o SPI é chamado de barramento serial de quatro fios, contrastando com barramentos seriais de três, dois e um fio. A SPI costuma ser chamada de SSI (Synchronous Serial Interface).
Para habilitar o SPI de hardware no RPi, precisamos fazer uma modificação em um dos arquivos do sistema:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Adicione um caractere ‘#’ na frente da linha spi-bcm2708. Use CTRL-X, depois Y e Return para salvar o arquivo e sair. Reinicialize usando o seguinte:
sudo reboot
Para verificar se a mudança funcionou, execute o seguinte comando:
lsmod
Você deve ver “spi_bcm2708 ″ listado na saída.
Instalar Python SPI Wrapper
Neste projeto, vamos usar Python e, para ler dados do barramento SPI em Python, podemos instalar uma biblioteca chamada ‘py-spidev’. Para instalá-lo, primeiro precisamos instalar ‘python-dev’:
sudo apt-get install python-dev
Então, para terminar, podemos baixar ‘py-spidev’ e compilá-lo pronto para uso:
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 | TERRENO |
CLK | GPIO11 (P1-23) |
DOUT | GPIO9 (P1-21) |
DIN | GPIO10 (P1-19) |
CS | GPIO8 (P1-24) |
DGND | TERRENO |
Os pinos CH0-CH7 são as 8 entradas analógicas.
Resistor dependente de luz
Eu escolhi um LDR EG &G Vactec, VT43, CdS, 8 Ω a 300 KΩ . Sob iluminação normal, sua resistência é de aproximadamente 10 Kohm, enquanto no escuro isso aumenta para mais de 2 Mohm.
Quando há muita luz, o LDR tem uma resistência baixa, resultando na queda da tensão de saída para 0V.
Quando está escuro, a resistência do LDR aumenta, resultando no aumento da tensão de saída para 3,3V. Neste projeto foi usado um LDR, mas qualquer dispositivo que altere sua resistência dependendo de algum fenômeno pode ser usado e conectado no IC para ser controlado.
Lendo os dados
O ADC é de 10 bits, portanto, pode relatar um intervalo de números de 0 a 1023 (2 elevado a 10). Uma leitura de 0 significa que a entrada é 0 V e uma leitura de 1023 significa que a entrada é 3,3 V. Nossa faixa de 0-3,3 V equivaleria a uma faixa de 0-10000 Lux.
Para mais detalhes:Leitura de sensores analógicos com Raspberry Pi e Zabbix Supervisor
Processo de manufatura
- Meça temperaturas com um sensor DS18B20 de 1 fio e Raspberry Pi
- Monitoramento da temperatura ambiente com Raspberry Pi e Nagios
- Ler a temperatura com DS18B20 | Raspberry Pi 2
- Monitor de temperatura e umidade da casa (ambiente) com gráfico baseado na web - Raspberry Pi
- Medindo a temperatura com RASPBERRY PI
- Monitoramento da temperatura ambiente com Moteino e Raspberry Pi
- Monitorando a temperatura com Raspberry Pi
- Controlador Smart Home de 433 MHz com Sensorflare e RaspberryPi
- Leitura de sensores analógicos com um pino GPIO
- Sensores analógicos sem entradas analógicas no Raspberry Pi