Добрый день!
Прикрутил достаточно давно к ПК датчик температуры DS1820, год работал он нормально, недавно начал сбоить (показывать 85 градусов). Решил сделать "отстрел" ошибок на программном уровне и написать скрипт:
#!/bin/bash
old=$(cat /srv/www/htdocs/termoz.txt) # считывание предыдущего значения (для отладки)
err='85.0' # значение
trm=$(digitemp -q -a) # опрос датчика
if [ $trm = $err ] ; then
until [ $trm != $err ]; do # проверка на наличии ошибки
echo Warnink $trm # вывод сообщения об ошибке
sleep 5 # пауза в 5 секунд до повторного опроса датчика
trm=$(digitemp -q -a) # опрос датчика
done
fi
echo $trm°C > /srv/www/termo.txt # вывод показаний в файл
echo $trm > /srv/www/htdocs/termoz.txt # вывод показаний в файл
#echo End
Столкнулся с одной проблемой, при выполнении скрипта вручную, скрипт периодически пропускает значение с "ошибкой", в случае выполнения скрипта cron'ом выводится "пустое значение".
Работа с digitemp
Модератор: Модераторы разделов
-
AestheteAnimus
- Сообщения: 135
- ОС: FreeBSD 8.0-RELEASE amd64
Re: Работа с digitemp
Гм... А датчик менять не пробовали? В исходниках digitetrm пока не копался, но при чтении обычно проверяют контрольную сумму. Так что, если вы получили 85 градусов, то, скорее всего, такое число выдал датчик.
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Работа с digitemp
Вспоминается история (ithappens?), когда товарищ звонил в техподдержку хостера - "у меня на дедике что-то с lm_sensors, показывает 400 градусов!?" - "ой, это у нас пожар в дата-центре" :)
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
sapsann
- Сообщения: 40