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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.01.2014, 22:51   #41
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

На форуме выкладывали скрипт который использует трехпозиционный переключатель
Admin вне форума   Ответить с цитированием
Старый 12.01.2014, 23:09   #42
to_
Member
 
Регистрация: 04.01.2014
Сообщений: 81
Вес репутации: 0
to_ is an unknown quantity at this point
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Вот нашел интересную подробную инструкцию , все купил, буду делать

http://d.hatena.ne.jp/tomtom1ono/20120412/1334176791
to_ вне форума   Ответить с цитированием
Старый 13.01.2014, 01:53   #43
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)

Ребята сильно не пинайте и если не трудно помогите со скриптом. Я не программист, а для себе в свободное от работы время, изучал только assembler.
Да и писал только к PIC16.
Что надо вписать в скрипт, что бы сделать индикацию температуры ниже 18 градусов в доме (на дополнительно впаянном диоде на GPIO2).

Использую два датчика DS18B20. Один в доме второй на улице. Подключены к GPIO1. Пакеты установлены и все работает.
Делал по этому примеру

Подтяжку на GPIO1, резистор 18кОм, сменил на 3,3кОм.
Для инициализации шины, на работу DS18B20 через порт GPIO1, после перезагрузки или включения роутера
А так же добавил в систему пин GPIO2, для индикации температуры ниже 18 градусов , и сделал выходом
Вписал в файл /etc/rc.local:
Код:
insmod w1-gpio-custom bus0=0,1,0
echo 2 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio2/direction
Создал фаил в /etc/ReadDS18B20/oprosDC18B20.sh, присвоил атрибут 0755, вписал:
Код:
#!/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"	# Чтение со второго датчика улица

 rm /home/DOM.log &> /dev/null					# Удаление
 rm /home/ULICA.log &> /dev/null					# Удаление
 awk -F= '/t=/ {printf "%.02f\n", $2/1000}' $DOM >> /home/DOM.log	# Чтение с первого датчика. Перевод показаний в нормальный вид. Запись в фаил на сервере.
 awk -F= '/t=/ {printf "%.02f\n", $2/1000}' $ULICA >> /home/ULICA.log	# Чтение со второго датчика. Перевод показаний в нормальный вид. Запись в фаил на сервере.
В планировщике вписал:
Код:
*/5 * * * * sh /etc/ReadDS18B20/oprosDC18B20.sh
На сервере каждые 5 минут обновляются показания в фаилах DOM.log и ULICA.log.

И на этом все. Как и что вписать дальше в скрипт, для управления GPIO2 в зависимости от температуры, не знаю.
melsem вне форума   Ответить с цитированием
Старый 13.01.2014, 02:08   #44
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Незнаю в каком виде у Вас показания, но
попробуйте вот так
Код:
alerT=cat /home/ULICA.log
if ["$alerT" -ge 18]; then
echo 1 > /sys/class/gpio/gpio2/value
else
echo 0 > /sys/class/gpio/gpio2/value
fi
Admin вне форума   Ответить с цитированием
Старый 13.01.2014, 02:26   #45
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 Посмотреть сообщение
Незнаю в каком виде у Вас показания...
Спасибо за ответ. Показания в десятичном виде с запятой (22.68).
Вписал вот так
Код:
#!/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"	# Чтение со второго датчика улица

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

 alerT=cat /home/ULICA.log
 if ["$alerT" -ge 18]; then
 echo 1 > /sys/class/gpio/gpio2/value
 else
 echo 0 > /sys/class/gpio/gpio2/value
 fi
А в путти ошибка в 10й строке
Код:
root@OpenWrt:~# sh /etc/ReadDS18B20/oprosDC18B20.sh
/etc/ReadDS18B20/oprosDC18B20.sh: line 10: /home/ULICA.log: Permission denied
sh: missing ]
melsem вне форума   Ответить с цитированием
Старый 13.01.2014, 02:33   #46
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Измените права на файл /home/ULICA.log
Admin вне форума   Ответить с цитированием
Старый 13.01.2014, 02:40   #47
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)

Ничего не дает. Ошибка таже.
melsem вне форума   Ответить с цитированием
Старый 13.01.2014, 02:48   #48
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

А если так
alerT=$(cat /home/ULICA.log)
Admin вне форума   Ответить с цитированием
Старый 13.01.2014, 03:07   #49
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)

Не работает сравнение. В файле /home/ULICA.log вписывал числа 17, 18 и 19.
В скрипте строку включения диода wps всегда пропускает.
Отрабатывает только выключение.
В скрипте для теста оставил только это :
Код:
#!/bin/sh
alerT=$(cat /home/ULICA.log)
if ["$alerT" -ge 18]; 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
В путти запускаю скрипт и получаю вот что:
Код:
root@OpenWrt:~# sh /etc/ReadDS18B20/oprosDC18B20.sh
/etc/ReadDS18B20/oprosDC18B20.sh: line 7: [18: not found
root@OpenWrt:~#sh /etc/ReadDS18B20/oprosDC18B20.sh
/etc/ReadDS18B20/oprosDC18B20.sh: line 7: [17: not found
root@OpenWrt:~#sh /etc/ReadDS18B20/oprosDC18B20.sh
/etc/ReadDS18B20/oprosDC18B20.sh: line 7: [19: not found
root@OpenWrt:~#

Последний раз редактировалось melsem; 13.01.2014 в 06:18.
melsem вне форума   Ответить с цитированием
Старый 13.01.2014, 13:21   #50
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

У Вас какое колличество знаков после запятой?

Не уверен что поможет, но все равно попробуйте
if [ "$alerT" -ge "18.0" ]; then
Admin вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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