App-Device-Chip-sensor
view release on metacpan or search on metacpan
bin/device-chip-sensor view on Meta::CPAN
use v5.26;
use warnings;
use Object::Pad 0.66;
use Future::AsyncAwait;
use Future::IO::Impl::IOAsync;
STDOUT->autoflush(1);
STDOUT->binmode( ":encoding(UTF-8)" );
=head1 NAME
C<device-chip-sensor> - commandline test utility for C<Device::Chip> sensor data
=head1 SYNOPSIS
$ device-chip-sensor -A BusPirate BME280
=head1 DESCRIPTION
bin/device-chip-sensor-datalogger view on Meta::CPAN
#!/usr/bin/perl
use v5.26;
use warnings;
use Object::Pad 0.76;
use Future::AsyncAwait;
use Future::IO::Impl::IOAsync;
STDOUT->binmode( ":encoding(UTF-8)" );
=head1 NAME
C<device-chip-sensor-datalogger> - write CSV files from C<Device::Chip> sensor data
=head1 SYNOPSIS
$ device-chip-sensor-datalogger -A BusPirate BME280 -o data.csv
=head1 DESCRIPTION
bin/device-chip-sensor-datalogger view on Meta::CPAN
}
field $_csv;
field $_outh;
async method after_sensors :override ( @sensors )
{
$_csv = Text::CSV->new;
open $_outh, ">", $_OUTFILE or die "Unable to open $_OUTFILE for writing - $!\n";
$_outh->binmode( ":encoding(UTF-8)" );
$_outh->autoflush;
$_csv->say( $_outh,
[ "# timestamp", map {
my $sensor = $_;
my $chip = $sensor->chip;
my $chipname = ( ref $chip ) =~ s/^Device::Chip:://r;
sprintf "%s %s (%s)", $chipname, $_->name, $_->units
} @sensors ]
bin/device-chip-sensor-exporter view on Meta::CPAN
eval { require Future::AsyncAwait::Metrics };
$metrics->make_counter( chip_failures =>
name => "app_device_chip_sensor_chip_failures",
description => "Number of times a failure has been reported, per chip",
labels => [qw( chip )],
);
STDOUT->autoflush(1);
STDOUT->binmode( ":encoding(UTF-8)" );
my $PORT;
my $VERBOSE;
my $STRFTIME = "%Y-%m-%d %H:%M:%S";
class MyApp :isa(App::Device::Chip::sensor)
{
use Carp;
use POSIX qw( strftime );
( run in 0.277 second using v1.01-cache-2.11-cpan-87723dcf8b7 )