![]() |
|
|||||||
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
|
#1 | ||
|
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 601 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
Считывая температуру не делил на 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 # Чтение с первого датчика. Перевод показаний в нормальный вид. Запись в фаил на сервере.
Он подключен не так (и включается - отключаетя инверсно). Теперь с роутера еще можно и термо-регулятор термостат зделать. Admin спасибо в помощи написания скрипта. |
||
|
|
|
|
|
#2 |
|
Senior Member
|
__________________
Россия навсегда! |
|
|
|
|
|
#3 |
|
Junior Member
Регистрация: 12.02.2013
Сообщений: 10
Вес репутации: 0 ![]() |
прошу помощи!!
подключил на своем 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 практический полный ноль, пытался разобраться но безуспешно... что не так делаю ??? |
|
|
|
|
|
#4 |
|
Junior Member
Регистрация: 12.02.2013
Сообщений: 10
Вес репутации: 0 ![]() |
вопрос снимаю сам разобрался http://vfdk.ru:100/t.html
|
|
|
|
|
|
#5 |
|
Senior Member
Регистрация: 21.06.2013
Адрес: Москва
Сообщений: 176
Вес репутации: 0 ![]() ![]() ![]() |
[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 Не могу понять,подскажите. |
|
|
|
|
|
#6 | ||
|
Junior Member
Регистрация: 12.02.2013
Сообщений: 10
Вес репутации: 0 ![]() |
итоге я создал скрип следующего содержания
Цитата:
в вашем случае скорее всего надо вот так: Цитата:
|
||
|
|
|
|
|
#7 | |
|
Senior Member
Регистрация: 21.06.2013
Адрес: Москва
Сообщений: 176
Вес репутации: 0 ![]() ![]() ![]() |
Цитата:
У меня какой-то файл появился,не знаю куда засунуть "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. |
|
|
|
|
|
|
#8 | |
|
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 601 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Не так все просто, как пишут с програмкой 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 то ни ких проблем нету. |
|
|
|
|
|
|
#9 | |
|
Senior Member
Регистрация: 21.06.2013
Адрес: Москва
Сообщений: 176
Вес репутации: 0 ![]() ![]() ![]() |
Цитата:
|
|
|
|
|
|
|
#10 |
|
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 601 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Пересобрал пакеты и добавил просмотр температуры с браузера.
Но не совсем по примеру. Там сам фаил, для отображаемой температуры, находится на флеши роутера. И каждое обновление температуры обновляется и фаил. И юзается флеха, надолго ли так? Пошел по другому пути. В /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 Дата и тип будут считываться с настроек. Последний раз редактировалось melsem; 05.02.2014 в 06:58. |
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|
|