1-wire: первые шаги

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Metlik
Сообщения: 7
Зарегистрирован: 06 янв 2014, 20:53

1-wire: первые шаги

Сообщение Metlik » 09 янв 2014, 18:29

Добрый день! Прежде всего хочу сказать спасибо автору сайта за проделанную работу :)

Я решил потихоньку осваивать концепцию "умного дома" и для экспериментов выбрал технологию 1wire. Изучал статьи на сайте и форум, но все таки есть вопросы, не сочтите за флуд.

Имеется простенькая сеть 1wire (USB-мастер и несколько датчиков температуры DS18B20). Все работает, температуру кажет. Хотелось бы эти данные свести в табличку и строить по ним графики, но, к сожалению, на сайте подробной информации я не нашел (линк, который говорит как раз об этом, ведет сюда http://www.ab-log.ru/page.php?ID=18 , где я не нашел подробностей). Дело в том, что я чайник в программировании. Какие-то простенькие вещи могу разобрать, но код PHP-скриптов наводит на меня депрессию. Точнее не код, а синтаксис :) Поэтому я был бы благодарен за советы и примеры написанных скриптов, чтобы просто их адаптировать к своей системе.
Имеется Ubuntu 12.04 и какие-то базовые знания по нему и технической части (ну и отличить SQL от РНР я тоже могу :). На данный момент я представляю себе такой план:
поднять MySQL, PHP и с их помощью делать выборки данных по температуре через определенные промежутки времени, записывая их в БД. После чего по данным из MySQL строить графики (jpgraph или чем-то еще - вопрос пока открыт, поскольку до этого этапа еще нужно добраться). Так вот, как все это реализовать технически (пока без изысков :)? Может кто-то поделится своими наработками. На данном этапе речь идет об элементарном уровне работы с данными и изобретать велосипед не хотелось бы. Спасибо заранее!

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: 1-wire: первые шаги

Сообщение Mixman » 10 янв 2014, 17:05

Напишу тут, дабы не плодить новую тему. Подцепил сегодня к L7805 (сюда заходит +12, выходит +5,05) температурный DS18B20 ... Якобы уйти от паразитного с целью быстрого опроса. Но при заходе браузером на IP:3001 не заметил разницы между паразитным и с питанием. Если нет разницы, то может вернуть на паразитное и стать энергонезависимым?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: 1-wire: первые шаги

Сообщение Andrey_B » 10 янв 2014, 19:02

Mixman, основное преимущество питания DS18B20 заключается в том, что в момент конвертации температуры (а это в 12-битном режиме около 0,75 секунды) 1-wire шина не блокируется. Ну и питание необходимо при измерении температур выше 100 градусов. Скорость конвертации от питания никак не зависит.

Metlik, а вы смотрели Демо-интерфейс? Там все есть.

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: 1-wire: первые шаги

Сообщение Mixman » 10 янв 2014, 19:48

Блокирует, т.е. опросы других элементов 1 wire сети невозможны, правильно?

Значит если мастер один и на нем висят и другие элементы (особенно для опроса "сухих контактов"), то лучше с питанием, собственно мой случай.

А если 2 мастера, на одном из которых только температурные, а на другом мастере все остальные, то плюсов нет. правильно?

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: 1-wire: первые шаги

Сообщение Mixman » 10 янв 2014, 21:09

Блин, в такой схеме пошли 85градусов :( как избавиться?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: 1-wire: первые шаги

Сообщение Andrey_B » 10 янв 2014, 21:49

+85C - это так называемое значение "power-on reset". Насколько я понимаю, такое значение содержит датчик, подключенный к шине до тех пор, пока не пришла команда на конвертацию температуры. Причин получения +85 градусов много. Некачественные соединения или питание, плохой или слишком длинный кабель, проблемы с мастером, все что угодно. Как говорят в таких случаях врачи, данный симптом не является специфичным и не может использоваться для постановки точного диагноза.

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: 1-wire: первые шаги

Сообщение Mixman » 10 янв 2014, 22:38

Просто странно как-то, на temperature9 и temperature10 = 85гр., на остальных реальное значение. Я так понял, что начать "лечение" нужно с перепайки, т.к. провода, мастер и ds18b20 тот же, что и на паразитном.


Может это быть из-за +5,05В на L7805 ? Хотя в даташите на ds18b20 указано Vdd от 3-5,5В

Metlik
Сообщения: 7
Зарегистрирован: 06 янв 2014, 20:53

Re: 1-wire: первые шаги

Сообщение Metlik » 11 янв 2014, 01:05

Andrey_B писал(а):Metlik, а вы смотрели Демо-интерфейс? Там все есть.
Уже смотрю - раньше почему-то не обратил внимания. Я так и думал, что где-то должны быть описаны основы. Буду изучать, спасибо!

Metlik
Сообщения: 7
Зарегистрирован: 06 янв 2014, 20:53

Re: 1-wire: первые шаги

Сообщение Metlik » 13 янв 2014, 02:52

Доброй ночи!

Пытаюсь действовать по инструкции и запустить Демо-интерфейс, однако споткнулся на импортировании дампа ДБ: поскольку файл больше двух мегабайт, через phpMyAdmin его импортировать не получается и решил воспользоваться утилитой BigDump, но она вылетает с ошибкой:
Error at the line 137: ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
хотя кодировка самой базы, созданной с помощью phpMyAdmin - именно utf8
Не подскажете, куда копать?

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

CONSTRAINT `tCont_ibfk_1` FOREIGN KEY (`TemplateID`) REFERENCES `tTemplate` (`TemplateID`),
 CONSTRAINT `tCont_ibfk_2` FOREIGN KEY (`ListID`) REFERENCES `tList` (`ListID`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

MySQL: Can't create table 'ablog.tCont' (errno: 150)
Спасибо!

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: 1-wire: первые шаги

Сообщение Mixman » 13 янв 2014, 08:34

Можно делать бэкап и заливать базу и через консоль. http://habrahabr.ru/post/105954/

Обсуждение демоинтерфейса, а так же связанные с ним вопросы тут viewtopic.php?f=1&t=2

Metlik
Сообщения: 7
Зарегистрирован: 06 янв 2014, 20:53

Re: 1-wire: первые шаги

Сообщение Metlik » 13 янв 2014, 12:01

да, заработало - спасибо! :)

Lewcom
Сообщения: 8
Зарегистрирован: 23 янв 2014, 23:08

Re: 1-wire: первые шаги

Сообщение Lewcom » 23 янв 2014, 23:32

Добрый вечер.
Подскажите пожалуйста самые первые шаги.

Прикупил для пробы мастер usb ds9490r и несколько термодатчиков.
Скачал для него драйвера, он определился
Изображение
Скачал OWFS для Windows XP 32 (owfs_2.8p14), установил, а он не запускается.
Изображение
Изображение
Перепробовал кучу вариантов ключей, в процесах ни один из них не появляется.
Помогите пожалуйста разобраться.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: 1-wire: первые шаги

Сообщение Andrey_B » 24 янв 2014, 10:28

Lewcom, я не запускал owfs в Windows, но в отладочном логе же все написано.
1. Socket problem - может быть создание сокета заблокировала ОС, файрвол? Запуск от имени администратора?
2. No valid 1-wire buses found - может быть надо запускать с ключом -u ?

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: 1-wire: первые шаги

Сообщение shemnik69 » 24 янв 2014, 11:11

OWFS запустился (после нескольких пробных вариантов) вот так c:\OWFS\bin\owserver.exe -u -s -d 4304 в таком варианте, все отлично! Стартует без проблем.
Нагрузка на ядра 2-3 %. Если под виндой..то есть такая особенность как утечка памяти!...100-150 мб в сутки (не знал, пока не обнаружил, что стала интенсивная подкачка) чтобы избежать этого, лучше делать скрипт на перезагрузку OWFS раз в сутки, например в 00:00 тогда он и стабилен, и память не теряется.
Что это за процесс, не совсем понятно, но такая процедура решает вопрос. Порт выхода можно ставить любой но 4304 присутствует по умолчанию.

Lewcom
Сообщения: 8
Зарегистрирован: 23 янв 2014, 23:08

Re: 1-wire: первые шаги

Сообщение Lewcom » 24 янв 2014, 14:00

Проблемку с запуском OWFS на Windows XP решил.
Просто надо было установить драйвера для DS9490R вручную и из папки OWFS\drivers.

Строка запуска c:\OWFS\bin\owserver.exe -u -p 8234
Продолжаю экспериментировать и разбираться во всем этом.

vladimir22
Сообщения: 219
Зарегистрирован: 15 мар 2013, 09:42

Re: 1-wire: первые шаги

Сообщение vladimir22 » 24 янв 2014, 21:39

у меня такая штука работает на Малине
графики я отрисовывал вот таким скриптом взятым из статьи .
http://www.opennet.ru/base/sys/freebsd_ ... h.txt.html
запускаю по крону раз в 5 минут.
единственный минус - флешка "запиливается" примерно за 6-7 месяцев - под списание.
поэтому вставлена USB флешка , и все пишется туда - и естественно бекапится.

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: 1-wire: первые шаги

Сообщение vtec » 25 янв 2014, 11:52

vladimir22 писал(а):единственный минус - флешка "запиливается" примерно за 6-7 месяцев - под списание.
На которой ось стоит? Так быстро из строя выходит?
Последний раз редактировалось vtec 25 янв 2014, 16:27, всего редактировалось 1 раз.

vladimir22
Сообщения: 219
Зарегистрирован: 15 мар 2013, 09:42

Re: 1-wire: первые шаги

Сообщение vladimir22 » 25 янв 2014, 12:14

да . если учитывать что у меня на эту флешку писалось
6- RRD баз и раз в минуту
6*4 - гарафиков для веб интерфейса . раз в минуту ....

те получалось порядка 30 обращений записи в минуту... ну дальше считать , естественно флешки не выдержали .

поэтому все это вынесено на отдельную подмониторованую флешку , и туда пишется с периодичностью 5 минут.

а вообще есть идея не генерить графики , и тупо их складывать в папку веб сервера , а генерить их непосредственно по запросу самого веб сервера , те попросили графики -сгенерили. а так класть данные только в RRD базу. вот как из MySQL, а потом сгенерить графики при помощи RRD, я пока не нашёл примера ( сам в кодинге практически ноль , поэтому приходится пользоваться примерами , переточенными под себя )

NE_XT
Сообщения: 9
Зарегистрирован: 18 дек 2013, 14:50

Re: 1-wire: первые шаги

Сообщение NE_XT » 25 янв 2014, 13:14

А если писать не на флэшку, а по внутренной сетке на NAS например и там на сервере стоить графики. Мне недавно привезли raspberry , только начал с owfs разбираться.

vladimir22
Сообщения: 219
Зарегистрирован: 15 мар 2013, 09:42

Re: 1-wire: первые шаги

Сообщение vladimir22 » 25 янв 2014, 13:44

меня посещала идея записи на NAS, но
1. система должна быть автономна - потому что поедет в последующем на дачу , а там NAS нету ;-)
2 .все современные NAS построены на *NIX ядре , поэтому водрузить туда сторонний софт не составит труда . зачем тогда малина.
3. хочется как то минимизировать все .... и купить раз в пол года флешку на 4Gb не так дорого , поэтому это заведомо известная жертва.

еще была идея подключить SSD гига на 32 , и писать туда - но тогда надо как то думать с блоком питания , хотя тогда система будет намного производительней и долговечней .

Ответить