Monitorização e registo do consumo de energia, lido a partir de um smartmeter através de uma unidade Hichi, utilizando uma placa esp32 (opcional) equipada com um display ssd1306 - sem necessidade de instalação de um servidor de domótica. :)
Copie config.h.default
para config.h
e edite config.h
de acordo com suas necessidades:
Hichi-mon.ino
e instale-o no seu esp32 para ser usado como monitor.Se tudo correr bem, você deverá ver os dados da sua unidade Hichi exibidos na unidade Hichi-mon.
Hichi-mon busca a leitura de energia atual de sua unidade Hichi via HTTP a cada segundo, para exibição e registro.
Um gráfico contínuo dos valores de consumo de energia mais recentes é exibido. Dependendo se FULL_DAY_DISPLAY
está #definido em config.h
, ele conterá um gráfico das 24 horas mais recentes (isso levará 24 horas para ser concluído antes de começar a rolar) ou dos dez minutos mais recentes (o que fornece mais detalhes, mas é mais passageiro).
Observe que, para o gráfico, as leituras de potência são calculadas em média ao longo de doze minutos (para uma exibição de 24 horas) ou de cinco segundos (para uma exibição de dez minutos).
À esquerda do gráfico, são impressos três valores: a leitura de potência mais baixa apresentada no gráfico, a leitura de potência mais recente obtida da unidade Hichi e a leitura de potência mais elevada apresentada no gráfico.
Exemplo para uma configuração de dez minutos:
Exemplo para uma configuração de 24 horas:
(Caso você esteja se perguntando sobre essas leituras negativas de energia: tenho uma pequena estação de energia solar instalada.)
Você também deve ser capaz de exibir o conteúdo da tela do Hichi-mon (mesmo sem um monitor ssd1306 conectado) em qualquer navegador da web em sua rede carregando http://<your-Hichi-mon-address>/
.
Se quiser que seu navegador exiba aquelas pequenas imagens ampliadas ao carregar, você pode usar Hichi-mon.html
em vez de carregar a imagem diretamente de sua unidade Hichi-mon. (Você pode ter que ajustar o endereço da sua unidade Hichi-mon no *.html
para isso.)
O salvamento periódico de arquivos de log e capturas de tela (veja acima) em uma conta do Dropbox pode ser ativado em config.h
. Para que esta função funcione, a permissão de acesso de leitura/gravação deve ser concedida ao Hichi-mon; para conseguir isso, carregue Get_Dropbox_token_for_Hichi-mon.html
em seu navegador e siga as instruções.
Os arquivos de log salvos serão nomeados yyyy-mm-dd_hh.csv
, com o nome base dos arquivos representando o dia e a hora atuais. Eles serão atualizados conforme especificado em config.h
e conterão linhas de texto no formato hh:mm:ss W
, fornecendo leituras de potência para os tempos indicados, por exemplo, 23:45:12 98
para uma demanda de potência de 98 Watts por volta de um quarto antes da meia-noite.
Para limitar a perda de dados de log ao reiniciar sua unidade Hichi-mon, os arquivos *.csv
existentes serão lidos e continuados ao mudar para um novo yyyy-mm-dd_hh
. Executar uma atualização OTA (veja abaixo) forçará a gravação *.csv
imediatamente antes da reinicialização do dispositivo e recarregará os dados do arquivo e continuará após a reinicialização.
As capturas de tela são salvas no formato bitmap do Windows e são sempre substituídas: apenas hichi-mon.bmp
é mantido como a captura de tela mais recente.
Basta carregar os arquivos de log *.csv
em seu aplicativo de planilha favorito (por exemplo, Excel, ...) e deixar que ele lhe forneça um gráfico do consumo de energia!
...ou, se você estiver em um sistema Unix e tiver o feedgnuplot (e gnuplot, perl, etc.) instalado, você pode experimentar hichi-mon.sh
e ver se ele atende às suas necessidades.
Quando chamado sem parâmetros, ele tenta ler os arquivos de log *.csv
do dia atual da sua conta do Dropbox (veja acima) e fornece uma exibição gráfica interativa dos dados contidos nos arquivos. Se você quiser ver dados mais antigos, forneça a data desejada no formato aaaa-mm-dd como parâmetro, por exemplo, hichi-mon.sh 2023-07-17
.
Exemplo de saída:
(Se você não tiver nenhum gerador de energia (por exemplo, fotovoltaico) em sua casa e, portanto, não houver leituras negativas de energia, a curva "Energia (paga)" será igual à curva "Energia (demanda líquida)" e "Energia (excesso fotovoltaico)" " será uma linha plana. Basta ajustar hichi-mon.sh
de acordo com suas necessidades.)
Ao carregar http://<your-Hichi-mon-address>:8080/
em seu navegador, você pode atualizar o software do Hichi-mon "over the air" (OTA). Lá você pode fazer upload de um arquivo criado via Sketch -> Export compiled binary file...
no IDE do Arduino. (É claro que isso funciona apenas com um esp32 já executando software habilitado para OTA, ou seja, na primeira vez que você precisa carregar o software Hichi-mon em seu esp32 via USB.)
Hichi-mon foi derivado do meu BSBmonCR.
String
vs. char*
).