Страница 1 из 1

Показания с локального датчика

Добавлено: Вт май 27, 2014 9:08 pm
Mochalov_da
Помогите пожалуйста разобраться!
Я подключил датчик DS18B20 на прямую к Cubieboard на котором стоит MD. Теперь я могу снимать с него показания вот таким маленьким скриптом:

Код: Выделить всё

$file = file_get_contents('/sys/bus/w1/devices/28-0000056cc04c/w1_slave', true);
$str_new = explode('t=', $file );
echo $str_new[1] / 1000;
Как мне грамотно прописать этот датчик в MD, что бы его значения писались в базу и т.д.???
Долго пытался понять как работает система...
Хотел воспользоваться примером из статьи http://smartliving.ru/Main/ScMonitorHeating, но так и не смог понять откуда берется $params['t']...
Помогите пожалуйста :oops:

Re: Показания с локального датчика

Добавлено: Пт май 30, 2014 9:09 pm
alexg31
У меня опрос нескольких датчиков реализован следующим образом:
Создаем класс Tempsens, добавляем 2 свойства: ident (идентификатор датчика, в твоем случае это 28-0000056cc04c) и temperc (сюда будут сохраняться показания датчиков). Для каждого датчика создаем внутри класса объект и прописываем идентификатор. Далее создаем сценарий опроса датчиков:

Код: Выделить всё

$objects=getObjectsByClass("Tempsens");
foreach($objects as $obj) {
$file=getGlobal($obj['TITLE'].".ident");
$file = '/sys/bus/w1/devices'.$file.'/w1_slave';
$lines = file($file);
$temp = explode('=', $lines[1]);
$temp = number_format($temp[1] / 1000, 1, ',', '');
setGlobal($obj['TITLE'].".temperc",$temp);
}
и запускаем через метод onNewMinute