7 # sudo apt install libiio-utils mosquitto-clients
9 my $influx_url = shift @ARGV || 'http://10.13.37.92:8086/write?consistency=any&db=rot13';
11 my $hostname = `hostname -s`;
16 my $t = Time::HiRes::time;
17 my $t_influx = int( $t * 1_000_000_000 );
26 foreach ( split(/\n/, $iio) ) {
27 if ( m/iio:device\d+:\s+(\S+)/ ) {
30 if ( $influx =~ m/,$/ ) {
31 $influx =~ s/,$/ $t_influx\n/;
33 $influx .= "iio,dc=trnjanska,host=$hostname,device=$device ";
35 } elsif ( m/(\S+):\s+\(input\)/ ) {
37 } elsif ( m/attr\s+0:\s+input\svalue: (\d+[\.\d]+)/ ) {
39 if ( $val !~ m/\d+\.\d+/ ) {
42 my $topic = "iio/$hostname/$device/$name";
43 #print "$topic $val\n";
44 system "mosquitto_pub -h rpi2 -t $topic -m $val";
46 $influx .= "$name=$val,";
52 $influx =~ s/,$/ $t_influx/;
53 system "curl --silent -XPOST '$influx_url' --data-binary '$influx'";
56 sleep Time::HiRes::time + 1 - $t;