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

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.01.2015, 02:08   #211
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, 02:38   #212
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от Crazy_Nick Посмотреть сообщение
результатом будет 5 строчек с температурой (по числу датчиков)
Остается ещё один вопрос, как привязать датчики к определению?
К примеру 5 датчиков они будут выводится или списком или каждый по переменой. Каждый из датчиков должен обозначать комнату к примеру, и вот если вдруг какой то из датчиков вышел из строя или отключен, как сделать что бы остальные остались привязаны к своим комнатам а не изменились.
avgaz вне форума   Ответить с цитированием
Старый 03.01.2015, 03:01   #213
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

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

Цитата:
Сообщение от Crazy_Nick Посмотреть сообщение
каждый датчик имеет свой серийный номер. этот номер при инициализации сопоставляется с порядковым номером и может быть записан в конфиг программы.
при обращении к датчику по номеру при его отваливании возвратится пустое значение.
как будет выводиться пустое значение при выводе списка датчиков, я не знаю. у меня пока что только один датчик
а можно тогда как то делать запрос на вывод температуры именно по серийному номеру? а где хранится конфиг?
avgaz вне форума   Ответить с цитированием
Старый 03.01.2015, 15:07   #215
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   #216
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   #217
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
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   #218
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   #219
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
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   #220
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 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 9 (пользователей: 0 , гостей: 9)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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