Índice:
- Etapa 1: peças que são necessárias
- Etapa 2: Fiação e montagem
- Etapa 3: Upload de firmware para ESP32
- Etapa 4: Upload de firmware pronto
- Etapa 5: configuração
- Etapa 6: ajuste e consumo de energia
- Etapa 7: Ajuste de Sensores
- Etapa 8: Adicionar dispositivo ao Apple Home Kit
- Etapa 9: OTA: atualizações no ar
Vídeo: Estação meteorológica ESP32 com energia solar: 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Neste tutorial, vamos construir um projeto de estação meteorológica habilitada para WiFi.
O objetivo é projetar uma estação meteorológica com quase todas as características possíveis:
- Mostra as condições atuais, tempo, temperatura, umidade, pressão
- Mostrar previsão para os próximos dias
- Atualização no ar
- Construído em web site para configuração e representação de dados
- Faça upload de dados para a nuvem para estatísticas de histórico
- Integrado com Aple Home Kit ou MQTT
- Accu Indepeded alimentado com possível recarga ou conexão ao painel solar
Não posso adicionar mais e não mais imaginação sobre o que mais deve ou pode ser
Etapa 1: peças que são necessárias
- ESP32 (usei o módulo dev)
- 2.8 "240x320 TFT LCD SPI ILI9341
- Caixa de plástico
- 3 x 18650 Accu
- Sensor meteorológico BME280 para medir temperatura, umidade e pressão
- Módulo carregador USB de lítio
- DC-DC step UP18650
- suporte de bateria (3 unidades)
- Detector de movimento HC-SR505
- Resistor 220 Om
- 2 resistores de 10 kOm
- O transistor NPN TIP120 (Darlington) pode ser usado com qualquer outro transistor compatível
- ButtonWires, switch, placa de solda….
Etapa 2: Fiação e montagem
O primeiro passo é a montagem das potências da estação.
Dividi a caixa de plástico em dois pars, um deles usado para bateria, switch, carregador USB e DC-DC. Nesta parte, coloco o suporte da bateria e faço janelas para o switch e o carregador USB. Esteja ciente de que o módulo do carregador USB é bastante quente, portanto, usei uma placa de alumínio e coloquei o carregador USB nele usando cola Star 922.
A segunda etapa é a montagem da parte dos controladores.
Veja o diagrama de fiação como deve ser conectado
Eu usei a tábua de pão para este propósito com as seguintes etapas
- Placa dev solda ESP32
- Escudo de solda para manter a tela TFT
- Solde outros componentes eletrônicos: BME280, resistores, botões
- Fiação de solda entre os componentes de acordo com o diagrama
A terceira etapa é preparar a montagem da placa do pão na segunda parte da caixa de plástico. Eu imprimi na minha impressora 3d duas barras, monte-as no quadro por meio de parafusos e faça cortes retangulares para a tela do monitor.
Colei suportes de barras de plástico ao corpo da caixa de plástico. Agora, quando a cola estiver seca, a placa do pão pode ser desmontada por meio de parafusos.
A próxima etapa é:
- Fiação de solda para fonte de energia
- Fiação de solda para o status de tensão da bateria
- Soldar e montar detector de movimento
Passo final:
- configurar o conversor DC-DC sintonizando a tensão de saída 5v
- conecte duas partes do controlador da estação à energia: fios de energia e leitura de tensão
Para o detector de movimento e o botão, fiz orifícios adicionais no lado frontal.
Etapa 3: Upload de firmware para ESP32
Para este projeto usei um software universal, desenvolvido por mim
Por favor, dê uma olhada na página do github ESPHomeController. Esta contém instruções completas sobre como compilar e configurar.
! Se você não está familiarizado com a compilação e o Arduino, dê uma olhada na etapa Upload de firmware pronto
Assim que você fizer o upload do firmware pela primeira vez, o ESP32 iniciará no modo de configuração (modo de ponto de acesso)
Você deve configurá-los. Para este efeito, abra em qualquer lista de dispositivos de WiFi disponíveis. Encontre o HomeController e conecte-se a ele. O portal cativo deve iniciar automaticamente. Se não entrar na url do seu navegador: 192.168.4.1 e você verá a tela de configuração
Siga as instruções e configure as credenciais de WiFi para sua rede WiFi.
O ESP irá reiniciar depois disso como cliente WiFi e se conectará ao seu Wifi.
Quando a conexão sson for iniciada, ele montará automaticamente o sistema de arquivos Spiffs e fará o download dos arquivos necessários para o portal da web:
- index.html
- filebrowse.html
- js / bundle.min.js.gz
O download acontece na pasta
Agora você pode ver o conteúdo do arquivo via navegador da web. para isso você deve agora o endereço IP do seu ESP32
Você pode encontrá-lo de uma das seguintes maneiras:
- Usando o monitor de porta serial para ver os registros ESP32
- Usando qualquer scanner tcp para verificar seus dispositivos de rede
- Pressione um botão na estação meteorológica e você verá as informações do sistema
Coloque em browse https://192.168.0. XX/browse e você verá uma lista de arquivos do seu ESP
(192.168.0. XX é o endereço IP do seu dispositivo
Para o ajuste final, você precisa preparar os arquivos de configuração.
Etapa 4: Upload de firmware pronto
Esta seção é especialmente para auditores que não irão produzir firmware por conta própria. Você só precisa fazer o upload do firmware "pronto"
1. Faça download de ferramentas de upload de flash desta página
2. Baixe os arquivos anexados (extrair dos arquivos) HomeController.bin e bootloader_qio_80m.bin para o seu disco rígido
3. Inicie a ferramenta de download ESP32 e insira os valores de acordo com a captura de tela
4. Pressione iniciar
Etapa 5: configuração
Antes de iniciar a preparação da configuração, você precisa:
- Crie o seu canal no discurso e na chave para o seu canal. Prepare 4 campos e nomeie-os adequadamente como Temperatura, Umidade, Pressão, Tensão
- Registre-se no Weather.com para obter sua chave de API
Thingspeak são necessários para fazer upload de seus dados e monitorar tendências e valores
O tempo é necessário para obter dados de previsão.
Ok, finalmente você precisa criar o arquivo services.json com o seguinte conteúdo
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," activateleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}, {" service ":" BME280Controller "," name ":" BME "," enabled ": true, "interval": 900000, "i2caddr": 118, "uselegacy": true, "temp_corr": - 3.0, "hum_corr": 10.0}, {"service": "WeatherClientController", "name": "WeatherForecast", "ativado": verdadeiro, "intervalo": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & units = m & language = en -US & apiKey = weatherapi "}, {" service ":" WeatherDisplayController "," name ":" WeatherDisplay "," enabled ": true," interval ": 500}, {" enabled ":" true "," interval ": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, "cfmt": "%. 2f V", "acctype": 10}, {"service": "ThingSpeakController", "name": "ThingSpeak", "enabled": true, "interval": 1200000, "value": [1, 1, 1, 1, 0, 0, 0, 0], "apiKey": "ervilha kapi "}, {" enabled ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pins ": [27]}]
! Substitua
- Thingspeakapi com sua chave de API do Thingspeak
- weatherapi com sua chave de API do clima
- geocodifique com a sua localização para a qual deseja obter uma previsão
Em seguida, prepare o segundo arquivo triggers.json
[{"type": "BMEToWeatherDisplay", "source": "BME", "destination": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "source": "Time", "destination": "WeatherDisplay "}, {" type ":" WeatherForecastToWeatherDisplay "," source ":" WeatherForecast "," destination ":" WeatherDisplay "}, {" type ":" BMEToThingSpeak "," source ":" BME "," destination ": "ThingSpeak", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"type": "ButtonToWeatherDisplay", "source": "Button", "destination": "WeatherDisplay"}, { "tipo": "LDRToThingSpeak", "fonte": "LDR", "destino": "ThingSpeak", "ch": 4}]
Ambos os arquivos devem ser enviados para a raiz do esp.
Você pode fazer isso através do navegador https://192.168.0. XX/browse, onde https://192.168.0. XX é o endereço IP do seu dispositivo
Depois de fazer o upload o ESP deve ser reiniciado e tudo foi feito da maneira certa. Esp irá mostrar a tela apropriada como na foto e vídeo acima
Etapa 6: ajuste e consumo de energia
Estou usando meu aparelho com a conexão ao Painel Solar e para ter certeza que pode funcionar "infinitamente"
o consumo de energia é importante e, após várias experiências, usei dois truques principais
Reduza o consumo do LED bacground da tela TFT
De acordo com a medição está comendo 15-20 mA (muito), portanto, usei táticas com detector de movimento. Funciona perfeitamente com detectores de movimento capazes de reconhecer qualquer detecção até 8-10 metros e aumentar a tensão no cabo de sinal. Esta é a abertura de um transistor e o Led backround recebem uma alimentação. Normalmente o detector mantém esse estado por até 10 segundos, o que é mais do que suficiente para ver o monitor, mas se você continuar os movimentos, o sinal ainda estará alto e o LED acenderá.
Tal abordagem me dá uma grande economia, sem efeitos adicionais, não encontro nenhum problema para ver minha tela quando quero
2. Reduza o consumo de energia por ESP32
Quando o ESP está conectado a WiFi, está constantemente comendo 7-10 mA, estou falando de tempo constante, não de inicialização e primeira conexão. Isso pode ser aceitável se você sempre viu a data e a hora reais, acesse seu sistema a partir do kit doméstico da Apple
Para minha energia solar no inverno também era para funcionar sem fontes de energia adicionais, Portanto, decidi colocar periodicamente o ESP32 no modo de espera (comer é menos de 1 mA). Para mim, está tudo bem, por exemplo, o ESP está dormindo por 20 minutos, então acorda, atualiza a tela (dados reais e previsão) e envia dados para o material de fala e volta ao modo de hibernação novamente
Os pontos negativos são:
- A tela do clima exibe valores de tempo desatualizados
- A estação não está acessível a partir do navegador e do Apple Home Kit durante o período de suspensão
Cabe a você decidir o que é mais importante, você pode simplesmente reconfigurar isso.
Por favor, dê uma olhada no arquivo services.json e linha
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enabledleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}
"ativa o sono": verdadeiro ativa o sono, se colocado lá, falso ou remove o parâmetro (falso é o padrão) ESP nunca irá dormir
"sleepinterval": 900000 isto é millis, ou 15 min, significa que a cada 15 min o ESP vai acordar e fazer a equipe necessária
Então, agora todos podem jogar facilmente de acordo com a necessidade
Etapa 7: Ajuste de Sensores
Para minimizar o impacto do aquecimento interno no sensor de temperatura BME280
Firts fiz alguns tubos em torno do sensor e dos orifícios. Hovewer no meu modo quando o LED normalmente está desligado e o ESP está dormindo não é tão importante. Em outros casos, o sensor BME280 deve se mover para algum lugar para excluir a influência do aquecimento interno. Qualquer que seja o quão pequena influência eu encontrei, há dois parâmetros para compensar
"hum_corr": 10.0
o que significa que esses valores serão adicionados após a medição
O segundo é calibrar a medição da tensão da bateria, {"enabled": "true", "interval": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0,0
"cvalmax": 7,2
são para este propósito, porque a tensão é medida após os divisores dos resistores e comparada com 3,3 V, jogando com o valor cvalmax você pode alcançar a sintonia exata da tensão com o seu valor multimetr
Etapa 8: Adicionar dispositivo ao Apple Home Kit
Finalmente, quando seu dispositivo estiver funcionando corretamente, ele poderá ser adicionado ao Apple Home Kit e você poderá ver
valores dos sensores na tela inicial da Apple.
Primeiro você precisa reiniciar o dispositivo, assim que o dispositivo for iniciado ele não irá dormir 20 minutos é mais do que suficiente
Em seguida, abra o aplicativo Home Kit em seu dispositivo iOS e selecione ou crie um novo Home1. Pressione Adicionar (+)
2. Selecione Adicionar acessório.
3. Pressione Não tenho um código ou Não consigo digitalizar (serão adicionados mais detalhes sobre digitalização)
4. se tudo correr bem, você deve ver o seu novo dispositivo esp em uma lista (veja a imagem)
5. Selecione o dispositivo e confirme a adição sem certificação oficial
6. Digite a senha 11111111
7. Isso tudo! Você verá que o dispositivo foi emparelhado com sucesso, caso contrário, inicie o processo de emparelhamento novamente.
Com base nessa configuração, você verá dois dispositivos no Apple
1. Sensor de temperatura e sensor de Hum, indo profundamente, exibirá os valores em tela cheia
2. Sensor de luz:) Na verdade, a Apple é capaz de mostrar o ambiente de luz, mas não a voltagem, portanto, a voltagem da bateria está sendo exibida em Lux
Etapa 9: OTA: atualizações no ar
Antes de iniciar qualquer atualização é melhor reiniciar o ESP32, como mencionado antes, ele não irá dormir nos primeiros 20 minutos
Existem duas possibilidades para atualizar
- Configuração usando https://192.168.0. XX/browse você pode acessar seu sistema de arquivos no ESP e alterar os arquivos de configuração
- Você pode atualizar o firmware completamente. para este propósito, primeiro você precisa criar um novo. Isso pode ser feito por meio do Arduino ou do Visual Studio IDE. Em seguida, digite no navegador https://192.168.0. XX/update, selecione seu firmware e pressione atualizar. Espere até que o processo termine e você obterá uma resposta OK, caso contrário, repita a etapa novamente
Recomendado:
Estação meteorológica NaTaLia: Estação meteorológica com energia solar Arduino Feito da maneira certa: 8 etapas (com fotos)
Estação meteorológica de NaTaLia: Estação meteorológica com energia solar Arduino feito da maneira certa: após 1 ano de operação bem-sucedida em 2 locais diferentes, estou compartilhando meus planos de projeto de estação meteorológica movida a energia solar e explicando como ela evoluiu para um sistema que pode realmente sobreviver por muito tempo períodos de energia solar. Se você seguir
Estação meteorológica DIY e estação de sensor WiFi: 7 etapas (com fotos)
Estação meteorológica DIY e estação de sensor WiFi: Neste projeto, vou mostrar como criar uma estação meteorológica juntamente com uma estação de sensor WiFi. A estação sensora mede os dados locais de temperatura e umidade e os envia, via WiFi, para a estação meteorológica. A estação meteorológica exibe então t
Estação meteorológica solar ESP32: 4 etapas (com fotos)
ESP32 Solar Weather Station: para meu primeiro projeto de IoT, eu queria construir uma estação meteorológica e enviar os dados para data.sparkfun.com.Small correção, quando decidi abrir minha conta no Sparkfun, eles não estavam aceitando mais conexões, então eu escolha outro coletor de dados IoT que
Estação meteorológica WiFi com energia solar V1.0: 19 etapas (com fotos)
Estação meteorológica Wi-Fi alimentada por energia solar V1.0: Neste instrutivo, vou mostrar a você como construir uma estação meteorológica WiFi alimentada por energia solar com uma placa Wemos. O Wemos D1 Mini Pro tem um formato pequeno e uma ampla gama de protetores plug-and-play tornam-no uma solução ideal para obter rapidamente
Estação de energia do dormitório / Estação de carregamento de NiMH amplificado: 3 etapas
Central Elétrica do Dormitório / Estação de Carregamento de NiMH Souped Up: Eu tenho uma estação de energia uma bagunça. Eu queria condensar tudo o que é carregado em uma bancada e ter espaço para soldar / etc. Lista de coisas de poder: telefone celular (quebrado, mas carrega as baterias do meu telefone, então está sempre conectado e goteja chargi