Чтение датчика температуры DS18B20 на Perl (Raspberry Pi)

Jan 16, 2022 18:01


Открою небольшую серию заметок по взаимодействию с различными примитивными устройствами на языке Perl из ОС Linux. Устройство - Raspberry Pi 3, либо 4, как наиболее используемый одноплатный компьютер.

Выкладывать начинаю в виде утилитки (скрипта), но если кому-то нужен не пример или готовый простенький сценарий, а библиотека - могу и в виде ( Read more... )

1-wire, ds18b20, iot, raspberry, perl

Leave a comment

Comments 5

trilirium January 16 2022, 15:40:20 UTC
Спасибо, любопытно!

(Но - чтение файла через подстановку вывода '/bin/cat'??? Не извращение ли?? ))

Reply

kolganov_su January 16 2022, 16:08:51 UTC
Вариант для ленивых, как и через more, tail, less, да что угодно. Как правило, там содержимого с гулькин нос.

Через perl чуть длиннее все же (\@ - слеш лишний).
my \@slaves = getFile('/sys/bus/w1/devices/w1_bus_master1/w1_master_slaves');
sub getFile {
my $file = shift;
my \@source;
if (open(my $fh, '<', $file)) {
while (<$fh>) {
s/[\r\n]+$//;
push(@source, $_);
}
return \@source;
}
return undef;
}

Интересно, как в ЖЖ обойти автозамену \@user на ссылку на пользователя. С подсечением тоже текст портится, т.к. слеш не скрывается.

Reply


vedomir_li January 17 2022, 15:11:12 UTC
С совершенно чуждого мира C# Python смотрится гораздо приятнее Perl ))

Reply

kolganov_su January 17 2022, 16:41:59 UTC
Дело привычки.
Для меня perl - любимый язык из-за его чуть большей близости к человеческому (английскому) языку по конструкции предложений. Проще писать, как думаешь. А вот читать, наоборот, сложнее.

Reply

vedomir_li January 17 2022, 20:23:38 UTC
Ну чтение кода это гораздо более важная вещь чем написание, особенно когда он чужой, старый и его надо править. )))

Reply


Leave a comment

Up