Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Результаты опроса: Как Вам проще и удобней настроить привязку своих датчи
Указать долготу и широту в настройках модуля? 22 59.46%
Настроить привязку на сайте "Народный мониторинг"? 15 40.54%
Голосовавшие: 37. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.01.2015, 02:08   #1
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от avgaz Посмотреть сообщение
Вот так только сработало
я понял - у меня это просто уже прописано в конфиге, кроме того, программа инициализирует датчики при загрузке системы.

Цитата:
Сообщение от avgaz Посмотреть сообщение
5 датчиков как быть для каждого запрос повторять меняя -t 0
можно и так. а можно добавить параметр -a вместо -t 0
PHP код:
$temperatureshell_exec("digitemp_DS9097 -a -o %.2C -q -s /dev/ttyUSB0"); 
результатом будет 5 строчек с температурой (по числу датчиков)
Crazy_Nick вне форума   Ответить с цитированием
Старый 03.01.2015, 15:07   #2
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

1. по серийному номеру обратиться к датчику не получится
2. серийные номера однозначно сопоставляются с их порядковыми номерами
3. добавляем пару символов в параметр формата вывода:
PHP код:
$temperatureshell_exec("digitemp_DS9097 -a -o %s:%.2C -q -s /dev/ttyUSB0"); 
результат:
PHP код:
0:21.63
1
:25.00
2
:22.78
3
:23.15
4
:24.03 
можно брать и парсить для своих нужд

4. если в процессе работы какой-то датчик отвалится, то его порядковый номер за ним сохраняется. в этом случае в списке выше напротив конкретного номера будет пусто.

5. файл конфигурации находится /etc/digitemp.conf. в нем хранится список серийников датчиков и их номера
можно указывать и другое расположение - параметр -с

Последний раз редактировалось Crazy_Nick; 03.01.2015 в 15:12. Причина: добавил про серийники
Crazy_Nick вне форума   Ответить с цитированием
Старый 03.01.2015, 17:15   #3
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от Crazy_Nick Посмотреть сообщение

4. если в процессе работы какой-то датчик отвалится, то его порядковый номер за ним сохраняется. в этом случае в списке выше напротив конкретного номера будет пусто.
Дак вся проблема в том что если какой то датчик от отвалится и роутер перезагрузится придется всё переписывать т.к порядковые номера изменятся при перезагрузке роутера. Вот я и хотел привязать жестко код php к определенным датчика что бы в случаи такой ситуации не переделывать всё

Цитата:
5. файл конфигурации находится /etc/digitemp.conf. в нем хранится список серийников датчиков и их номера
можно указывать и другое расположение - параметр -с
нету его там (((

Последний раз редактировалось avgaz; 03.01.2015 в 17:20.
avgaz вне форума   Ответить с цитированием
Старый 03.01.2015, 17:39   #4
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от avgaz Посмотреть сообщение
...нету его там (((
Если после перезагрузки инициализируешь digitemp php-скриптом из /www, то там и ищи. Если с путти то в /root. И так ищи по многим каталогам.
Пока не поймешь куда он его создает.

Вот в этих проверь:

/.digitemprc
/root/.digitemprc
/overlay/.digitemprc
/overlay/www/.digitemprc
/www/.digitemprc
/tmp/digitemp

Найди и все удали. Перезагрузи и инициализируй digitemp_DS9097 -a той прогой или скриптом которая опрос датчиков делает. И потом вкуришь где он после скрипта будет.

Опрос по отдельности это первый по порядку: digitemp_DS9097 -t 0
Это второй: digitemp_DS9097 -t 1
И так далее.
По серийному что бы надо скрипт писать.

Последний раз редактировалось melsem; 03.01.2015 в 17:58.
melsem вне форума   Ответить с цитированием
Старый 03.01.2015, 22:38   #5
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

у меня интересный вопрос появился.
после перезагрузки роутера, подсоединения его к сети как клиента отрабатывает демон синхронизации времени ntpd.
вопрос: как отследить тот момент, когда синхронизация времени произошла?

из /etc/rc.local вызывается скрипт, который пишет текущее время в файл. и это время неправильное
Crazy_Nick вне форума   Ответить с цитированием
Старый 03.01.2015, 23:44   #6
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термометр"

Установи свой часовой пояс.
А в /etc/rc.local ничего такого нету. Разве сам что прописал.
melsem вне форума   Ответить с цитированием
Старый 04.01.2015, 14:02   #7
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

пожалуй, я неточно выразился...

после загрузки роутера запускается мой скрипт, который я прописал в /etc/rc.local. этот скрипт получает текущее системное время, и пишет его в файл. это время не соответствует действительности, поскольку в роутере нет часов реального времени. далее отрабатывает синхронизация времени с интернет-сервером с помощью ntpd, и системное время становится актуальным.

мне нужно отловить или как-то распознать момент, когда системное время уже синхронизировалось с интернетовским.

с часовым поясом у меня все ок.
Crazy_Nick вне форума   Ответить с цитированием
Старый 27.03.2015, 15:10   #8
skifer
Junior Member
 
Регистрация: 04.12.2014
Сообщений: 7
Вес репутации: 0
skifer is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Добрый день!
Ребята, сори, если в эту тему, но тогда "ткните мордой".)))
Суть в следующем. Роутер WR703N, прошивка CyberWRT. На нём в USB висит ардуино. На ардуино висит датчик температуры DS18b20 и датчик движения. Побыстрому набросал скетч. Когда в ардуино я передаю "t" - возвращается ответ со значением температуры. Если обнаруживается движение - бросается "1", пропадает движение - "0".
Может быть есть что-то универсальное из модулей CyberWRT, чтобы при обращении по адресу (к примеру "http:\\АДРЕС_РОУТЕРА\ИМЯ _МОДУЛЬ\t") возвращалась температура с датчика, а при обнаружении движения происходил переход по некоторому адресу, к примеру "http:\\SERVER\move.html".
Или примеры написания похожих скриптов.

Спасибо заранее.
skifer вне форума   Ответить с цитированием
Старый 27.03.2015, 17:42   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Термометр"

Для примера можно посмотреть модуль "AquaLog"
Admin вне форума   Ответить с цитированием
Старый 12.08.2015, 19:38   #10
Vovan_a
Member
 
Регистрация: 16.01.2015
Сообщений: 71
Вес репутации: 0
Vovan_a is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

У меня неработает модуль. Роутер TL-MR3220, прошивка CyberWrt (OpenWrt+ заменил папку www). Система установлена на флешку 4 Гб. Все подключено через хаб со своим питанием. Перед этим около полугода система с этим модулем отработала без вопросов, но произошел глюк флешки и система слетела. После форматирования флешки, перепрошивки роутера той же прошивкой, что и первый раз, восстановления всей предыдущей конфигурации модуль термометр отказывается работать. Подключено три датчика к мосту на PL-2303. После установки модуля и его настройки делал перезагрузку (быстрее, чем 5 минут). После загрузки модуля термометры показывают нормально, а после первого обновления показаний показывают такое:

Команда
Код:
digitemp_DS9097 -q -a -s /dev/ttyUSB0
выдает следующее:

Сайт народмон ругается на ошибки в протоколе. Камера и звуковая карта не подключены. Не пойму в чем проблема.
Vovan_a вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 9 (пользователей: 0 , гостей: 9)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:10. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика