Uma ferramenta pequena e simples que eu uso para ler nosso medidor de energia inteligente (holandês) e enviar os dados para um influxo em outro dispositivo. Isso me permite executar mais utilitários no mesmo Raspberry Pi sem que o dedique a apenas ler o medidor de energia.
É construído para ser compilável cruzado para, por exemplo, um PI, mas provavelmente pode ser executado em qualquer dispositivo Linux. Ele usa quase nenhuma potência da CPU e menos de 3 MB de RAM.
$ ./powreader --help Powreader 1.0
Powreader interprets the output from the digital power meter and outputs it in JSON or pushes it to an InfluxDB.
USAGE:
powreader [OPTIONS] <SERIALPORT>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-i, --influxdb <influxdb> Sets the full host and port to the influxdb. Data is transfered over UDP. This argument
is given in the form of HOST:PORT. If this argument is not set, data will be printed as
a JSON stream.
ARGS:
<SERIALPORT> Sets the serial port to use
Fiz uma configuração Systemd que garante que esse programa sempre seja executado. A sequência de execução para mim é:
/home/ubuntu/powreader --influxdb=192.168.0.50:8089 /dev/ttyUSB0Onde o '/dev/ttyusb0' é a conexão serial com o medidor de energia inteligente e o influxo-partido é a localização do banco de dados do InfluxDB que eu uso para pressionar os dados com o UDP.
Em seguida, eu uso o Grafana para exibir as medidas em gráficos e medidores.