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

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

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

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

Цитата:
Сообщение от Admin Посмотреть сообщение
есть готовый бинарный патч
я про него и писал выше.

Цитата:
Сообщение от Admin Посмотреть сообщение
В Barrier Breaker 14.07 будет такой же патч, скомпилированный из этих же исходников
неискушенному обывателю реально сделать это самостоятельно?

по поводу костыля - это понятно, но все же лучше, чем ребутить роутер по отвалу датчика.
Crazy_Nick вне форума   Ответить с цитированием
Старый 11.12.2014, 09:15   #202
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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 модуль "Термометр"

Цитата:
по поводу костыля - это понятно, но все же лучше, чем ребутить роутер по отвалу датчика.
Лучше конечно. Никто и не спорит. Это был ответ на вопрос
Цитата:
кто-нибудь уже пробовал новую прошивку, может сказать с уверенностью, что проблема с юсб-устройствами решена?
Admin вне форума   Ответить с цитированием
Старый 11.12.2014, 22:40   #203
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 модуль "Термометр"

Цитата:
Сообщение от Crazy_Nick Посмотреть сообщение
..температурный датчик подключал 3 разными способами:
1. Rx + Tx к Dq, Gnd к Gnd, Vcc к Vcc
2. видоизмененный п.1, только между Dq и +5V добавлен подтягивающий резистор 4,7 кОм
3. по схеме отсюда:
http://we.easyelectronics.ru/electro...-s-kompom.html\
вариант 1 у меня не заработал...

..кто-нибудь уже пробовал новую прошивку, может сказать с уверенностью, что проблема с юсб-устройствами решена?
Роутер 3020. На BB-14.07 (r43321) отвалов usb нету. Через пассивный hub подключены флеха 8G, аудио-карта и usb-data с датчиками.
Как был на usb0 так и остается.
Usb-data на pl2303, TX и RX спаяны вместе без подтягивающего резистора. ds18b20 висит 4-штуки.
Работают два модуля термостат-usb (4-шт ds18b20), термостат-gpio (2-шт ds18b20) и hd44780 с выводом данных на lcd wn1602 (еще отправка на narodmon).
Ошибок (85 градусов) нету.

В термостат-usb изменил время интервала отправки на narodmon, что бы не банили.

Последний раз редактировалось melsem; 11.12.2014 в 22:50.
melsem вне форума   Ответить с цитированием
Старый 01.01.2015, 19:26   #204
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

а как можно прочитать данные с датчиков USB-UART с помощью php?
avgaz вне форума   Ответить с цитированием
Старый 01.01.2015, 20:00   #205
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от avgaz Посмотреть сообщение
а как можно прочитать данные с датчиков USB-UART с помощью php?
есть несколько вариантов:
1. из скрипта на php запустить программу digitemp, которая опрашивает температурные датчики
2. если для чтения датчиков используется owfs, то текущая температура хранится в файле, из которого не составит проблем получить данные
3. писать, читать данные из com-порта и интерпретировать их. имхо, наиболее сложный вариант

лично у меня про расписанию каждые 5 минут запускается скрипт на баше, который запускает digitemp, получает данные и сохраняет их в файл. а из файла можно уже читать чем угодно.
Crazy_Nick вне форума   Ответить с цитированием
Старый 02.01.2015, 00:14   #206
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от Crazy_Nick Посмотреть сообщение
есть несколько вариантов:
1. из скрипта на php запустить программу digitemp, которая опрашивает температурные датчики
2. если для чтения датчиков используется owfs, то текущая температура хранится в файле, из которого не составит проблем получить данные
3. писать, читать данные из com-порта и интерпретировать их. имхо, наиболее сложный вариант

лично у меня про расписанию каждые 5 минут запускается скрипт на баше, который запускает digitemp, получает данные и сохраняет их в файл. а из файла можно уже читать чем угодно.
Вот по первому пункту можно подробней или пример скрипта?
avgaz вне форума   Ответить с цитированием
Старый 02.01.2015, 15:04   #207
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

например, код
PHP код:
$temperature=shell_exec('digitemp_DS9097 -t 0 -o %.2C -q'); 
получает в переменную значение температуры с датчика №0 с точностью до двух знаков после запятой.

возможно, не сработает получение данных. для нормальной работы надо проинициализировать датчики. тогда код будет следующим:
PHP код:
shell_exec('digitemp_DS9097 -i');
$temperature=shell_exec('digitemp_DS9097 -t 0 -o %.2C -q'); 

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

Цитата:
Сообщение от Crazy_Nick Посмотреть сообщение
например, код
PHP код:
$temperature=shell_exec('digitemp_DS9097 -t 0 -o %.2C -q'); 
получает в переменную значение температуры с датчика №0 с точностью до двух знаков после запятой.

возможно, не сработает получение данных. для нормальной работы надо проинициализировать датчики. тогда код будет следующим:
PHP код:
shell_exec('digitemp_DS9097 -i');
$temperature=shell_exec('digitemp_DS9097 -t 0 -o %.2C -q'); 
Что то не срабатывает, через терминал digitemp_DS9097 -t 0 -o %.2C -q выводит температуру, а через php нет, может нужно что то поправит в настройках php что бы shell_exec заработала?
avgaz вне форума   Ответить с цитированием
Старый 03.01.2015, 00:48   #209
Crazy_Nick
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 12
Вес репутации: 0
Crazy_Nick is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от avgaz Посмотреть сообщение
может нужно что то поправит в настройках php что бы shell_exec заработала?
я ничего не менял в конфигах php, и у меня работает shell_exec.
работу можно проверить, выполнив тестовый скрипт, например
PHP код:
echo (shell_exec('dmesg')) 
этот код должен вывести лог сообщений ядра.

если shell_exec работает, попробуйте перед получением температуры проинициализировать digitemp
PHP код:
shell_exec('digitemp_DS9097 -i'); 
$temperature=shell_exec('digitemp_DS9097 -t 0 -o %.2C -q'); 
Crazy_Nick вне форума   Ответить с цитированием
Старый 03.01.2015, 01:53   #210
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Термометр"

Цитата:
Сообщение от Crazy_Nick Посмотреть сообщение
я ничего не менял в конфигах php, и у меня работает shell_exec.
работу можно проверить, выполнив тестовый скрипт, например
PHP код:
echo (shell_exec('dmesg')) 
этот код должен вывести лог сообщений ядра.

если shell_exec работает, попробуйте перед получением температуры проинициализировать digitemp
PHP код:
shell_exec('digitemp_DS9097 -i'); 
$temperature=shell_exec('digitemp_DS9097 -t 0 -o %.2C -q'); 
Вот так только сработало
PHP код:
$temperatureshell_exec("digitemp_DS9097 -t 0 -o %.2C -q -s /dev/ttyUSB0"); 
Кстати а если подключено скажем 5 датчиков как быть для каждого запрос повторять меняя -t 0?
avgaz вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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