Índice:

Estação meteorológica DIY Raspberry Pi completa com software: 7 etapas (com fotos)
Estação meteorológica DIY Raspberry Pi completa com software: 7 etapas (com fotos)

Vídeo: Estação meteorológica DIY Raspberry Pi completa com software: 7 etapas (com fotos)

Vídeo: Estação meteorológica DIY Raspberry Pi completa com software: 7 etapas (com fotos)
Vídeo: Weekend Project: Raspberry Pi Weather Station 2024, Novembro
Anonim
Estação meteorológica DIY Raspberry Pi completa com software
Estação meteorológica DIY Raspberry Pi completa com software
Estação meteorológica DIY Raspberry Pi completa com software
Estação meteorológica DIY Raspberry Pi completa com software

No final de fevereiro, vi este post no site Raspberry Pi.

www.raspberrypi.org/school-weather-station-…

Eles haviam criado estações meteorológicas Raspberry Pi para escolas. Eu queria totalmente um! Mas naquele momento (e eu acredito que ainda no momento de escrever isto) eles não estão disponíveis publicamente (você precisa estar em um grupo seleto de testadores). Bem, eu queria e não tinha vontade de gastar centenas de dólares por um sistema existente de terceiros.

Então, como um bom usuário do Instructable, decidi fazer o meu próprio !!!

Fiz uma pequena pesquisa e encontrei alguns bons sistemas comerciais nos quais poderia basear os meus. Eu encontrei alguns bons Instructables para ajudar com alguns dos conceitos do Sensor ou Raspberry PI. Eu até encontrei este site, que era uma sujeira, eles derrubaram um sistema Maplin existente:

www.philpot.me/weatherinsider.html

Avance cerca de um mês e tenho um sistema básico de trabalho. Este é um sistema climático Raspberry Pi completo com apenas o hardware básico do Raspberry Pi, câmera e alguns sensores analógicos e digitais variados para fazer nossas medições. Sem comprar anemômetros pré-fabricados ou pluviômetros, estamos fazendo os nossos! Aqui estão seus recursos:

  • Registra informações para RRD e CSV, para que possa ser manipulado ou exportado / importado para outros formatos.
  • Usa a API Weather Underground para obter informações interessantes, como altos e baixos históricos, fases da lua e nascer / pôr do sol.
  • Usa a câmera Raspberry Pi para tirar uma foto uma vez por minuto (você pode usá-la para fazer intervalos de tempo).
  • Possui páginas da web que exibem os dados das condições atuais e alguns históricos (última hora, dia, 7 dias, mês, ano). O tema do site muda com a hora do dia (4 opções: nascer do sol, pôr do sol, dia e noite).

Todo o software para registro e exibição das informações está em um Github, eu até fiz algum rastreamento de bugs e solicitações de recursos lá também:

github.com/kmkingsbury/raspberrypi-weather…

Este projeto foi uma ótima experiência de aprendizado para mim, pude realmente mergulhar nos recursos do Raspberry Pi, especialmente com o GPIO, e também atingi alguns pontos problemáticos de aprendizado. Espero que você, leitor, possa aprender com algumas de minhas provações e tribulações.

Etapa 1: Materiais

Materiais
Materiais
Materiais
Materiais
Materiais
Materiais
Materiais
Materiais

Eletrônicos:

  • 9 Reed Switches (8 para a direção do vento, 1 para o pluviômetro, opcionalmente 1 para a velocidade do vento em vez de um sensor Hall), usei estes:
  • 1 Sensor Hall (para a velocidade do vento, denominado anemômetro) -
  • Temperatura (https://amzn.to/2RIHf6H)
  • Umidade (muitos sensores de Umidade vêm com um sensor de Temperatura), usei o DHT11:
  • Pressão (o BMP veio com um sensor de temperatura também), usei o BMP180, https://www.adafruit.com/product/1603, este produto foi descontinuado, mas há um equivalente com o BMP280 (https://amzn.to/2E8nmhi)
  • Fotoresistor (https://amzn.to/2seQFwd)
  • Chip GPS ou GPS USB (https://amzn.to/36tZZv3).
  • 4 ímãs fortes (2 para anemômetro, 1 para direção, 1 para pluviômetro), usei os ímãs de terras raras, altamente recomendados) (https://amzn.to/2LHBoKZ).
  • Um punhado de resistores variados, eu tenho este pacote que provou ser extremamente útil ao longo do tempo:
  • MCP3008 - para converter entradas analógicas em digitais para o Raspberry Pi -

Hardware

  • Raspberry Pi - Eu originalmente usei o 2 com um adaptador Wireless, agora pegue o kit 3 B + com adaptador de força também. (https://amzn.to/2P76Mop)
  • Pi Camera
  • Um adaptador de força de 5V sólido (isso acabou sendo dolorosamente irritante, acabei pegando o Adafruit, caso contrário, a câmera puxa muito e pode / vai pendurar o Pi, está aqui: https://www.adafruit.com/products / 501)

Materiais:

  • 2 rolamentos de impulso (ou rolamentos de skate ou patins também funcionam), comprei estes na Amazon:
  • 2 Gabinetes à prova d'água (usei um gabinete elétrico da loja local), não importa muito, só preciso encontrar um gabinete de bom tamanho que tenha espaço suficiente e proteja tudo).
  • Alguns tubos e tampas de PVC (vários tamanhos).
  • Suportes de montagem em PVC
  • Duas folhas de acrílico fino (nada muito sofisticado).
  • impasses de plástico
  • mini parafusos (usei parafusos e porcas # 4).
  • 2 Enfeite de árvore de Natal de plástico - usado para o anemômetro, comprei o meu no Hobby Lobby local.
  • Cavilha pequena
  • Pequeno pedaço de madeira compensada.

Ferramentas:

  • Dremel
  • Pistola de cola
  • Ferro de solda
  • Multímetro
  • Furar

Etapa 2: Gabinete principal - Pi, GPS, câmera, luz

Gabinete principal - Pi, GPS, câmera, luz
Gabinete principal - Pi, GPS, câmera, luz
Gabinete principal - Pi, GPS, câmera, luz
Gabinete principal - Pi, GPS, câmera, luz
Gabinete principal - Pi, GPS, câmera, luz
Gabinete principal - Pi, GPS, câmera, luz
Gabinete principal - Pi, GPS, câmera, luz
Gabinete principal - Pi, GPS, câmera, luz

O recinto principal abriga o PI, a câmera, o GPS e o sensor de luz. É projetado para ser à prova d'água, uma vez que abriga todos os componentes críticos, as medições são feitas a partir do invólucro remoto e aquele é projetado para ser exposto / aberto aos elementos.

Passos:

Escolha um gabinete, usei uma caixa de junção elétrica, várias caixas de projeto e caixas à prova d'água também funcionarão. O ponto principal é que ele tem espaço suficiente para guardar tudo.

Meu gabinete contém:

  • O raspberry pi (em impasses) - Precisa de um chip WIFI, não quero correr Cat5e para o quintal!
  • A câmera (também em impasses)
  • O chip GPS, conectado via USB (usando um cabo FTDI sparkfun: https://www.sparkfun.com/products/9718) - O GPS fornece latitude e longitude, o que é bom, mas mais importante, posso obter o tempo preciso de o GPS!
  • duas tomadas ethernet / cat 5 para conectar o gabinete principal ao outro gabinete que abriga os outros sensores. Esta foi apenas uma maneira conveniente de ter cabos passando entre as duas caixas, eu tenho cerca de 12 fios e os dois cat5 fornecem 16 conexões possíveis, então tenho espaço para expandir / alterar as coisas ao redor.

Há uma janela na frente do meu gabinete para a câmera ver. O case com esta janela protege a câmera, mas eu tive problemas onde o led vermelho na câmera (quando ela está tirando uma foto) reflete no plexiglass e aparece na foto. Usei um pouco de fita preta para mitigar isso e tentei bloquear (e outros LEDs do Pi e GPS), mas ainda não está 100%.

Etapa 3: 'Gabinete remoto' para temperatura, umidade, pressão

'Caixa Remota' para Temperatura, Umidade, Pressão
'Caixa Remota' para Temperatura, Umidade, Pressão
'Caixa Remota' para Temperatura, Umidade, Pressão
'Caixa Remota' para Temperatura, Umidade, Pressão
'Caixa Remota' para Temperatura, Umidade, Pressão
'Caixa Remota' para Temperatura, Umidade, Pressão

É aqui que armazenei os sensores de temperatura, umidade e pressão, bem como as "conexões" para o pluviômetro, a direção do vento e os sensores de velocidade do vento.

É tudo muito simples, os pinos aqui se conectam por meio dos cabos Ethernet aos pinos necessários no Raspberry Pi.

Tentei usar sensores digitais onde pude e então qualquer analógico adicionado ao MCP 3008 leva até 8 analógico que foi mais do que suficiente para minhas necessidades, mas dá espaço para melhorar / expandir.

Este gabinete é aberto ao ar (tem que ser para temperatura, umidade e pressão precisas). Os orifícios inferiores estão salientes, então apliquei um spray de Silicone Conformal Coating em alguns dos circuitos (você pode obtê-lo online ou em um lugar como Fry's Electronics). Esperançosamente, ele deve proteger o metal de qualquer umidade, embora você tenha que ter cuidado e não usá-lo em alguns dos sensores.

A parte superior do gabinete também é onde o sensor de velocidade do vento se encaixa. Foi um lance para cima, eu poderia ter colocado a velocidade ou a direção do vento no topo, não vi nenhuma grande vantagem de um sobre o outro. No geral, você quer os dois sensores (direção do vento e velocidade) altos o suficiente, onde edifícios, cercas e obstáculos não interfiram nas medições.

Etapa 4: pluviômetro

Pluviômetro
Pluviômetro
Pluviômetro
Pluviômetro
Pluviômetro
Pluviômetro

Eu segui principalmente esta instrução para fazer o medidor real:

www.instructables.com/id/Arduino-Weather-St…

Fiz isso de acrílico para ver o que estava acontecendo e achei que seria legal. No geral, o plexiglass funcionou bem, mas combinado com o Gluegun, o selante de borracha e o corte e a perfuração geral não ficou com uma aparência tão imaculada, mesmo com a película protetora.

Pontos chave:

  • O sensor é um simples interruptor de palheta e um ímã tratado como um botão pressionado no código RaspberryPi, eu simplesmente conto baldes ao longo do tempo e faço a conversão mais tarde para "polegadas de chuva".
  • Faça-o grande o suficiente para conter água suficiente para derrubar, mas não tanto que precise de muita água para derrubar. Na primeira passagem, fiz cada bandeja não ser grande o suficiente para encher e começar a escorrer pela borda antes de tombar.
  • Também descobri que a água residual pode adicionar algum erro à medição. Ou seja, para secar completamente, foram necessárias X gotas para encher um lado e incliná-lo, uma vez molhadas, foram necessárias Y gotas (que é menor que X) para encher e inclinar. Não é uma grande quantidade, mas entrou em vigor ao tentar calibrar e obter uma boa medição "1 carga é igual a quanto".
  • Equilibre-o, você pode trapacear adicionando cola de gluegun nas pontas inferiores se um lado for muito mais pesado que o outro, mas você precisa dele o mais equilibrado possível.
  • Você pode ver na foto que montei uma pequena plataforma de teste usando algumas esponjas e um suporte de madeira para testar e equilibrar adequadamente antes de instalar.

Etapa 5: direção do vento

Direção do vento
Direção do vento
Direção do vento
Direção do vento
Direção do vento
Direção do vento

Este era um cata-vento simples. Eu baseei a eletrônica no sistema Maplin:

www.philpot.me/weatherinsider.html

Pontos chave:

Este é um sensor analógico. Os oito interruptores reed combinados com vários resistores dividem a saída em pedaços para que eu possa identificar em qual coordenada o sensor está pelo valor. (O conceito é explicado neste instrutível:

  • Depois de aparafusar a parte do cata-vento, você precisa calibrá-la para que "esta direção aponte para o norte".
  • Fiz uma bancada de teste com madeira para que pudesse ligar e desligar resistores facilmente que cobriam toda a gama de valores para mim, isso foi muito útil!
  • Eu usei um rolamento de impulso, funcionou bem, tenho certeza que um rolamento normal de skate ou patins teria sido tão bom.

Etapa 6: Velocidade do Vento

Velocidade do vento
Velocidade do vento
Velocidade do vento
Velocidade do vento
Velocidade do vento
Velocidade do vento

Este eu mais uma vez recorri à comunidade Instructable e encontrei e segui este instructable:

www.instructables.com/id/Data-Logging-Anemo…

Pontos chave:

  • Você também pode usar o sensor Hall ou mudar para um sensor reed. O sensor Hall é mais um sensor analógico, portanto, se você estiver usando-o de forma digital, como um pressionamento de botão, você precisa se certificar de que a leitura / tensão é alta o suficiente para que atue como um verdadeiro pressionamento de botão, ao invés de não ser suficiente.
  • O tamanho da xícara é crucial, assim como o comprimento do bastão! Originalmente, eu usava bolas de pingue-pongue e elas eram muito pequenas. Eu também os coloquei em varas longas que também não funcionaram. Fiquei muito frustrado e depois descobri que era instrutível, Ptorelli fez um ótimo trabalho explicando e isso me ajudou quando meu design original não funcionou tão bem.

Etapa 7: Software

Programas
Programas
Programas
Programas

O software é escrito em Python para registrar os dados dos sensores. Usei algumas outras bibliotecas Git de terceiros da Adafruit e outras para obter as informações dos sensores e GPS. Existem também alguns cron jobs que extraem algumas das informações da API. A maior parte é explicada / delineada na documentação do Git em docs / install_notes.txt

O software da web está em PHP para exibi-lo na página da web enquanto também utiliza YAML para os arquivos de configuração e, claro, a ferramenta RRD para armazenar e representar graficamente os dados.

Ele utiliza a API Weather Underground para obter alguns dos dados interessantes que os sensores não conseguem extrair: Grave as alturas e as baixas, a fase da lua, o pôr-do-sol e o nascer do sol, também há marés disponíveis em sua API, que achei muito legal, mas eu moro em Austin, TX, que fica muito longe da água.

Tudo isso está disponível no Github e é mantido ativamente e atualmente sendo usado enquanto eu refino e calibro meu próprio sistema, para que você possa enviar solicitações de recursos e relatórios de erros também.

O software passa por uma mudança de tema dependendo da hora do dia, são 4 etapas. Se a hora atual for + ou - 2 horas do nascer ou pôr do sol, você obterá os temas do nascer e do pôr do sol, respectivamente (agora apenas um fundo diferente, provavelmente farei outras cores de fonte / borda no futuro). Da mesma forma, fora dessas faixas, dá-se o tema do dia ou da noite.

Obrigado pela leitura, se você gostaria de ver mais fotos e vídeos dos meus projetos do que confira meu Instagram e canal no YouTube.

Concurso Pi / e Day
Concurso Pi / e Day
Concurso Pi / e Day
Concurso Pi / e Day

Terceiro Prêmio no Concurso Pi / e Day

Recomendado: