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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.02.2014, 20:29   #1
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)

Может портируете свой проект в CyberWrt модуль ?
Можно будет устанавливать одним кликом
Admin вне форума   Ответить с цитированием
Старый 23.02.2014, 20:49   #2
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; 23.02.2014 в 20:54.
melsem вне форума   Ответить с цитированием
Старый 23.02.2014, 20:55   #3
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)

Вот здесь в кратце расписано
Если что то не понятно будет спрашивайте

Главная веб страница находится в папке /www
Admin вне форума   Ответить с цитированием
Старый 25.02.2014, 05:12   #4
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)

Для датчиков подключенных к GPIO выводам роутера все переписал. Теперь настройки идентичны с прогой где датчики подключены к юсб-дата.

За исключением одного пункта. Инициализации.
Для проги ds18b20v2 termostat-GPIO надо инициализировать вывод gpio к которому подключены датчики. Вписывать в таком виде пример: 0,1,0 - это если к gpio-1. 0,7,0 - это если к gpio-7.

Прога termostat-usb-data-uart. для юсб-дата надо от /dev/ttyUSB0 до /dev/ttyUSB10, в зависимости на каком порту он сел. Для UART надо /dev/ttyATH0 ,это если проц 9331, или /dev/ttyS0 это если проц 9341 - 7241. Предварительно отключив вывод лога в консоль.

В обеих прогах новые датчики подхватываются и прописываются автоматом сами, после включения роутера или после перезапуска проги ( по возрастанию их номера ). Это пункт в веб-морде ID - Sensor Вручную вписывать теперь нет необходимости.

Датчиков подключить возможно до десяти. Но больше чем c четырьмя не проверял, больше нету. Длина проводов от роутера к датчикам по 5 метров (в три провода, питание не паразитное).

Если стоит Samba то проша создает лог температуры и отправит на сервер. С глубиной в два каталога, в последнем создаст третий каталог в названии которого будет <текущая дата на один день>.
После 24:00 ночи создаст навый каталог в названии которого будет <текущая дата на один день>. И так каждые сутки. В этом каталоге с датой будет лог.
Так же там создаст и html файл для просмотра в браузере с текущей температурой.
Пункт DIR without spaces - названия каталогов и имя файла лога. Пример: если вписать /home/Termo/Дом.log то фаил-лог будет в /home/Termo/Feb.25.2014/Дом.log

Интервал обновления логов, а также для отправки на сайт narodmon.ru изменяется в веб-морде.
Пункт send the temperature log.

С каких датчиков надо отправить на narodmon.ru, а с каких нет, надо отметить (поставить галочку).
Пункты в строках настройки narodmon.ru.

Пункты в строках настройки Device (Устройство) выбрать тип устройства, как должен работать роутер с определенными датчиками и выводами для управления нагрузкой.

Пункты в строках настройки GPIO/out - Sensor номер GPIO для управления нагрузкой.

Пункты в строках настройки Temperatura - Off порог отключения. Вписывать от 124.9 до -49.9.
Пример для морозильной камеры: что бы морозильная камера отключилась при температуре минус 18 градусов вписать надо -18
Если нужна большая точность (как в инкубаторе), десятые доли градуса писать через точку но не запятую.

Пункты в строках настройки Histerezis - On - это интервал в градусах между отключением и включением нагрузки. Вписывать можно с десятыми долями градуса. Но без символа "-" даже для морозильной камеры.

Проги проверял на mr3020v1, mr3220v2, mr3420v1 и mr3420v2. Выводы gpio управления нагрузкой использовал разные.

Изменения:
1. com-port не установлен или не тот к которому подключены датчики прога не запустится.
2. датчики не обнаружены прога не запустится
3. если во время работы датчик отвалился - на выходе GPIO для управления нагрузкой (соответствующего в настройках к отпавшему датчику) устанавливается 0.
4. если в настройках к датчику GPIO для управления нагрузкой не установлен или изменён после запуска проги, то она сама переключит этот датчик на только termometr.

После изменений надо делать перезапуск проги.

Для просмотра с браузера показаний измерений в html обновляемых каждые 2-10 сек надо ввести: http://192.168.1.1/tstatusb.html
Вместо 192.168.1.1 вписать ip-адрес роутера

Предложений для каких нибудь изменений и исправлений нету, пока на этом и остановлюсь.
Перехожу в проект CyberWrt модуль.
Вложения
Тип файла: rar termostat-usb-data-uart_1.7-26.02.2014.rar (6.7 Кб, 365 просмотров)
Тип файла: rar termostat_TP_LINK_GPIOx_1Wire_1.7-26.02.2014.rar (6.6 Кб, 299 просмотров)
Тип файла: rar termostat-usb-data-uart_1.7-27.02.2014.rar (6.8 Кб, 336 просмотров)
Тип файла: rar termostat_TP_LINK_GPIOx_1Wire_1.7-27.02.2014.rar (6.8 Кб, 301 просмотров)

Последний раз редактировалось melsem; 27.02.2014 в 07:06. Причина: Исправил. Инициализацию gpio управления нагрузкой. Вчера при тестах отлючил и забыл вписать.
melsem вне форума   Ответить с цитированием
Старый 05.03.2014, 19:10   #5
icebeer
Junior Member
 
Регистрация: 05.03.2014
Сообщений: 3
Вес репутации: 0
icebeer is an unknown quantity at this point
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Прекрасная программа, только растолкуйте ламеру подробней ..
Имеются MR-3020 с CyberWRT, подключены (gpio7) пять датчиков, через телнет видны все пять.
Скачиваю архив, распаковываю кладу в роутер .. в терминале запускаю opkg install (имя).. там же вижу :
Installing termostat (1.7-26.02.2014-TP-LINK-GPIOx_1Wire) to root...
Configuring termostat.
где и что затем нужно инициализировать? Страница http://192.168.хх.хх/tstatusb.html - отсутствует, т.к. в папке www нет такого файла. Куда это все устанавливается, и как затем запустить?

Последний раз редактировалось icebeer; 05.03.2014 в 19:13.
icebeer вне форума   Ответить с цитированием
Старый 06.03.2014, 00:42   #6
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)

Цитата:
Сообщение от icebeer Посмотреть сообщение
...где и что затем нужно инициализировать? Страница http://192.168.хх.хх/tstatusb.html - отсутствует, т.к. в папке www нет такого файла. Куда это все устанавливается, и как затем запустить?


Прогу надо запустить.
Выше картинки где из веб морды.

А если luci не установлена вот комманды:
для датчиков на gpio
/etc/init.d/ds18b20_init start
/etc/init.d/ds18b20_init stop

для датчиков на usb-uart
/etc/init.d/ds18b20usba_init start
/etc/init.d/ds18b20usba_init stop

Последний раз редактировалось melsem; 06.03.2014 в 00:44.
melsem вне форума   Ответить с цитированием
Старый 07.03.2014, 02:01   #7
icebeer
Junior Member
 
Регистрация: 05.03.2014
Сообщений: 3
Вес репутации: 0
icebeer is an unknown quantity at this point
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Спасибо. Именно этой информации и не хватало. Даже распаковав ipk , так и не разобрался куда и что залетает, и где нужно запускать саму прогу.
ЗЫ. Люси не стоит. Юзаю КиберВРТ.
icebeer вне форума   Ответить с цитированием
Старый 07.03.2014, 05:51   #8
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)

Цитата:
Сообщение от icebeer Посмотреть сообщение
ЗЫ. Люси не стоит. Юзаю КиберВРТ.
Для cyberwrt к проге веб написал. Пока проверяю. На днях скину.

Без luci вот еще комманды для авто-запуска, что бы после включения или перезагрузки роутера сама запускалась:

для датчиков на gpio
включить авто-запуск: /etc/init.d/ds18b20_init enable
отключить авто-запуск: /etc/init.d/ds18b20_init disable

для датчиков на usb-uart
включить авто-запуск: /etc/init.d/ds18b20usba_init enable
отключить авто-запуск: /etc/init.d/ds18b20usba_init disable
melsem вне форума   Ответить с цитированием
Старый 28.03.2014, 02:39   #9
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)

Для OpenWrt.

Исправил баги.

Что бы запустить прогу после установки, команды в предыдущих сообщениях. Или перезагрузить роутер, авто запуск включен.
Вложения
Тип файла: rar termostat-usb-data-uart_1.7.5.rar (9.1 Кб, 182 просмотров)
Тип файла: rar termostat_1.7.5-GPIOx_1Wire.rar (9.2 Кб, 179 просмотров)

Последний раз редактировалось melsem; 28.03.2014 в 03:19.
melsem вне форума   Ответить с цитированием
Старый 18.05.2014, 00:46   #10
piglet-animas
Member
 
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0
piglet-animas is an unknown quantity at this point
По умолчанию Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)

Сообщение от Admin Посмотреть сообщение
Можно обойтись и без адаптера USB-UART
Если есть опыт использования паяльника
Используем любой свободный GPIO роутера
Не забудьте удалить резистор подтягивающий порт в GND

Подключаем к GPIO датчик DS18B20
Вложение 821

Устанавливаем необходимые пакеты для работы 1-Wire
opkg install kmod-w1 kmod-w1-master-gpio kmod-w1-gpio-custom

Настраиваем шину на работу через порт GPIO, в примере GPIO2
insmod w1-gpio-custom bus0=0,2,0
или вот таким образом
echo "w1-gpio-custom bus0=0,2,0" > /etc/modules.d/59-w1-gpio-custom

Устанавливаем пакет для работы с датчиком температуры
opkg install kmod-w1-slave-therm

Прочитать значение датчика
cat /sys/bus/w1/drivers/w1_slave_driver/серийный номер датчика/w1_slave

В ответ получим данные от датчика, примерно в таком виде
7c 01 4b 46 7f ff 04 10 09 : crc=09 YES
7c 01 4b 46 7f ff 04 10 09 t=23750

Значение YES, говорит о целосности принятых данных.
Температура это значение t=23750, то есть 23.75 гр. С
Теперь температуру нужно перевести в понятный нам формат, установить запятую между целыми и дробными числами, то есть полученое значение t=xxxxx делим на 1000
awk -F= '/t=/ {printf "%.02f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/серийный номер датчика/w1_slave

Вопрос, только как узнать серийный номер датчика?
piglet-animas вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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