Небольшой и простой инструмент, который я использую для чтения нашего (голландского) интеллектуального измерителя питания и отправки данных в InfluxDB на другом устройстве. Это позволяет мне запускать больше коммунальных услуг на одном и том же Raspberry Pi, не предназначенная для того, чтобы просто читать счетчик мощности.
Это сборка, чтобы быть перекрестной компиляцией, например, PI, но, вероятно, может работать на любом устройстве Linux. Он почти не использует мощность процессора и менее 3 МБ оперативной памяти.
$ ./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
Я сделал системную конфигурацию, которая гарантирует, что эта программа всегда работает. Строка выполнения для меня:
/home/ubuntu/powreader --influxdb=192.168.0.50:8089 /dev/ttyUSB0Где «/dev/ttyusb0» является последовательным соединением с интеллектуальным измерителем мощности, а plupuxdb-part-это местоположение базы данных InfluxDB, которую я использую для подталкивания данных с UDP.
Затем я использую Grafana для отображения измерений в графиках и датчиках.