O que posso conectar ao RPi para medir a temperatura? Acho que os dispositivos conectados ao I²C ou SPI fariam mais sentido.
Aqui está uma pergunta sobre o DHT-22 e outros dispositivos de 1 fio . Mas, nesta fase, parece que 1-wire é difícil no RPi devido aos tempos críticos
gpio
peripherals
temperature
sensor
John La Rooy
fonte
fonte
Respostas:
Veja como conectar um MCP9804 .
Você pode usá-lo assim:
Converter 0x67c1 em uma temperatura é um pouco complicado. O MSB é 0xc1 e o LSB é 0x67
Os primeiros 4 bits do MSB são descartados e deixam a temperatura em 16º de grau
Exemplo de Python
Além de carregar os módulos i2c acima, você precisará instalar o pacote python-smbus. Você pode reduzir o auto-aquecimento desligando o MCP9804 entre as leituras.
fonte
Você pode usar a porta serial integrada do Raspberry Pi e conectá-lo a um termômetro digital IC (por exemplo, DS1620 )
Você pode descobrir a interface de porta serial do Raspberry Pi aqui
Importante : Lembre-se de que o RPi UART é executado em TTL 3.3V - Cuidado para não usar o Uart de alta tensão 5v / 12volt direto ao RPi. Isso causará danos!
fonte
Eu tentei duas abordagens para detecção de temperatura. Para o I2C, usei um módulo TMP102 que é semelhante ao que o gnibbler descreve. Aqui está o meu post sobre isso:
Para um fio, a Adafruit lançou recentemente sua própria imagem e contém suporte para um fio. Consegui ler um sensor de temperatura DS18B20 de 1 fio com ele. Mais detalhes neste post :
Finalmente, outra abordagem é usar o sensor de temperatura analógico e um ADC externo. Adafruit tem um bom tutorial sobre isso.
fonte
Um termômetro USB "HID TEMPer" simples e barato também funciona, e é muito mais fácil conectar-se àqueles que ainda precisam mexer em UARTs ou GPIO, como eu.
O meu RPi fornece energia suficiente para conduzi-lo diretamente da porta USB sem um hub.
Para configurar isso com o Raspbian Wheezy, segui estas instruções que foram escritas para o Ubuntu (aviso: link é para uma postagem no meu próprio blog). Para o Raspberry Pi, eu só precisei fazer um pequeno ajuste ao
LIBUSB_LIBDIR
instalar oDevice::USB
módulo perl, para que ele pudesse ser encontradolibusb
em um local fora do padrão. As instruções completas seguem.Para obter uma leitura simples sem nenhum dos itens munin , instale as dependências da seguinte maneira (como root):
Criar
readtemp.pl
:E execute isso como root para ver a saída. No meu caso, está um pouco frio na garagem esta noite:
fonte
O que estou usando atualmente é o DS18B20 .
Primeiro abra o Pi e digite:
Em seguida, adicione a palavra
untested
depoismain
.Então digite:
No meu caso, demorou muito tempo, apesar de depender da velocidade do seu wifi / ethernet. Depois disso, você reinicia:
Conecte o fio branco ao GPIO4, o fio vermelho a 3V3 e o preto ao GND. Você também conecta um resistor de 4,7 K entre os fios branco e vermelho.
Você pode lê-lo executando os seguintes comandos:
Em seguida, deve listar o número de série do sensor de temperatura, seguido de
w1_bus_master1
Então vá:
E então deve mostrar 2 linhas de código, onde os 5 dígitos no final da segunda linha são a temperatura.
Isso utiliza algo chamado "Protocolo de sensor de temperatura de um fio de Dallas" ou algo assim.
fonte
Atualmente, estou lendo este livro e gostei. Seguindo esse caminho, minha visão é que você teria um sensor de temperatura, um arduino e um rádio xbee colados. Esse é o seu sensor remoto, que pode estar em qualquer lugar, desde que esteja ao alcance da estação doméstica. Em seguida, para a estação de casa tem um rasberry e outro xbee. Suponho que talvez seja mais fácil também ter a estação doméstica xbee em um arduino e depois fazer com que o arduino e o rasberry conversem entre si. Com isso, você pode ter vários sensores remotos e diferentes tipos de sensores.
fonte