БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
inspiritus
Сообщения: 8
Зарегистрирован: 05 окт 2012, 13:21

БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение inspiritus » 05 окт 2012, 13:28

Вопрос от inspiritus (по почте)
Собрал цепь из 80 датчиков на витой паре с терминированием конца (150м) , все работает прекрасно.
Читаю в owfs PHP скриптом по cron, складываю в mysql, потом делаю что хочу :)
ОДНАКО. цикл чтения всех датчиков занимает соответственно около минуты...
Поработал с датчиками на ардуине и обнаружил, что можно дать общую команду на преобразование, а потом через секунду считать со всех датчиков показания, со скоростью, ограниченной скоростью шины и опроса НЕ ОЖИДАЯ преобразования каждого датчика....
Возможен ли подобный режим под owfs?
Ответ от Andrey (по почте)
Да, такой режим есть.
Называется simultaneous conversion
Вызывается записью "1" в structure/simultaneous/temperature (путь может быть другим в зависимости от версии owfs)
Подобные обсуждения лучше вести на нашем форуме ab-log.ru/forum
...в связи с пожеланием перенес информацию на форум :)

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение maloicds » 05 окт 2012, 13:31

У себя сделал так

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

 $ow->set("/simultaneous/temperature",1);
Пока работает.

inspiritus
Сообщения: 8
Зарегистрирован: 05 окт 2012, 13:21

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение inspiritus » 05 окт 2012, 13:46

$ow->set("/simultaneous/temperature",1); не работает
пробую писать туда вручную 1 (через мс) ноль результата...
скорость опроса остается прежней :( может быть читать надо например из /uncached/ ?

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение maloicds » 05 окт 2012, 14:01

Попробуйте дать время (usleep (мкс)) после simultaneous на измерение температуры в зависимости от разрешающей способности
9bit 93.75ms
10bit 187.5ms
11bit 375ms
12bit 750ms
а потом читать ту температуру, которая нужна, например temperature10.
Особой разницы с /uncached/ веткой я не увидел.

inspiritus
Сообщения: 8
Зарегистрирован: 05 окт 2012, 13:21

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение inspiritus » 05 окт 2012, 14:33

нашел тут на форуме "козырь в рукаве - фича под названием "simultaneous temperature conversions"

как я понимаю этот флаг должен инициировать посылку "широковещательного" запроса на преобразование, которое может длиться хоть 10 секунд, зато потом можно считывать готовые показания с датчиков , без ожидания преобразования, тк уже все данные готовы...

к сожалению не нашел ничего по этому режиму работы на сайте разработчика owfs.

расскажите , кто пробовал этот режим поподробнее плз.

Ветер
Сообщения: 96
Зарегистрирован: 30 мар 2011, 07:58
Откуда: Минск, Беларусь (а не Белоруссия)

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение Ветер » 05 окт 2012, 15:08

inspiritus писал(а): Собрал цепь из 80 датчиков
впечатляет! может, есть схема этой сети, или хотя бы список назначения датчиков? очень любопытно :)
Скрещиваю 1-wire и водяное отопление

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение maloicds » 05 окт 2012, 15:23

Провёл эсперимент: есть 5 датчикоd ds18b20.
1. читаю temperature9 всех датчиков - время считывания 0.01 сек. показания не меняются
2. даю преобразование simultaneous читаю temperature9 - время 0.2-0.5 сек показания меняются
3. читаю uncached/temperature9 всех датчиков - время считывания 1.2 сек. показания меняются
4. даю преобразование simultaneous читаю uncached/temperature9 - время 0.9 сек показания меняются

Таким образом видно что uncached ветка сама запускает преобразование и simultaneous практически не меняет время считывания температуры

inspiritus
Сообщения: 8
Зарегистрирован: 05 окт 2012, 13:21

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение inspiritus » 05 окт 2012, 22:25

ну да... в чем только козырь в рукаве ?
или что-то неправильно делается. simultaneous.temperature практически сразу сбрасывается в ноль
однако на ардуине крутится нижеприведенный скетч,
и на терминал Serial .println выдает : 723-1820, 2011-3106, 3297-4393, 4584-5681, 5871-6968, 7158-8254,
то есть на считывание 6 датчиков в резолюции 10 уходит порядка 1.1 сек

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

void loop() {
   sensors.requestTemperatures();
Serial.print(millis());Serial.print("-");
   delay(1000);
    lcd.setCursor(0, 0);
    printTemperature(Thermometer1);

    lcd.setCursor(5, 0);
    lcd.print(" ");  
    lcd.setCursor(6, 0);
    printTemperature(Thermometer2);

    lcd.setCursor(10, 0);
    lcd.print(" ");  
    lcd.setCursor(11, 0);
    printTemperature(Thermometer3);

    lcd.setCursor(0, 1);
    printTemperature(Thermometer4);

    lcd.setCursor(5, 1);
    lcd.print(" ");  
    lcd.setCursor(6, 1);
    printTemperature(Thermometer5);

    lcd.setCursor(10, 1);
    lcd.print(" ");  
    lcd.setCursor(11, 1);
    printTemperature(Thermometer6);
Serial.print(millis());Serial.print(", ");
а схема простая, голубой свисток и от него витая пара (какчественная) одна пара из нее - земля и сигнал, вторая пара- земля и питание 5 в, на дальнем конце, в качаестве терминатора конденсатор 200 мкф, параллельно на нем керамика 2.2мкф и резистор 4 кОм от 5в. а стерегут они некое оборудование блоками по 3 штуки на единицу оборудования. все данные собирает скрипт на php и складает а мискл, откуда , через вЭб-мордочку все это наблюдается, перепривязывается, которая выдает команды на подстройку оборудования, и которая в перспективе будет управлять автоматикой подстройки вместо дежурного.

wmrru
Сообщения: 1
Зарегистрирован: 27 янв 2013, 12:13

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение wmrru » 27 янв 2013, 12:20

Hi ALL, у меня simultaneous из OWFS работает только если на все 18B20 в цепи подано питание, на паразитном не работает. у всех так?

inspiritus
Сообщения: 8
Зарегистрирован: 05 окт 2012, 13:21

Re: БОЛЬШОЙ умный дом - около 80 датчиков 18B20

Сообщение inspiritus » 03 мар 2013, 21:57

А какие, если не секрет , настройки для работы в sim режиме ... У меня на owfs так и не заработало в sim mode . Кстати этот режим в паразитном питании не работает...
Пока отошел от owfs в сторону ATmega 328 (поиграв с ардуиной) . Читаю датчики и скидываю в инет на сервер . Есть такое классное место ksduino.org называется. Там мжно создать параметры и в них скидывать свои данные. Также возможно и обратное - управление с сайта своим контроллером... Сейчас активно использую, очень удобно для систем УД

Ответить