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 )