How to Build a Raspberry Pi Temperature Monitor

Temperature and umidity are vital data points in today’s industrial world. Monitorar dados ambientais para salas de servidores, congeladores comerciais e linhas de produção é necessário para manter as coisas funcionando sem problemas. Existem muitas soluções que vão de básico a complexo e pode parecer esmagador sobre o que o seu negócio precisa e por onde começar.Nós vamos caminhar através de como construir e usar um sensor de temperatura Raspberry Pi com diferentes sensores de temperatura. Este é um bom lugar para começar, uma vez que estas soluções são baratas, fáceis de fazer, e dá-lhe uma base de construção para outro monitoramento ambiental.

um Raspberry Pi é um computador de bordo barato que lhe permitirá conectar-se a um sensor de temperatura e transmitir os dados para um software de visualização de dados. Raspberry Pi começou como uma ferramenta de aprendizagem e evoluiu para uma ferramenta de trabalho industrial. A facilidade de uso e capacidade de codificar com Python, a linguagem de programação de crescimento mais rápido, fez deles uma solução go to solution.

você vai querer um Raspberry Pi que tem Wi-Fi construído, que são qualquer modelo 3, 4, e zero W / WH. Entre aqueles que você pode escolher com base no preço e recursos. O Zero W / WH é o mais barato, mas se você precisar de mais funcionalidade você pode escolher entre os 3 e 4. Você só pode comprar um Zero W / WH de cada vez devido às limitações da Fundação Raspberry Pi. Qualquer que seja o Pi que você escolher, certifique-se de comprar um carregador, uma vez que é assim que você vai ligar o Pi e um cartão SD com Raspbian para tornar a instalação do sistema operacional o mais fácil possível.

há outro computador de bordo único que pode funcionar também, mas isso é para outra hora e outro artigo.

Sensores

Existem quatro sensores recomendamos o uso de porque eles são baratos, fáceis de conectar e fornecer leituras precisas; DSB18B20, DHT22, BME280, e Raspberry Pi Sentido CHAPÉU.

DHT22 — este sensor de temperatura e humidade tem uma precisão de temperatura de + / – 0,5 C e uma gama de humidade de 0 a 100%. É simples de conectar até o Raspberry Pi e não requer qualquer Resistência Puxar Para Cima.

DSB18B20 — este sensor de temperatura tem uma saída digital,que funciona bem com o Raspberry Pi. Ele tem três fios e requer um painel de pão e resistor para a conexão.

BME280 – este sensor mede a temperatura, humidade e pressão barométrica. Ele pode ser usado tanto em SPI e I2C.

Chapéu de Sentido — este é um add a bordo para Raspberry Pi que tem LEDs, sensores, e um pequeno joystick. Ele se conecta diretamente à GPIO no Raspberry Pi, mas usando um cabo de fita lhe dá leituras de temperatura mais precisas.

Raspberry Pi Setup

If this is the first time setting up your Raspberry Pi you’ll need to install the Raspbian Operating System and connect your Pi to WiFi. Isto exigirá um monitor e um teclado para se conectar ao Pi. Uma vez que você tem tudo pronto e funcionando e conectado ao Wi-Fi, seu Pi está pronto para ir.

conta de estado inicial

vai precisar de algum lugar para enviar os seus dados para manter um registo histórico e ver o fluxo de dados em tempo real para que possamos usar o estado inicial. Vá para https://iot.app.initialstate.com e crie uma nova conta ou logar na sua conta existente.A seguir, precisamos instalar o módulo Python de estado inicial no seu Pi. Em um prompt de comando (não se esqueça de conectar via SSH em seu Pi primeiro), execute o seguinte comando:

$ cd /home/pi/
$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Depois de introduzir o comando curl no prompt de comando, você verá algo semelhante a seguinte saída na tela:

Quando lhe for pedido para obter automaticamente um script de exemplo, digite y. Isto irá criar um script de teste que podemos executar para garantir que podemos fluxo de dados para o Estado Inicial. A próxima linha de comandos irá perguntar onde deseja gravar o ficheiro de exemplo. Você pode escrever um caminho local personalizado ou carregar em enter para aceitar a localização por omissão. Finalmente, ser-lhe-á perguntado qual app de estado inicial está a usar. Se criou recentemente uma conta, seleccione a opção 2, indique o seu nome de utilizador e senha. Depois disso a instalação estará completa.

vamos dar uma olhada no script de exemplo que foi criado.

$ nano is_example.py

na linha 15, você verá uma linha que começa com streamer = Streamer(bucket_ .... Estas linhas criam um novo balde de dados chamado “Python Stream Example” e está associado com a sua conta. Esta associação acontece por causa do parâmetro access_key="..." na mesma linha. Essa longa série de letras e números é a sua chave de acesso à conta do estado inicial. Se você for para a sua conta de estado inicial no seu navegador web, clique no seu nome de usuário no canto superior direito, em seguida, vá para “minhas configurações”, você vai encontrar a mesma chave de acesso aqui em “streaming Access Keys”.

Estado Inicial Sequência de Teclas de Acesso

Cada vez que você criar um fluxo de dados, essa chave de acesso irá direcionar o fluxo de dados para a sua conta (para não partilhar a chave com alguém).

execute o script de teste para ter certeza de que podemos criar um fluxo de dados para a sua conta de estado inicial. Executar o seguinte:

$ python is_example.py

volte para a sua conta de estado inicial no seu navegador web. Um novo balde de dados chamado “Python Stream Example” deve ter aparecido à esquerda em sua prateleira de log (você pode ter que atualizar a página). Clique neste balde e, em seguida, clique no ícone de ondas para ver os dados de teste.

Estado Inicial Python Fluxo painel de Exemplo

Se você estiver usando Python 3 você pode instalar o Estado Inicial Streamer Módulo você pode instalar usando o seguinte comando:

pip3 install ISStreamer

Agora estamos prontos para a instalação do sensor de temperatura com o Pi para a sequência de temperatura para um painel de controle.

DHT22 Solução

Você vai precisar dos seguintes itens para criar esta solução:
-DHT22 Sensor de Temperatura e Umidade

O DHT22 terão três pinos, — 5V, Gnd, e dados. Deve haver uma etiqueta pin para potência na DHT22 (por exemplo, ” + ” ou “5V”). Conecte isto ao pin 2 (o pin superior direito, 5V) do Pi. O pin do Gnd será rotulado ‘ – ‘ou’ Gnd ‘ ou algo equivalente. Conecte isto ao pin 6 Gnd (dois pinos abaixo do pin 5V) no Pi. O pin restante no DHT22 é o PIN de dados e será rotulado ” out ” ou ” s ” ou “data”. Conecte isso a um dos pinos GPIO no Pi, como o GPIO4 (pin 7). Assim que isto estiver ligado, liga o teu detective privado.

para esta solução, precisaremos usar o Python 3 e a Biblioteca CircuitPython como o Adafruit desactualizou a biblioteca DHT Python.

Instale o módulo CircuitPython-DHT Python numa linha de comandos para tornar a leitura dos dados do sensor DHT22 super fácil:Com o nosso sistema operacional instalado juntamente com os nossos dois módulos Python para ler dados dos sensores e enviar dados para o estado inicial, estamos prontos para escrever o nosso script Python. O seguinte script irá criar/adicionar a um balde de dados de estado inicial, ler os dados do sensor DHT22, e enviar esses dados para um painel em tempo real. Tudo que você precisa fazer é modificar as linhas 6-11.

  • Linha 7— Este valor deve ser único para cada nó/sensor de temperatura. Este pode ser o nome do Quarto, localização física, identificador único, ou o que quer que seja. Apenas certifique-se de que é único para cada nó para garantir que os dados deste nó vai para o seu próprio fluxo de dados em seu painel.
  • linha 8— Este é o nome do balde de dados. Isto pode ser alterado a qualquer momento na UI do estado inicial.
  • Linha 9 – esta é a chave do seu balde. Ele precisa ser a mesma chave de balde para cada nó que você quer exibido no mesmo painel.
  • linha 10 – esta é a sua chave de acesso à conta de estado inicial. Copie e cole esta chave da sua conta de estado inicial.
  • linha 11 – Este é o tempo entre as leituras do sensor. Mudar.
  • linha 12-pode especificar unidades métricas ou imperiais na linha 11.

depois de ter definido as linhas 7-12 no seu programa em Python no seu Pi, salve e saia do editor de texto. Executar o programa com o seguinte comando:

$ python3 tempsensor.py
aqui está um exemplo de usar o sensor DHT22 com o Raspberry Pi

Agora você terá dados enviando para um painel de estado inicial. Vá para a seção final deste artigo para mais detalhes sobre como personalizar o seu painel de instrumentos.

DSB18B20 Solução

Você vai precisar dos seguintes itens para criar esta solução:
-DSB18B20 Sensor de Temperatura
-Resistor de 10K
-Breadboard
-40-Pin Breakout Board + Cabo de Fita
-Fios

A fita de cabo conecta-se a pinos GPIO no Pi. O DS18B20 tem três fios. O fio vermelho liga-se a 3,3 V. O fio azul/preto liga-se ao solo. O fio amarelo liga-se a um resistor / pin 4. Assim que isto estiver ligado, liga o teu Pi.

A última versão do Raspbian (kernel 3.18) requer uma adição ao seu /boot/config.txt file for the Pi to communicate with the DS18B20. Executar o seguinte para editar este ficheiro:

$ sudo nano /boot/config.txt

se a seguinte linha não estiver já neste arquivo (se estiver, é provável que esteja no fundo do arquivo), adicione-o e salve o arquivo.

dtoverlay=w1-gpio,gpiopin=4

reinicie o seu IP para que as alterações façam efeito.

$ sudo reboot

para iniciar a interface de leitura do sensor de temperatura precisamos executar dois comandos. Vá para um alerta de comando no seu Pi ou SSH para o seu Pi. Escreva os seguintes comandos:

$ sudo modprobe w1-gpio$ sudo modprobe w1-therm

A saída do seu sensor de temperatura está agora a ser escrita num ficheiro no seu IP. Para encontrar esse ficheiro:

$ cd /sys/bus/w1/devices

neste diretório, haverá um sub-diretório que começa com”28 -“. O que vem depois do “28-” é o número de série do seu sensor. cd para a pasta. Dentro desta pasta, um ficheiro chamado w1_ Slave contém o resultado do seu sensor. Use nano para ver o conteúdo do arquivo. Uma vez que você entrou no arquivo, ele vai se parecer com algo assim:

a2 01 4b 46 7f ff 0e 10 d8 : crc=d8 YESa2 01 4b 46 7f ff 0e 10 d8 t=26125

o número depois de “t=” é o número que queremos. Esta é a temperatura em 1/1000 graus Celsius (no exemplo acima, a temperatura é 26.125 C). Só precisamos de um programa simples que leia este ficheiro e analise esse número. Já lá vamos ter.

tudo está agora pronto para começarmos a transmitir dados. Para abrir o editor de texto escreva o seguinte na linha de comandos:

$ nano temperature.py

copiar e colar o código abaixo no editor de texto.

você precisa colocar a sua chave de acesso de estado inicial na linha 6 em vez de PUT_YOUR_ACCESS_KEY_HERE (copie a chave de streaming para a sua área de transferência de ‘Minha Conta’ e cole-a no código em nano no seu terminal).

A Linha 6 irá criar um balde chamado “fluxo de temperatura” na sua conta de estado inicial (assumindo que você especificou correctamente o seu access_key nesta mesma linha). Linhas 8 a 30 deste script simplesmente interface com o sensor DS18B20 para ler a sua temperatura do arquivo w1_slave que discutimos anteriormente. A função read_temp_ Raw () na linha 15 lê o ficheiro w1_ Slave raw. A função read_temp () na linha 21 analisa a temperatura desse arquivo. A linha 34 chama essas funções para obter a temperatura atual. A linha 35 converte a temperatura de Celsius para Fahrenheit. As linhas 35 e 36 transferem a temperatura para a sua conta do estado inicial. A linha 37 pára o script por 0,5 segundos, definindo com que frequência o sensor de temperatura será lido e transmitido.Estamos prontos para começar a transmissão. Executar o seguinte comando:

$ sudo python temperature.py

volte para a sua conta de estado inicial no seu navegador web e procure um novo balde de dados chamado fluxo de temperatura. Você deve ver os dados de temperatura streaming ao vivo. Varie a temperatura do sensor segurando-o em sua mão ou colocando-o em um copo de gelo.

Agora você terá dados enviando para um painel de estado inicial. Vá para a seção final deste artigo para mais detalhes sobre como personalizar o seu painel de instrumentos.

BME280 solução

necessitará da seguinte forma construir esta solução:Sensor de humidade

se você está usando um BME280 que não é de Adafruit, sua configuração e código será diferente. Você pode encontrar um exemplo de como usar esse sensor BME280 neste artigo sobre monitoramento de umidade do espaço rastejante.Este sensor vem com pinos que terá de soldar no sensor. Eu recomendo usar uma prancha com os pinos longo lado para baixo na prancha para tornar a solda mais fácil. Depois de completares isto, precisamos de transferir o sensor para o Pi.

Conecte o PIN VIN no sensor a 3,3 V pin 1 no Pi. Conecte o PIN GND no sensor o pin terrestre 6 no Pi. Conecte o PIN SCK no sensor ao pin SCL 5 no Pi. Conecte o PIN SDI no sensor ao pin sda 3 no Pi.

terá de usar o Python 3 para esta solução e instalar o módulo de Streamer de estado inicial usando o método de instalação do pip3. Você também vai precisar instalar algumas bibliotecas Adafruit Python.

pip3 install adafruit-blinka
pip3 install pureio
pip3 install spidev
pip3 install adafruit-GPIO
pip3 install adafruit-circuitpython-bme280

para usar o sensor que precisamos para permitir I2C no Pi.

sudo raspi-config

Isto irá abrir a Ferramenta de configuração de software Raspberry Pi. Ir para a opção 5 opções de interface. A partir daqui vá para o I2C.ele irá perguntar-lhe se deseja activar o I2C, seleccione Sim e termine. Agora você tem I2C habilitado para se comunicar com o sensor.

podemos testar isto executando o seguinte:

sudo i2cdetect -y 1

isto vai verificar se o seu Detective vê o sensor. Na forma como está conectado, deve mostrar o sensor no endereço 77. Se você não detectar o sensor, reinicie seu Pi, reinicie a opção de interface I2C em seu Pi, e tente novamente.

uma vez que seu sensor é detectado, é hora de executar o nosso código principal que irá enviar dados para o estado inicial. Criou um ficheiro chamado bme280sensor.py com o comando nano. Copiar e colar o código do gist para o editor de texto. Terá de fazer alterações nas linhas 12-19.

  • Linha 12 — Este valor deve ser único para cada nó/sensor de temperatura. Este pode ser o nome do Quarto, localização física, identificador único, ou o que quer que seja. Apenas certifique-se de que é único para cada nó para garantir que os dados deste nó vai para o seu próprio fluxo de dados em seu painel.
  • Linha 13 — Este é o nome do balde de dados. Isto pode ser alterado a qualquer momento na UI do estado inicial.Esta é a chave do seu balde. Ele precisa ser a mesma chave de balde para cada nó que você quer exibido no mesmo painel.
  • Linha 15 – Esta é a sua chave de acesso à conta de estado inicial. Copie e cole esta chave da sua conta de estado inicial.
  • Linha 17 – esta é a pressão da sua localização (hPa) ao nível do mar. Você pode encontrar esta informação na maioria dos sites meteorológicos.
  • linha 18 – Este é o tempo entre as leituras do sensor. Mudar.
  • linha 19 – aqui pode indicar unidades métricas ou imperiais.

depois de ter definido as linhas 12-19 no seu programa em Python no seu Pi, salve e saia do editor de texto. Executar o programa com o seguinte comando:

$ python3 bme280sensor.py

agora você terá dados enviando para um painel de estado inicial. Vá para a seção final deste artigo para mais detalhes sobre como personalizar o seu painel de instrumentos.

Sense HAT Solution

você vai precisar dos seguintes itens para construir esta solução:
-Raspberry Pi Sense HAT
-6 ” 40 pinos IDE masculino a Feminino Extension Cable (opcional para precisão da temperatura)

o primeiro passo para usar o Sense HAT é instalá-lo fisicamente no seu Pi. Com o Pi desligado, anexou o chapéu como mostrado abaixo.

Sentido CHAPÉU de ligação para o Raspberry Pi

Se você decidir usar a solução como mostrado acima, você pode perceber que o Sentido do CHAPÉU leituras de temperatura será um pouco mais alta que é porque eles são. O culpado é o calor gerado pela CPU do Pi aquecendo o ar em torno do chapéu sensorial quando ele está sentado em cima do Pi. Para tornar o sensor de temperatura útil, precisamos tirar o chapéu do Pi ou tentar calibrar a leitura do sensor de temperatura. Uma boa solução para tirar o sensor do Pi é um cabo que deixa o chapéu sensorial balançar para longe do Pi. Um cabo de extensão de 6″, 40 pinos masculino A feminino vai resolver o problema.

Raspberry Pi em um caso com cabo de extensão de ligar para o Sentido CHAPÉU

Depois de decidir sobre as duas opções, a energia do seu Pi. Precisamos instalar a biblioteca Python para facilitar a leitura dos valores dos sensores a partir do chapéu Sense. Primeiro, você terá que garantir que tudo está atualizado em sua versão de Raspbian:

$ sudo apt-get update

em seguida, instale a biblioteca Python Sense HAT:

$ sudo apt-get install sense-hat

reinicie o seu Pi. Estamos prontos para testar o chapéu sensorial lendo os dados do sensor e enviando esses dados para o estado inicial.

crie um ficheiro chamado sensehat e abra-o no editor de texto, introduzindo a follwoing na linha de comandos:

$ nano sensehat.py

copiar e colar o código abaixo no editor de texto.

Note na primeira linha que estamos importando a Biblioteca SenseHat para o script. Antes de executar este script, precisamos configurar nossos parâmetros de usuário.

especificamente, você precisa definir o seu ACCESS_KEY para a sua chave de acesso à conta de estado inicial. Você pode mudar BUCKET_NAME e SENSOR_LOCATION_NAME para a localização real do sensor. Gravar e sair do editor de texto.

numa linha de comandos no seu Pi, execute o programa:

$ sudo python sensehat.py

agora você terá dados enviando para um painel de estado inicial. Vá para a seção final deste artigo para mais detalhes sobre como personalizar o seu painel de instrumentos.Com o sensor de temperatura de Pi De Framboesa construído pode agora ir para a sua conta de estado inicial e olhar para os seus dados. Poderá carregar com o botão direito numa peça para mudar o tipo de gráfico e carregar em Editar as peças para redimensionar e mover as suas peças. Recomendo usar o termóstato para a temperatura e o nível líquido para a humidade. Você pode criar gráficos de linhas para a temperatura e umidade para ver mudanças ao longo do tempo. Você também pode adicionar uma imagem de fundo ao seu painel de instrumentos.

pode definir alertas de desencadeamento para que possa receber um SMS ou e-mail se a temperatura descer abaixo ou ultrapassar um determinado limiar. Vá para o seu balde de dados e clique em Configurações. A partir daí vai para a aba gatilhos. Indique a tecla stream que deseja monitorizar, o operador que deseja usar e o valor limiar. Clique no sinal mais para adicionar o gatilho. Em seguida, você vai inserir o seu e-mail ou número de telefone para receber o alerta em e clicar no sinal mais. Uma vez que você definir todos os seus gatilhos clique no botão Feito na parte inferior.

Estado Inicial de temperatura do painel

Agora que você já criou um Raspberry Pi sensor de temperatura utilizando um sensor e um Raspberry Pi, você pode começar a pensar sobre o que os outros dados ambientais, você pode acompanhar ao lado.

Deixe uma resposta

O seu endereço de email não será publicado.

Previous post Master Gardener: Cassia trees are easy to grow
Next post A aprendizagem adaptativa