projects
/
air-quality
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mention serial ports 3v3
[air-quality]
/
pms3003.pl
diff --git
a/pms3003.pl
b/pms3003.pl
index
2d52db8
..
7c0205e
100755
(executable)
--- a/
pms3003.pl
+++ b/
pms3003.pl
@@
-3,6
+3,7
@@
use warnings;
use strict;
# sudo apt install libdevice-serialport-perl libdata-dump-perl
use Device::SerialPort;
use strict;
# sudo apt install libdevice-serialport-perl libdata-dump-perl
use Device::SerialPort;
+use Time::HiRes;
use Data::Dump qw(dump);
my $port = shift @ARGV || '/dev/ttyUSB0';
use Data::Dump qw(dump);
my $port = shift @ARGV || '/dev/ttyUSB0';
@@
-36,6
+37,8
@@
pm10_r
while (1) {
my ($len, $string) = $s->read(24);
while (1) {
my ($len, $string) = $s->read(24);
+ my $t = int( Time::HiRes::time() * 1_000_000_000 );
+ die $! if ! defined($len);
if ( $len > 0 ) {
my @v = unpack('n*', $string);
warn "# $len ",dump($string), dump( @v ), $/ if $debug;
if ( $len > 0 ) {
my @v = unpack('n*', $string);
warn "# $len ",dump($string), dump( @v ), $/ if $debug;
@@
-56,6
+59,7
@@
while (1) {
$influx .= "$names[$i]=$v[$i],";
};
$influx =~ s/,$//;
$influx .= "$names[$i]=$v[$i],";
};
$influx =~ s/,$//;
+ $influx .= " $t";
print "$influx\n";
system "curl --silent -XPOST '$influx_url' --data-binary '$influx'"
}
print "$influx\n";
system "curl --silent -XPOST '$influx_url' --data-binary '$influx'"
}