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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.12.2012, 21:22   #11
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1310
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

У меня дома "умный дом" на базе ардуин и сервера (полноценный комп). Датчики температуры аналоговые.
Сделал как написано:
PHP код:
<?php
while(1)
{
$file=fopen("arxiv""r");
$gradus fgets($file);
list(
$d0$d1$d2$d3$d4$d5$d6$d7$d8) = explode(","$gradus);

fclose($file);

$fp = @fsockopen("tcp://narodmon.ru"8283$errno$errstr);
if(!
$fp) exit("ERROR(".$errno."): ".$errstr);
fwrite($fp"#8C:89:A5:6F:15:CE\n#8C89A56F15CE1867#$d7\n##");
fclose($fp);
sleep(300000);

}
?>
Скрипт здесь обращается не ардуине, а к файлу в котором хранятся некоторые данные.

Последний раз редактировалось stD; 28.12.2012 в 21:37.
stD вне форума   Ответить с цитированием
Старый 10.01.2013, 14:50   #12
serenya
Junior Member
 
Регистрация: 10.01.2013
Сообщений: 29
Вес репутации: 0
serenya is an unknown quantity at this point
По умолчанию

Здравствуйте, захотел я тоже поучаствовать в проекте Народный мониторинг. Имею роутер 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.
serenya вне форума   Ответить с цитированием
Старый 19.01.2013, 22:47   #13
amod-cccp
Senior Member
 
Аватар для amod-cccp
 
Регистрация: 05.01.2013
Адрес: Беларусь
Сообщений: 241
Вес репутации: 633
amod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond repute
По умолчанию

serenya, продвинулось дело?
amod-cccp вне форума   Ответить с цитированием
Старый 20.01.2013, 16:40   #14
serenya
Junior Member
 
Регистрация: 10.01.2013
Сообщений: 29
Вес репутации: 0
serenya is an unknown quantity at this point
По умолчанию

Продвинулось, но не совсем в том направлении, сейчас готовится статья на хабр, ссылка здесь будет.
serenya вне форума   Ответить с цитированием
Старый 21.01.2013, 17:03   #15
serenya
Junior Member
 
Регистрация: 10.01.2013
Сообщений: 29
Вес репутации: 0
serenya is an unknown quantity at this point
По умолчанию

Ссылка
serenya вне форума   Ответить с цитированием
Старый 21.01.2013, 18:24   #16
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Ремарка к вашей статье.

Я не рискнул закрывать платой USB-HUB область ВЧ (внутр. антенна Wi-Fi). Wi-Fi работал, но дальность сильно падала (раза в 3-и). Тогда я переместил плату в противоположную сторону (к св. диодам). Поэтому пришлось пожертвовать световодами.
andr128 вне форума   Ответить с цитированием
Старый 21.01.2013, 20:30   #17
serenya
Junior Member
 
Регистрация: 10.01.2013
Сообщений: 29
Вес репутации: 0
serenya is an unknown quantity at this point
По умолчанию

Об этом я не подумал, и пока не заметил ухудшения связи. Возможно условия эксплуатации разные, у меня расстояния не большие.
serenya вне форума   Ответить с цитированием
Старый 16.02.2013, 15:25   #18
amod-cccp
Senior Member
 
Аватар для amod-cccp
 
Регистрация: 05.01.2013
Адрес: Беларусь
Сообщений: 241
Вес репутации: 633
amod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond repute
По умолчанию

serenya, перенесите сюда готовый вариант скрипта и нужных телодвижений, а так же без извращений с USB-UART. Спасибо.
__________________
Моя солянка на основе TL-MR3020.

Последний раз редактировалось amod-cccp; 16.02.2013 в 15:31.
amod-cccp вне форума   Ответить с цитированием
Старый 16.02.2013, 22:52   #19
narodmon
Junior Member
 
Регистрация: 24.12.2012
Сообщений: 23
Вес репутации: 0
narodmon is an unknown quantity at this point
Отправить сообщение для narodmon с помощью ICQ Отправить сообщение для narodmon с помощью Skype™
По умолчанию

Цитата:
Сообщение от amod-cccp Посмотреть сообщение
serenya, перенесите сюда готовый вариант скрипта и нужных телодвижений, а так же без извращений с USB-UART. Спасибо.
Скрипт на Хабре публиковался. Без адаптера USB-UART к сожалению не обойтись ибо digitemp не хочет работать со встроенным UART /dev/ttyATH0
narodmon вне форума   Ответить с цитированием
Старый 16.02.2013, 23:48   #20
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию

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

Подключаем к GPIO датчик DS18B20
Название: gpio-1wire.png
Просмотров: 11000

Размер: 3.5 Кб

Устанавливаем необходимые пакеты для работы 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

Первоисточник
Admin вне форума   Ответить с цитированием
Ответ

Метки
1-wire, digitemp, narodmon, openwrt, uart


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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