Índice:

Monitor de energia baseado em PI do eletrodoméstico Raspberry: 14 etapas
Monitor de energia baseado em PI do eletrodoméstico Raspberry: 14 etapas
Anonim
Monitor de energia baseado em PI Raspberry para eletrodomésticos
Monitor de energia baseado em PI Raspberry para eletrodomésticos
Monitor de energia baseado em PI Raspberry para eletrodomésticos
Monitor de energia baseado em PI Raspberry para eletrodomésticos

Este foi um pequeno projeto que fiz para monitorar o uso de energia de aparelhos individuais pela casa e exibir gráficos de seu uso de energia ao longo do tempo. Na verdade, é um dos projetos mais fáceis baseados no Raspberry PI que fiz, sem a necessidade de soldar ou hackear produtos abertos. Não precisa ser um projeto Raspberry PI, pode ser feito facilmente em uma caixa Linux ou talvez Windows.

O custo é de $ 50 AUD para o conjunto de 4 do monitor de energia / plugues inteligentes e o custo de um Raspberry PI. Isso pode ser executado em um Pi Zero ou no PI Original, embora eu tenha achado que era um pouco lento. O único outro PI que tenho é um PI 3 e eu achei muito rápido, então é o que eu recomendaria. Observe se você deseja executá-lo em um PI mais antigo, pode reduzir a frequência de coleta de dados (eu estava usando 10 segundos).

Este projeto também tem o benefício adicional de liberar o plugue inteligente do firmware do fabricante, para que você não precise usar seus aplicativos e serviços em nuvem específicos. Portanto, eles podem ser usados com o Home Assist ou apenas com seus próprios scripts Python.

Observe que estou assumindo que você sabe como instalar o sistema operacional no PI, conecte-se a ele e execute alguns comandos básicos do Linux. Também estou supondo que você sabe como encontrar o endereço IP do seu plugue inteligente assim que ele se conectar ao seu WiFi.

Suprimentos

2 pacotes ou 4 pacotes de plugues inteligentes a partir daqui:

www.kogan.com/au/buy/kogan-smarterhome-sma…

1 framboesa PI

Habilidades:

Capacidade de configurar um PI de framboesa

Linha de comando básica do Linux

Editor de texto como vi ou nano (o nano é mais amigável, o vi é mais rápido quando você o conhece)

Capacidade de encontrar IP de dispositivos em sua rede.

Etapa 1: Compre alguns plugues inteligentes

Compre alguns plugues inteligentes
Compre alguns plugues inteligentes

O plugue inteligente que usei foi daqui:

www.kogan.com/au/buy/kogan-smarterhome-sma…

Observe que há uma grande variedade de plugues inteligentes que são compatíveis, a maioria (todos?) São dispositivos baseados em ESP8266 (WEMOS) e são muito fáceis de atualizar. Certifique-se de obter algo que tenha monitoramento de energia como muitos não. Esta página mostra uma grande lista de dispositivos compatíveis:

templates.blakadder.com/plug.html

Etapa 2: atualizando o dispositivo

Essa parte foi surpreendentemente fácil. Você basicamente baixa o software, executa-o e ele o orienta.

Para isso, você precisará de uma caixa Raspberry PI ou Linux com wi-fi. Você precisará ter sua conexão primária com este dispositivo NÃO sendo o WiFi. Para o meu PI3, isso foi fácil, pois eu estava conectado via Ethernet. Se você tiver um PI Zero, terá que se conectar da maneira antiga, com teclado e monitor.

Presumo que você saiba como configurar um PI e se conectar a ele com SSH ou teclado, então não vou passar por isso. Se você não tiver certeza, existem muitos tutoriais na web.

Antes de começarmos, apenas algumas informações básicas sobre os dispositivos. Há uma empresa na China chamada Tuya que produz plugues inteligentes para diferentes clientes. Eles personalizam para clientes diferentes e fornecem um firmware padrão e permitem que as empresas façam suas próprias modificações. O problema com isso é que, se você tiver vários produtos de diferentes fornecedores, terá que executar vários aplicativos, alguns dos quais funcionam melhor do que outros. Ao atualizar um firmware de código aberto, você se livra de tudo isso. Portanto, isso é bom para automação residencial em geral.

Então …. sem mais delongas, aqui estão as instruções:

1) Execute esses comandos no PI, isso instalará o software necessário.

# git clone https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert #./install_prereq.sh

2) Conecte o plugue inteligente na alimentação

3) Ligue-o com o botão

4) Segure o botão liga / desliga até que a luz azul comece a piscar

5) Aguarde 10 segundos. Isso não é essencial, mas descobri que funcionava melhor se você o fizesse.

6) Execute este comando

./start_flash.sh

A partir daqui basta seguir as instruções, mas no final selecione "2. Tasmota". Existe uma opção para um firmware diferente, mas não tentei, então não tenho certeza de como é.

Observe que tive que fazer isso mais de uma vez, a princípio pensei que tinha travado o dispositivo, não tinha luzes, nem clique do relé, nem sinais de vida. Mas eu desliguei e executei o último comando novamente e funcionou. Tive que fazer isso com 3 dos 4 dispositivos que atualizei, apenas um foi direto, acho que devido à etapa 5.

Instruções completas aqui:

github.com/ct-Open-Source/tuya-convert

Etapa 3: Conectando-se ao firmware pela primeira vez

Conectando-se ao firmware pela primeira vez
Conectando-se ao firmware pela primeira vez
Conectando-se ao firmware pela primeira vez
Conectando-se ao firmware pela primeira vez
Conectando-se ao firmware pela primeira vez
Conectando-se ao firmware pela primeira vez

Depois de ativar o tasmota no dispositivo, ele não mostrará muitos sinais de vida. A razão para isso é que ele precisa ser configurado. Fazer isso é bastante fácil, achei melhor fazê-lo com meu telefone. As etapas são:

1) Procure pontos de acesso WiFi

2) Conecte-se àquele identificado como tasmota_xxxx (onde x são números)

3) O telefone deve direcioná-lo para a página padrão, caso não vá para 192.168.4.1

Observe que em alguns telefones pode aparecer uma mensagem dizendo "sem acesso à Internet, deseja permanecer conectado", selecione sim.

4) Na página que aparece, digite o nome da sua rede WiFi e a senha nas 2 primeiras caixas. Clique na opção para mostrar a senha e verifique três vezes se você digitou a senha correta. Se você digitou a senha errada, acredito que pode ser difícil voltar para esta tela de configuração. Observe que você também pode procurar redes WiFi, embora obviamente ainda precise inserir a senha.

5) O plugue agora deve estar conectado à sua rede sem fio. Você precisará ir para a página de configuração do seu roteador e encontrar o IP do seu dispositivo.

6) Abra um navegador da web em seu PC e vá para https:// [device_ip]. Você deve ver a tela de configuração do Tasmota.

Parabéns, você ativou o plug com sucesso.

Etapa 4: Configurando o plugue

Configurando o Plug
Configurando o Plug

A empresa que fabrica esses dispositivos aparentemente fabrica 10.000 dispositivos com muitas configurações diferentes. Acabamos de atualizar um novo firmware e o firmware não sabe em quais dispositivos foi atualizado. Portanto, antes de tudo funcionar, precisamos configurá-lo. Para fazer isso, precisamos encontrar os detalhes do nosso dispositivo na web e carregar essa configuração específica.

Para isso, encontre o seu dispositivo nesta página:

templates.blakadder.com/plug.html

Para o dispositivo que usei, a configuração está aqui:

templates.blakadder.com/kogan-KASPEMHUSBA….

Para definir a configuração, basta copiar o texto em Template. Nesse caso, é:

Então

1) Vá para a página de configuração do dispositivo https:// [IP do plugue inteligente]

2) Clique em configurar, configurar outro

3) Cole no seu modelo de string

4) Marque "Habilitar MQTT"

5) Clique em ativar e Salvar.

Para testar se isso funcionou, clique em "Menu principal" para voltar à página inicial e você deverá ver os números de uso de energia. Eles serão todos zero, até mesmo a voltagem, mas isso é um bom sinal. Clique no botão de alternância e você deve ouvir o clique do relé e ver a tensão subir.

Etapa 5: calibrar a tensão

Calibrar tensão
Calibrar tensão

Eu descobri que a leitura da tensão estava bastante alta. Se você tiver outra fonte de leitura de tensão em casa (por exemplo, medidor inteligente, talvez ??), você pode calibrar o plugue com muita facilidade. Para fazer isso

1) Obtenha a leitura de tensão correta

2) Ligue o relé no plugue inteligente

3) Clique em Console na página inicial do dispositivo

4) Digite o comando "VoltageSet 228" e pressione Enter (substitua 228 pela sua tensão)

A tensão agora deve ser exibida corretamente.

Etapa 6: Instalando o software no PI

Existem alguns pacotes que precisam ser instalados no PI. Eles são fáceis de instalar e podem ser feitos seguindo as instruções dos vários pacotes. Vou dar as instruções aqui, mas observe que elas podem mudar com o tempo, portanto, minhas instruções serão atualizadas. Os pacotes são:

Grafana (para exibir gráficos)

Influxdb (banco de dados de série temporal que armazenará nossos dados)

Telegraf (usado para enviar dados para o Influxdb)

Mosquitto (barramento de mensagem usado para transmitir dados, o plugue inteligente empurra os dados aqui)

A cadeia de fluxo de dados é assim:

Smart Plug -> Mosquitto -> Telegraf -> InfluxDB -> Grafana

Se você está perguntando por que não podemos ignorar o Mosquitto e o Telegraf, essa é uma boa pergunta. Em teoria, o Smart Plug poderia empurrar para o Influx. O problema com isso é que teria que ser configurável para centenas de terminais diferentes e nos impediria de algumas opções. A maioria das coisas em automação residencial usa o Mosquitto para passar mensagens. Como exemplo, podemos ligar e desligar o plugue enviando mensagens para o Mosquitto e o plugue inteligente irá recebê-las e responder.

Etapa 7: Instalando o Grafana

Instalando Grafana
Instalando Grafana

A partir de:

grafana.com/grafana/download?platform=arm

Ou muitas outras opções aqui:

grafana.com/grafana/download

Para Pi 1 e Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1 # encontre a versão mais recente na página no topwget https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg -i grafana-rpi_7.0.1_armhf. debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl ativar grafana-serversudo / bin / systemctl start grafana-server

Para PIs mais recentes (ARMv7)

sudo apt-get install -y adduser libfontconfig1 # encontre a versão mais recente na página em topwget https://dl.grafana.com/oss/release/grafana_7.0.1_…sudo dpkg -i grafana_7.0.1_armhf.debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl ativar grafana-serversudo / bin / systemctl start grafana-server

Testar:

Vá para https:// [IP of PI]: 3000

nome de usuário / senha é admin / admin, irá pedir para você alterá-lo, você pode pular por agora

Se você obtiver uma GUI, tudo bem, vá para a próxima etapa

Etapa 8: Instalando o InfluxDB

Execute estes comandos no PI:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -source / etc / os-releasetest $ VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt-get updatesudo apt-get install influxdbsudo systemctl ativar influxdbsudo systemctl iniciar influxdb

Teste digitando "influx". Isso deve colocá-lo na linha de comando influxdb. Digite "mostrar bancos de dados", não haverá bancos de dados ainda, mas se você receber uma lista vazia sem erros, tudo bem.

Etapa 9: Instalando o Telegraf

Este é realmente fácil, porque adicionamos os repositórios influxdb que podemos apenas digitar:

sudo apt-get install telegrafsudo systemctl enable telegrafsudo systemctl start telegraf

Neste ponto, o Telegraf já estará registrando as métricas do sistema no influxdb. Você pode vê-los digitando estes comandos:

influxshow databaseuse telegrafshow seriesSELECT * FROM cpu LIMIT 10;

Etapa 10: Instale o Mosquitto

Esta parte é fácil, pois apenas instalamos a versão padrão fornecida com o raspian:

sudo apt-get -y install mosquittosudo apt-get -y install mosquitto-clientssudo systemctl enable mosquittosudo systemctl start mosquitto # crie uma senha para mosquittosudo mosquitto_passwd -c / etc / mosquitto / tasmota tasmota # insira uma senha. Anote essa senha, pois precisaremos fornecê-la ao plugue inteligente

Testar:

execute isso em uma sessão SSH:

mosquitto_sub -t test

Execute isso em outro

mosquitto_pub -t test -m mymessage

Você deve ver sua mensagem na primeira sessão SSH

Etapa 11: Envio de dados do plugue inteligente para o Mosquitto

Enviando dados do plugue inteligente para o Mosquitto
Enviando dados do plugue inteligente para o Mosquitto

Agora que o mosquitto está em execução, precisamos configurar o plugue inteligente para enviar dados ao mosquitto. Isso é bastante fácil de fazer. Precisaremos da senha inserida para mosquitto na etapa anterior.

1) Faça login em sua página da web de plugs inteligentes

2) Clique em Configuração e em Configurar registro

3) Defina o período de telemetria para 10 e clique em salvar.

4) Clique em Configurar MQTT

5) Para host, digite o endereço IP do seu PI

6) Para o nome de usuário, digite tasmota

7) Para senha, digite a senha da etapa anterior

8) Para o tópico, insira tasmota1

9) Clique em Salvar

Testar:

No PI, digite o comando abaixo. Em 10 segundos, você deverá ver os dados chegando.

mosquitto_sub -t tele / tasmota1 / SENSOR

Os dados devem ser assim:

Etapa 12: use o Telegraf para enviar dados do Mosquitto para o influxo

Agora vamos configurar o Telegraf para ler os dados do mosquitto e enviar para o influxdb. No PI:

1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak

2) sudo vi /etc/telegraf/telegraf.conf

Observe que o vi não é muito amigável para novos usuários, se você preferir um editor de texto baseado em menu, use o nano:

sudo nano /etc/telegraf/telegraf.conf

3) Cole a configuração do arquivo anexado

4) sudo systemctl restart telegraf

Para testar, digite isso no PI:

influxo

mostrar bancos de dados

você deve ver o banco de dados de teste. Se você não gostar do teste de nome, você pode alterar dest_db no arquivo telegraf.conf.

Etapa 13: Por fim, crie gráficos no Grafana

Finalmente, crie gráficos no Grafana
Finalmente, crie gráficos no Grafana

Finalmente, podemos ver alguns dados:-):-)

Primeiro, precisamos criar uma conexão com o banco de dados. Vá para a página web da grafana http: [ip of PI]: 3000

1) Faça login com admin / admin

2) Na coluna esquerda, clique no ícone de engrenagem e nas fontes de dados

3) Clique em adicionar fonte de dados

4) Clique em influxdb

5) Para URL, digite https:// localhost: 8086

6) Para o banco de dados, insira o teste

7) Para HTTP, digite GET

8) Para o intervalo de tempo mínimo, insira 10s

9) Clique em Salvar e testar, deve dizer "A fonte de dados está funcionando"

OK, agora que temos uma conexão com o banco de dados podemos criar um gráfico … finalmente.

1) Na coluna da esquerda, clique em + e, em seguida, em Painel e Adicionar novo painel

2) Para o banco de dados, clique em InfluxDB

3) Clique em medição e selecione Kogan

4) Para o campo, selecione Energy_Power.

5) Para alias, dê um nome à sua série (por exemplo, Máquina de lavar louça)

6) No lado direito do título do painel, atribua um nome, por exemplo, Power.

7) É isso, você deve ver os dados. Clique no botão de seta para a esquerda para sair da edição e, em seguida, clique em Salvar, dê um nome ao seu painel.

Se você chegou até aqui, ótimo trabalho, sério.

Etapa 14: mais algumas dicas

Mais algumas dicas
Mais algumas dicas
Mais algumas dicas
Mais algumas dicas

A configuração padrão do Telegraf que forneci exigia um pouco de manutenção, pois uma nova seção precisa ser adicionada para cada dispositivo e é necessário reiniciar o Telegraf. Com as alterações abaixo, torna as coisas muito mais dinâmicas, pois os dispositivos podem ser adicionados ou renomeados na configuração do Tasmota sem a necessidade de alterar o Telegraf.

A primeira mudança é colocar o + no nome do tópico, isso é basicamente um curinga. Isso por si só seria suficiente, exceto quando você está fazendo gráficos no Grafana, os dispositivos aparecem com nomes como "tele / Máquina de lavar / SENSOR". A segunda parte da configuração do Telegraf abaixo é o processador regex. Ele puxa o texto "WashingMachine" do centro e o transforma em uma nova tag que é enviada para o InfluxDB.

Nota: certifique-se de definir um nome de tópico diferente na configuração do Tasmota para cada dispositivo

[inputs.mqtt_consumer.tags] dest_db = "teste"

Feito isso, é muito fácil configurar o Grafana para mostrar vários dispositivos em um gráfico. A foto anexada a esta etapa mostra o que precisa ser feito. Basta clicar no sinal + no grupo por linha e selecionar tag (dispositivo). Abaixo, na parte inferior, em Alias, digite $ tag_device. Agora você deve ver várias séries em um gráfico. Você pode clicar no texto de cada item para ligá-los e desligá-los (ctrl click funciona para selecionar múltiplos)

Recomendado: