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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.01.2014, 17:28   #51
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Цитата:
Сообщение от Admin Посмотреть сообщение
У Вас какое колличество знаков после запятой?
Не уверен что поможет, но все равно попробуйте
if [ "$alerT" -ge "18.0" ]; then
Я так вписывал "18.0", выскакивала ошибка
Цитата:
root@OpenWrt:~# sh /etc/ReadDS18B20/oprosDC18B20.sh
sh: 28.00: bad number
. И погуглив, по совету знакомого, програмировать на bash if else. Нашел ответ. С запятыми в числах по простому не выйдет. И пошел по другому пути.
Считывая температуру не делил на 1000, а сохранял в фаил /tmp/DOM.log.
И теперь в нем целое число. И все работает.
А после повторного считывания, предварительно делил на 1000 и сохранял, в фаил /home/DOM.log на сервере.
Вот как все вышло, может что и не так как надо но работает. Комментарии писал для себя, привычка с assemblera.
Код:
#!/bin/sh
DOM="/sys/bus/w1/drivers/w1_slave_driver/28-0000034b4891/w1_slave"	# Чтение с первого датчика дом
ULICA="/sys/bus/w1/drivers/w1_slave_driver/28-0000034b476c/w1_slave"	# Чтение со второго датчика улица
alerT=$(cat /tmp/DOM.log)

 rm /home/ULICA.log &> /dev/null					# Удаление
 awk -F= '/t=/ {printf "%.02f\n", $2/1000}' $ULICA >> /home/ULICA.log	# Чтение со второго датчика. Перевод показаний в нормальный вид. Запись в фаил на сервере.

 rm /tmp/DOM.log &> /dev/null				# Удаление
 awk -F= '/t=/ {printf "%.f", $2}' $DOM >> /tmp/DOM.log	# Чтение с первого датчика. Запись в tmp целого числа температуры для сравнения
							# с заданным (пороговым числом температуры).
							# Пример: заданное 18000 это 18,00 градусов пороговое включение индикации.
							# Ниже которого диод включится.

if [ "$alerT" -ge 18000 ]; then
	echo 1 > /sys/devices/platform/leds-gpio/leds/tp-link\:green\:wps/brightness
	else
	echo 0 > /sys/devices/platform/leds-gpio/leds/tp-link\:green\:wps/brightness
fi

sleep 2s	# Пауза в 2 сек перед повторным измерением и чтением температуры с первого датчика
 rm /home/DOM.log &> /dev/null						# Удаление
 awk -F= '/t=/ {printf "%.02f\n", $2/1000}' $DOM >> /home/DOM.log	# Чтение с первого датчика. Перевод показаний в нормальный вид. Запись в фаил на сервере.
С выводом GPIO2 что то не вышло. Времени не было все проверить. И я для теста игрался с GPIO26 - tp-link:green:wps.
Он подключен не так (и включается - отключаетя инверсно).
Теперь с роутера еще можно и термо-регулятор термостат зделать.
Admin спасибо в помощи написания скрипта.
melsem вне форума   Ответить с цитированием
Старый 14.01.2014, 00:35   #52
uni
Senior Member
 
Аватар для uni
 
Регистрация: 29.10.2013
Адрес: Екатеринбург, Нижневартовск, Энергодар
Возраст: 43
Сообщений: 573
Вес репутации: 599
uni has a spectacular aura aboutuni has a spectacular aura about
Отправить сообщение для uni с помощью ICQ
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

BM8051 - Переходник USB – UART адаптер

__________________
Россия навсегда!
uni вне форума   Ответить с цитированием
Старый 27.01.2014, 23:45   #53
vuln
Junior Member
 
Регистрация: 12.02.2013
Сообщений: 10
Вес репутации: 0
vuln is an unknown quantity at this point
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

прошу помощи!!
подключил на своем wr703 датчик DS1820 набираю awk -F= '/t=/ {printf "%.02f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/10-00080163b8fd/w1_slave все замечательно температуру показывает

захотел чтобы была возможность просмотра температуры через web
делаю по ангиологии http://haklabos.wordpress.com/projekti/digitemp/

TEMP=`awk -F= '/t=/ {printf "%.02f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/10-00080163b8fd/w1_slave’`; sed -i -r “14s,>[^<]*</,>${TEMP}</,” /www/temp.html
не работает
в регулярных выражения sed практический полный ноль, пытался разобраться но безуспешно... что не так делаю ???
vuln вне форума   Ответить с цитированием
Старый 28.01.2014, 22:24   #54
vuln
Junior Member
 
Регистрация: 12.02.2013
Сообщений: 10
Вес репутации: 0
vuln is an unknown quantity at this point
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

вопрос снимаю сам разобрался http://vfdk.ru:100/t.html
vuln вне форума   Ответить с цитированием
Старый 29.01.2014, 22:54   #55
MIKI
Senior Member
 
Регистрация: 21.06.2013
Адрес: Москва
Сообщений: 176
Вес репутации: 0
MIKI is a jewel in the roughMIKI is a jewel in the roughMIKI is a jewel in the rough
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

[QUOTE=vuln;10483]вопрос снимаю сам разобрался http://vfdk.ru:100/t.html[/QUOTE
Пытаюсь повторить,температур� � на странице меняться не хочет.
В какое место датчик вставить надо в строке
*/1* * * * TEMP=`digitemp_DS9097 -a | grep -i sensor | awk ‘{print $7}’`; sed -i -r “14s,>[^<]*</,>${TEMP}</,” /www/index.html
Не могу понять,подскажите.
MIKI вне форума   Ответить с цитированием
Старый 30.01.2014, 14:01   #56
vuln
Junior Member
 
Регистрация: 12.02.2013
Сообщений: 10
Вес репутации: 0
vuln is an unknown quantity at this point
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

итоге я создал скрип следующего содержания
Цитата:
#!/bin/sh
TEMP2="/sys/bus/w1/drivers/w1_slave_driver/10-00080163b8fd/w1_slave"
var=$(awk -F= '/t=/ {printf "%.02f\n", $2/1000}' $TEMP2)
sed -i -r '13s,>[^<]*</,>'$var'</,' /www/t.html
и исполняю его через cron
в вашем случае скорее всего надо вот так:
Цитата:
*/1* * * * TEMP=`digitemp_DS9097 -a | grep -i sensor | awk ‘{print $7}’`; sed -i -r “12s,>[^<]*</,>${TEMP}</,” /www/index.html
vuln вне форума   Ответить с цитированием
Старый 30.01.2014, 20:42   #57
MIKI
Senior Member
 
Регистрация: 21.06.2013
Адрес: Москва
Сообщений: 176
Вес репутации: 0
MIKI is a jewel in the roughMIKI is a jewel in the roughMIKI is a jewel in the rough
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Цитата:
Сообщение от vuln Посмотреть сообщение
итоге я создал скрип следующего содержания

и исполняю его через cron
в вашем случае скорее всего надо вот так:
Спасибо сейчас попробую.Нет ничего не изменилось,температу� �а не меняется 27.13
У меня какой-то файл появился,не знаю куда засунуть "digitemprc"
TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 1
ROM 0 0x28 0xB6 0xE3 0x60 0x05 0x00 0x00 0x9A

Последний раз редактировалось MIKI; 30.01.2014 в 21:11.
MIKI вне форума   Ответить с цитированием
Старый 02.02.2014, 04:25   #58
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Цитата:
Сообщение от MIKI Посмотреть сообщение
Спасибо сейчас попробую.Нет ничего не изменилось,температу� �а не меняется 27.13
У меня какой-то файл появился,не знаю куда засунуть "digitemprc"
TTY /dev/ttyUSB0
....
ROM 0 0x28 0xB6 0xE3 0x60 0x05 0x00 0x00 0x9A
Это конфиг файл который появляется после инициализации порта. Так и должно быть. Но......
Не так все просто, как пишут с програмкой digitemp.
Это и проблема с .digitemprc я его и в /root видел после инициализации с консоли putty.
И в / - основной директории после инициализации через rc.local. И в /overlay после инициализации через фаил в init.d. А после перезапуска через init.d в /overlay/www.
Что то разработчики digitemp не учли при написании. Я и сам еле вкурил как свою прошу привязать.
В виртуал OpenWrt заработала моя програмка с 1wire digitemp, а поставил пакет в роутер и был разочарован. Почти сутки убил в поисках что не так.
Надо через crone и инициализацию один раз как то запустить digitemp_DS9097 -i -r 500 -s /dev/ttyUSB0. Тогда должно заработать.
Короче что инициализирует то только с тем и будет работать юсб-дата-1wire . И каждый раз это надо после перезагрузки но не всегда??

Если датчики висят на GPIO то ни ких проблем нету.
melsem вне форума   Ответить с цитированием
Старый 02.02.2014, 08:58   #59
MIKI
Senior Member
 
Регистрация: 21.06.2013
Адрес: Москва
Сообщений: 176
Вес репутации: 0
MIKI is a jewel in the roughMIKI is a jewel in the roughMIKI is a jewel in the rough
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Цитата:
Сообщение от melsem Посмотреть сообщение
Это конфиг файл который появляется после инициализации порта. Так и должно быть. Но......
Не так все просто, как пишут с програмкой digitemp.
Это и проблема с .digitemprc я его и в /root видел после инициализации с консоли putty.
И в / - основной директории после инициализации через rc.local. И в /overlay после инициализации через фаил в init.d. А после перезапуска через init.d в /overlay/www.
Что то разработчики digitemp не учли при написании. Я и сам еле вкурил как свою прошу привязать.
В виртуал OpenWrt заработала моя програмка с 1wire digitemp, а поставил пакет в роутер и был разочарован. Почти сутки убил в поисках что не так.
Надо через crone и инициализацию один раз как то запустить digitemp_DS9097 -i -r 500 -s /dev/ttyUSB0. Тогда должно заработать.
Короче что инициализирует то только с тем и будет работать юсб-дата-1wire . И каждый раз это надо после перезагрузки но не всегда??

Если датчики висят на GPIO то ни ких проблем нету.
Чего-то не хрена не получается,а есть фото куда подпаяться к GPIO29
MIKI вне форума   Ответить с цитированием
Старый 05.02.2014, 05:24   #60
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Пересобрал пакеты и добавил просмотр температуры с браузера.
Но не совсем по примеру. Там сам фаил, для отображаемой температуры, находится на флеши роутера.
И каждое обновление температуры обновляется и фаил. И юзается флеха, надолго ли так?

Пошел по другому пути.
В /www/ прога cоздаст только ссылку на фаил, а сам рабочий файл будет на ОЗУ в /tmp/ .
Показания температуры для прсмотра через браузер обновляются с интервалом в 2 секунды.
Интервал отправки лога показаний в фаил на сервер, настраивается в вебе!

Да и датчики на usb-data с digitemp почему то не отваливаются? К юсб через hub подключена еще флеха 8 гиг и модем, через него и в инете сейчас.

Страница для GPIO-1Wr пример : http://192.168.1.1/tstat.html
Страница для USB-data-1Wr пример : http://192.168.1.1/tstatusb.html
Дата и тип будут считываться с настроек.
Миниатюры
Нажмите на изображение для увеличения
Название: Веб термоmetra_USB.JPG
Просмотров: 258
Размер:	152.8 Кб
ID:	1495   Нажмите на изображение для увеличения
Название: Веб термоmetra.JPG
Просмотров: 342
Размер:	95.4 Кб
ID:	1496  
Вложения
Тип файла: rar termostat-usb-data-uart_1.3-5.04.2014.rar (6.8 Кб, 144 просмотров)
Тип файла: rar termostat_1.5.3-5.02.2014-GPIOx_1Wr.rar (5.3 Кб, 140 просмотров)

Последний раз редактировалось melsem; 05.02.2014 в 06:58.
melsem вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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