![]() |
![]() |
#11 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
У меня дома "умный дом"
![]() Сделал как написано: PHP код:
Последний раз редактировалось stD; 28.12.2012 в 21:37. |
![]() |
![]() |
![]() |
#12 |
Junior Member
Регистрация: 10.01.2013
Сообщений: 29
Вес репутации: 0 ![]() |
![]()
Здравствуйте, захотел я тоже поучаствовать в проекте Народный мониторинг. Имею роутер MR3020 с прошивкой OR-WRT 0.70 на основе OpenWRT и Raspberry Pi с которой уже благополучно читаю показания пары датчиков. Raspberry Pi настраивал как здесь. Хотелось бы наладить отправку данных с обоих устройств. Сегодня удалось опознать и считать данные с датчика роутером через FTDI адаптер. Для этого пришлось сменить репозиторий на официальный OpenWRT-шный, для этого изменил файл /etc/opkg.conf. Исправил в нем адрес репозитория на http://downloads.openwrt.org/snapsho...71xx/packages/
Затем выполнил: opkg update opkg install digitemp-usb opkg install digitemp После этого командой dmesg выяснил куда подключен адаптер FTDI, у меня оказался ttyUSB0. Выполняем поиск устройств 1-wire digitemp_DS9097 -i -s /dev/ttyUSB0 если нашлись, то digitemp_DS9097 -a -A -l /tmp/1wire_log что бы посмотреть результат cat /tmp/1wire_log Частично делал по инструкции отсюда Итого имею 2 устройства умеющих работать с 1-wire и потенциально умеющих отправлять данные. Так как тема про роутер, то интересует в общем то то же что и топикстартера, как отправить данные. p.s. Чую сегодня роутеру предстоит вскрытие на предмет подключения датчика напрямую, без адаптера USB-COM. Последний раз редактировалось serenya; 18.01.2013 в 23:37. |
![]() |
![]() |
![]() |
#13 |
Senior Member
Регистрация: 05.01.2013
Адрес: Беларусь
Сообщений: 241
Вес репутации: 634 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
serenya, продвинулось дело?
|
![]() |
![]() |
![]() |
#14 |
Junior Member
Регистрация: 10.01.2013
Сообщений: 29
Вес репутации: 0 ![]() |
![]()
Продвинулось, но не совсем в том направлении, сейчас готовится статья на хабр, ссылка здесь будет.
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Ремарка к вашей статье.
Я не рискнул закрывать платой USB-HUB область ВЧ (внутр. антенна Wi-Fi). Wi-Fi работал, но дальность сильно падала (раза в 3-и). Тогда я переместил плату в противоположную сторону (к св. диодам). Поэтому пришлось пожертвовать световодами. |
![]() |
![]() |
![]() |
#17 |
Junior Member
Регистрация: 10.01.2013
Сообщений: 29
Вес репутации: 0 ![]() |
![]()
Об этом я не подумал, и пока не заметил ухудшения связи. Возможно условия эксплуатации разные, у меня расстояния не большие.
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Регистрация: 05.01.2013
Адрес: Беларусь
Сообщений: 241
Вес репутации: 634 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
serenya, перенесите сюда готовый вариант скрипта и нужных телодвижений, а так же без извращений с USB-UART. Спасибо.
__________________
Моя солянка на основе TL-MR3020. Последний раз редактировалось amod-cccp; 16.02.2013 в 15:31. |
![]() |
![]() |
![]() |
#19 | |
Junior Member
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#20 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Можно обойтись и без адаптера USB-UART
Если есть опыт использования паяльника Используем любой свободный GPIO роутера Не забудьте удалить резистор подтягивающий порт в GND Подключаем к GPIO датчик DS18B20 Устанавливаем необходимые пакеты для работы 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-wire, digitemp, narodmon, openwrt, uart |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|