|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
23.02.2014, 20:29 | #1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)
Может портируете свой проект в CyberWrt модуль ?
Можно будет устанавливать одним кликом |
23.02.2014, 20:49 | #2 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)
Могу попробывать. Но вот только не знаю как портировать.
Где находится в проше роутера сам фаил вебки какого нибудь модуля? Имеющего вебку для настроек. Попробую разобраться, как все работает. Последний раз редактировалось melsem; 23.02.2014 в 20:54. |
23.02.2014, 20:55 | #3 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)
Вот здесь в кратце расписано
Если что то не понятно будет спрашивайте Главная веб страница находится в папке /www |
25.02.2014, 05:12 | #4 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
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 модуль. Последний раз редактировалось melsem; 27.02.2014 в 07:06. Причина: Исправил. Инициализацию gpio управления нагрузкой. Вчера при тестах отлючил и забыл вписать. |
05.03.2014, 19:10 | #5 |
Junior Member
Регистрация: 05.03.2014
Сообщений: 3
Вес репутации: 0 |
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. |
06.03.2014, 00:42 | #6 | |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)
Цитата:
Прогу надо запустить. Выше картинки где из веб морды. А если 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. |
|
07.03.2014, 02:01 | #7 |
Junior Member
Регистрация: 05.03.2014
Сообщений: 3
Вес репутации: 0 |
Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)
Спасибо. Именно этой информации и не хватало. Даже распаковав ipk , так и не разобрался куда и что залетает, и где нужно запускать саму прогу.
ЗЫ. Люси не стоит. Юзаю КиберВРТ. |
07.03.2014, 05:51 | #8 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)
Для 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 |
28.03.2014, 02:39 | #9 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: Подключение термометра DS18S20 через GPIO на MR-3020 (CyberWRT)
Для OpenWrt.
Исправил баги. Что бы запустить прогу после установки, команды в предыдущих сообщениях. Или перезагрузить роутер, авто запуск включен. Последний раз редактировалось melsem; 28.03.2014 в 03:19. |
18.05.2014, 00:46 | #10 |
Member
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0 |
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 Вопрос, только как узнать серийный номер датчика? |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|