1-wire: первые шаги
1-wire: первые шаги
Добрый день! Прежде всего хочу сказать спасибо автору сайта за проделанную работу
Я решил потихоньку осваивать концепцию "умного дома" и для экспериментов выбрал технологию 1wire. Изучал статьи на сайте и форум, но все таки есть вопросы, не сочтите за флуд.
Имеется простенькая сеть 1wire (USB-мастер и несколько датчиков температуры DS18B20). Все работает, температуру кажет. Хотелось бы эти данные свести в табличку и строить по ним графики, но, к сожалению, на сайте подробной информации я не нашел (линк, который говорит как раз об этом, ведет сюда http://www.ab-log.ru/page.php?ID=18 , где я не нашел подробностей). Дело в том, что я чайник в программировании. Какие-то простенькие вещи могу разобрать, но код PHP-скриптов наводит на меня депрессию. Точнее не код, а синтаксис Поэтому я был бы благодарен за советы и примеры написанных скриптов, чтобы просто их адаптировать к своей системе.
Имеется Ubuntu 12.04 и какие-то базовые знания по нему и технической части (ну и отличить SQL от РНР я тоже могу . На данный момент я представляю себе такой план:
поднять MySQL, PHP и с их помощью делать выборки данных по температуре через определенные промежутки времени, записывая их в БД. После чего по данным из MySQL строить графики (jpgraph или чем-то еще - вопрос пока открыт, поскольку до этого этапа еще нужно добраться). Так вот, как все это реализовать технически (пока без изысков ? Может кто-то поделится своими наработками. На данном этапе речь идет об элементарном уровне работы с данными и изобретать велосипед не хотелось бы. Спасибо заранее!
Я решил потихоньку осваивать концепцию "умного дома" и для экспериментов выбрал технологию 1wire. Изучал статьи на сайте и форум, но все таки есть вопросы, не сочтите за флуд.
Имеется простенькая сеть 1wire (USB-мастер и несколько датчиков температуры DS18B20). Все работает, температуру кажет. Хотелось бы эти данные свести в табличку и строить по ним графики, но, к сожалению, на сайте подробной информации я не нашел (линк, который говорит как раз об этом, ведет сюда http://www.ab-log.ru/page.php?ID=18 , где я не нашел подробностей). Дело в том, что я чайник в программировании. Какие-то простенькие вещи могу разобрать, но код PHP-скриптов наводит на меня депрессию. Точнее не код, а синтаксис Поэтому я был бы благодарен за советы и примеры написанных скриптов, чтобы просто их адаптировать к своей системе.
Имеется Ubuntu 12.04 и какие-то базовые знания по нему и технической части (ну и отличить SQL от РНР я тоже могу . На данный момент я представляю себе такой план:
поднять MySQL, PHP и с их помощью делать выборки данных по температуре через определенные промежутки времени, записывая их в БД. После чего по данным из MySQL строить графики (jpgraph или чем-то еще - вопрос пока открыт, поскольку до этого этапа еще нужно добраться). Так вот, как все это реализовать технически (пока без изысков ? Может кто-то поделится своими наработками. На данном этапе речь идет об элементарном уровне работы с данными и изобретать велосипед не хотелось бы. Спасибо заранее!
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: 1-wire: первые шаги
Напишу тут, дабы не плодить новую тему. Подцепил сегодня к L7805 (сюда заходит +12, выходит +5,05) температурный DS18B20 ... Якобы уйти от паразитного с целью быстрого опроса. Но при заходе браузером на IP:3001 не заметил разницы между паразитным и с питанием. Если нет разницы, то может вернуть на паразитное и стать энергонезависимым?
Re: 1-wire: первые шаги
Mixman, основное преимущество питания DS18B20 заключается в том, что в момент конвертации температуры (а это в 12-битном режиме около 0,75 секунды) 1-wire шина не блокируется. Ну и питание необходимо при измерении температур выше 100 градусов. Скорость конвертации от питания никак не зависит.
Metlik, а вы смотрели Демо-интерфейс? Там все есть.
Metlik, а вы смотрели Демо-интерфейс? Там все есть.
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: 1-wire: первые шаги
Блокирует, т.е. опросы других элементов 1 wire сети невозможны, правильно?
Значит если мастер один и на нем висят и другие элементы (особенно для опроса "сухих контактов"), то лучше с питанием, собственно мой случай.
А если 2 мастера, на одном из которых только температурные, а на другом мастере все остальные, то плюсов нет. правильно?
Значит если мастер один и на нем висят и другие элементы (особенно для опроса "сухих контактов"), то лучше с питанием, собственно мой случай.
А если 2 мастера, на одном из которых только температурные, а на другом мастере все остальные, то плюсов нет. правильно?
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: 1-wire: первые шаги
Блин, в такой схеме пошли 85градусов как избавиться?
Re: 1-wire: первые шаги
+85C - это так называемое значение "power-on reset". Насколько я понимаю, такое значение содержит датчик, подключенный к шине до тех пор, пока не пришла команда на конвертацию температуры. Причин получения +85 градусов много. Некачественные соединения или питание, плохой или слишком длинный кабель, проблемы с мастером, все что угодно. Как говорят в таких случаях врачи, данный симптом не является специфичным и не может использоваться для постановки точного диагноза.
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: 1-wire: первые шаги
Просто странно как-то, на temperature9 и temperature10 = 85гр., на остальных реальное значение. Я так понял, что начать "лечение" нужно с перепайки, т.к. провода, мастер и ds18b20 тот же, что и на паразитном.
Может это быть из-за +5,05В на L7805 ? Хотя в даташите на ds18b20 указано Vdd от 3-5,5В
Может это быть из-за +5,05В на L7805 ? Хотя в даташите на ds18b20 указано Vdd от 3-5,5В
Re: 1-wire: первые шаги
Уже смотрю - раньше почему-то не обратил внимания. Я так и думал, что где-то должны быть описаны основы. Буду изучать, спасибо!Andrey_B писал(а):Metlik, а вы смотрели Демо-интерфейс? Там все есть.
Re: 1-wire: первые шаги
Доброй ночи!
Пытаюсь действовать по инструкции и запустить Демо-интерфейс, однако споткнулся на импортировании дампа ДБ: поскольку файл больше двух мегабайт, через phpMyAdmin его импортировать не получается и решил воспользоваться утилитой BigDump, но она вылетает с ошибкой:
Error at the line 137: ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
хотя кодировка самой базы, созданной с помощью phpMyAdmin - именно utf8
Не подскажете, куда копать?
Спасибо!
Пытаюсь действовать по инструкции и запустить Демо-интерфейс, однако споткнулся на импортировании дампа ДБ: поскольку файл больше двух мегабайт, через 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)
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: 1-wire: первые шаги
Можно делать бэкап и заливать базу и через консоль. http://habrahabr.ru/post/105954/
Обсуждение демоинтерфейса, а так же связанные с ним вопросы тут viewtopic.php?f=1&t=2
Обсуждение демоинтерфейса, а так же связанные с ним вопросы тут viewtopic.php?f=1&t=2
Re: 1-wire: первые шаги
да, заработало - спасибо!
Re: 1-wire: первые шаги
Добрый вечер.
Подскажите пожалуйста самые первые шаги.
Прикупил для пробы мастер usb ds9490r и несколько термодатчиков.
Скачал для него драйвера, он определился
Скачал OWFS для Windows XP 32 (owfs_2.8p14), установил, а он не запускается.
Перепробовал кучу вариантов ключей, в процесах ни один из них не появляется.
Помогите пожалуйста разобраться.
Подскажите пожалуйста самые первые шаги.
Прикупил для пробы мастер usb ds9490r и несколько термодатчиков.
Скачал для него драйвера, он определился
Скачал OWFS для Windows XP 32 (owfs_2.8p14), установил, а он не запускается.
Перепробовал кучу вариантов ключей, в процесах ни один из них не появляется.
Помогите пожалуйста разобраться.
Re: 1-wire: первые шаги
Lewcom, я не запускал owfs в Windows, но в отладочном логе же все написано.
1. Socket problem - может быть создание сокета заблокировала ОС, файрвол? Запуск от имени администратора?
2. No valid 1-wire buses found - может быть надо запускать с ключом -u ?
1. Socket problem - может быть создание сокета заблокировала ОС, файрвол? Запуск от имени администратора?
2. No valid 1-wire buses found - может быть надо запускать с ключом -u ?
-
- Сообщения: 338
- Зарегистрирован: 20 дек 2012, 15:52
- Откуда: Саратов Saratov
- Контактная информация:
Re: 1-wire: первые шаги
OWFS запустился (после нескольких пробных вариантов) вот так c:\OWFS\bin\owserver.exe -u -s -d 4304 в таком варианте, все отлично! Стартует без проблем.
Нагрузка на ядра 2-3 %. Если под виндой..то есть такая особенность как утечка памяти!...100-150 мб в сутки (не знал, пока не обнаружил, что стала интенсивная подкачка) чтобы избежать этого, лучше делать скрипт на перезагрузку OWFS раз в сутки, например в 00:00 тогда он и стабилен, и память не теряется.
Что это за процесс, не совсем понятно, но такая процедура решает вопрос. Порт выхода можно ставить любой но 4304 присутствует по умолчанию.
Нагрузка на ядра 2-3 %. Если под виндой..то есть такая особенность как утечка памяти!...100-150 мб в сутки (не знал, пока не обнаружил, что стала интенсивная подкачка) чтобы избежать этого, лучше делать скрипт на перезагрузку OWFS раз в сутки, например в 00:00 тогда он и стабилен, и память не теряется.
Что это за процесс, не совсем понятно, но такая процедура решает вопрос. Порт выхода можно ставить любой но 4304 присутствует по умолчанию.
Re: 1-wire: первые шаги
Проблемку с запуском OWFS на Windows XP решил.
Просто надо было установить драйвера для DS9490R вручную и из папки OWFS\drivers.
Строка запуска c:\OWFS\bin\owserver.exe -u -p 8234
Продолжаю экспериментировать и разбираться во всем этом.
Просто надо было установить драйвера для DS9490R вручную и из папки OWFS\drivers.
Строка запуска c:\OWFS\bin\owserver.exe -u -p 8234
Продолжаю экспериментировать и разбираться во всем этом.
-
- Сообщения: 219
- Зарегистрирован: 15 мар 2013, 09:42
Re: 1-wire: первые шаги
у меня такая штука работает на Малине
графики я отрисовывал вот таким скриптом взятым из статьи .
http://www.opennet.ru/base/sys/freebsd_ ... h.txt.html
запускаю по крону раз в 5 минут.
единственный минус - флешка "запиливается" примерно за 6-7 месяцев - под списание.
поэтому вставлена USB флешка , и все пишется туда - и естественно бекапится.
графики я отрисовывал вот таким скриптом взятым из статьи .
http://www.opennet.ru/base/sys/freebsd_ ... h.txt.html
запускаю по крону раз в 5 минут.
единственный минус - флешка "запиливается" примерно за 6-7 месяцев - под списание.
поэтому вставлена USB флешка , и все пишется туда - и естественно бекапится.
Re: 1-wire: первые шаги
На которой ось стоит? Так быстро из строя выходит?vladimir22 писал(а):единственный минус - флешка "запиливается" примерно за 6-7 месяцев - под списание.
Последний раз редактировалось vtec 25 янв 2014, 16:27, всего редактировалось 1 раз.
-
- Сообщения: 219
- Зарегистрирован: 15 мар 2013, 09:42
Re: 1-wire: первые шаги
да . если учитывать что у меня на эту флешку писалось
6- RRD баз и раз в минуту
6*4 - гарафиков для веб интерфейса . раз в минуту ....
те получалось порядка 30 обращений записи в минуту... ну дальше считать , естественно флешки не выдержали .
поэтому все это вынесено на отдельную подмониторованую флешку , и туда пишется с периодичностью 5 минут.
а вообще есть идея не генерить графики , и тупо их складывать в папку веб сервера , а генерить их непосредственно по запросу самого веб сервера , те попросили графики -сгенерили. а так класть данные только в RRD базу. вот как из MySQL, а потом сгенерить графики при помощи RRD, я пока не нашёл примера ( сам в кодинге практически ноль , поэтому приходится пользоваться примерами , переточенными под себя )
6- RRD баз и раз в минуту
6*4 - гарафиков для веб интерфейса . раз в минуту ....
те получалось порядка 30 обращений записи в минуту... ну дальше считать , естественно флешки не выдержали .
поэтому все это вынесено на отдельную подмониторованую флешку , и туда пишется с периодичностью 5 минут.
а вообще есть идея не генерить графики , и тупо их складывать в папку веб сервера , а генерить их непосредственно по запросу самого веб сервера , те попросили графики -сгенерили. а так класть данные только в RRD базу. вот как из MySQL, а потом сгенерить графики при помощи RRD, я пока не нашёл примера ( сам в кодинге практически ноль , поэтому приходится пользоваться примерами , переточенными под себя )
Re: 1-wire: первые шаги
А если писать не на флэшку, а по внутренной сетке на NAS например и там на сервере стоить графики. Мне недавно привезли raspberry , только начал с owfs разбираться.
-
- Сообщения: 219
- Зарегистрирован: 15 мар 2013, 09:42
Re: 1-wire: первые шаги
меня посещала идея записи на NAS, но
1. система должна быть автономна - потому что поедет в последующем на дачу , а там NAS нету
2 .все современные NAS построены на *NIX ядре , поэтому водрузить туда сторонний софт не составит труда . зачем тогда малина.
3. хочется как то минимизировать все .... и купить раз в пол года флешку на 4Gb не так дорого , поэтому это заведомо известная жертва.
еще была идея подключить SSD гига на 32 , и писать туда - но тогда надо как то думать с блоком питания , хотя тогда система будет намного производительней и долговечней .
1. система должна быть автономна - потому что поедет в последующем на дачу , а там NAS нету
2 .все современные NAS построены на *NIX ядре , поэтому водрузить туда сторонний софт не составит труда . зачем тогда малина.
3. хочется как то минимизировать все .... и купить раз в пол года флешку на 4Gb не так дорого , поэтому это заведомо известная жертва.
еще была идея подключить SSD гига на 32 , и писать туда - но тогда надо как то думать с блоком питания , хотя тогда система будет намного производительней и долговечней .