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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.10.2013, 11:11   #81
narodmon
Junior Member
 
Регистрация: 24.12.2012
Сообщений: 23
Вес репутации: 0
narodmon is an unknown quantity at this point
Отправить сообщение для narodmon с помощью ICQ Отправить сообщение для narodmon с помощью Skype™
По умолчанию

UPD:
API проекта: http://narodmon.ru/#apidoc
Протокол передачи показаний: http://narodmon.ru/#proto
Подключение OpenWRT и OR-WRT: http://narodmon.ru/#!openwrt
Подключение Xively, Cosm, Pachube: http://narodmon.ru/#!xively
Показания по SMS: http://narodmon.ru/#sms_in
Поддержать проект: http://narodmon.ru/#!donate
narodmon вне форума   Ответить с цитированием
Старый 16.11.2013, 02:55   #82
paulerr
Senior Member
 
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1152
paulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond repute
По умолчанию Датчики влажности SHT21 и давления BMP085/BMP180

В основе информация с польского форума
http://openrouter.info/forum/

Все делалось на железке TL-WR740 c датчиками SHT21 и BMP180
Отключаем светодиоды от GPIO
Код:
rmmod leds_gpio
Прописываем эту строку в автозагрузку, редактируем /etc/rc.local

Устанавливаем пакеты
Код:
opkg install kmod-i2c-core
opkg install kmod-i2c-gpio-custom
opkg install i2c-tools
Для WR740 использовал GPIO 16(LAN3) как SCL и 13(WAN) как SDA. Отпаиваем светодиоды и резисторы, подключенные к этим выводам.
Питание I2C устройств от 3,3в, к шине питания от выводов SDA/SCL ставим резисторы. Подключаем датчики к роутеру.
Код:
root@OpenWrt:/# insmod i2c-gpio-custom bus0=0,13,16
[  656.340000] Custom GPIO-based I2C driver version 0.1.1
[  656.340000] i2c-gpio i2c-gpio.0: using pins 13 (SDA) and 16 (SCL)
добавляем эту строчку в /etc/rc.local

Код:
root@OpenWrt:/# cat /etc/rc.local 
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

rmmod leds_gpio

insmod i2c-gpio-custom bus0=0,13,16

exit 0
Запускаем утилиту из пакета i2c-tools
Код:
root@OpenWrt:/# i2cdetect -y i2c-gpio0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- 77
40 адрес – это SHT21, 77 адрес – BMP. (18 - DS2482 )
Для работы с датчиком давления на польском форуме был найдена скомпилированная версия BMP085 для ar71xx . Кидаем в удобное место на роутере, ставим права на выполнение
Код:
root@OpenWrt:/# bmp085 -d i2c-gpio0
T: 29.4
P: 997.48
Там-же на польском форуме есть скрипт для датчика влажности
Код:
#!/bin/sh
RAWTEMP=$(i2cget -y 0 0x40 0xe3 w)
RAWHUMI=$(i2cget -y 0 0x40 0xe5 w)
if (echo "$RAWTEMP"| grep -Eq '0x[0-9a-f]{4}'); then
   HEXORDERED=$(echo "$RAWTEMP"|sed -r 's/0x([0-9a-f]{2})([0-9a-f]{2})/0x\2\1/')
   DECRAW=$(($HEXORDERED))
   echo $DECRAW | awk -v tem=${DECRAW} '{ printf "%.2f stC\n", -46.85+((tem*175.72)/65536)}'
fi
if (echo "$RAWHUMI"| grep -Eq '0x[0-9a-f]{4}'); then
   HEXORDERED=$(echo "$RAWHUMI"|sed -r 's/0x([0-9a-f]{2})([0-9a-f]{2})/0x\2\1/')
   DECRAW=$(($HEXORDERED))
   echo $DECRAW | awk -v hum=${DECRAW} '{ printf "%.2f %%RH\n", -6+((hum*125)/65536)}'
fi
Кидаем в удобное место на роутере, ставим права на выполнение

Код:
root@OpenWrt:/# sht21.sh 
30.11 stC
27.70 %RH
Во вложении прога с исходником, скрипт и эскиз платы для SHT21 и BMP180.
На плате сопротивления 4,7ком, емкости 0,1 мкФ. BMP180 отличается от BMP085 корпусом, программно работа с ними одинаковая. В качестве готового решения можно, найти плату GY-65 и подобные.
Вложения
Тип файла: rar Temperature_Humidity_Pressure_OpenWRT.rar (23.3 Кб, 451 просмотров)
paulerr вне форума   Ответить с цитированием
Старый 06.01.2014, 22:16   #83
Dioptimizer
Senior Member
 
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 689
Dioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond repute
По умолчанию Re: Сбор и отправка показаний датчиков на MR3020/WR703N

Вопрос, у кого как быстро сканирует "i2cdetect -y i2c-gpio0" адресное пространство?
И при этом какая загрузка CPU этого процесса?
(в еще одной консоли можно вбить команду top)
Dioptimizer вне форума   Ответить с цитированием
Старый 06.01.2014, 23:17   #84
paulerr
Senior Member
 
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1152
paulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond repute
По умолчанию Re: Сбор и отправка показаний датчиков на MR3020/WR703N

Практически моментом. top отследить не успеваю. Правда до железки канал с модемом...
paulerr вне форума   Ответить с цитированием
Старый 19.03.2014, 19:29   #85
HuanCarlos
Junior Member
 
Регистрация: 19.03.2014
Сообщений: 11
Вес репутации: 0
HuanCarlos is an unknown quantity at this point
По умолчанию Re: Сбор и отправка показаний датчиков на MR3020/WR703N

У меня датчики работают через переходник, и без хаба. Что-то не так? )
роутеров у меня таких несколько, разных переходников тоже пяток,
от датакабелей и заказные к ардуинам, причем - cp2102, cp2103, pl2303
вроде со всеми...

Конкретно об этом комплекте, с ним основные телодвижения. OpenWRT 12.09
сделал на роутере 3020, 6шт датчиков ds18d20, переходник USB-UART 2102,
воткнуто через активный усбхаб, вместе с камерой logitech - переодически отваливаются датчики, не все, половина... Пока только один на относительно длинном проводе, метров 10, но не витой - КВК для видеонаблюдения, остальные на 10см обрезках на столе лежат.

Питание пока не паразитное, трехпроводное включение датчиков, даю им +5В с переходника, data датчиков на rxd+txd, никаких подтяжек итп, работает.
Так вот отваливаются, но не совсем - если запустить digitemp_DS9097 -i
даже и без указания порта (-s /dev/ttyUSB0) итп - тут же все находятся, следом digitemp_DS9097 -a и все показывают температуру. Пришлось в крон прописать не только отправку в народмон, но и сначала переинициализировать датчики. Но - то шлет, то нет.

Думаю на хаб\питание\камеру... воткнул напрямую,
наблюдаю - отвалятся снова или как... на днях допишу сюда.
HuanCarlos вне форума   Ответить с цитированием
Старый 19.03.2014, 19:32   #86
HuanCarlos
Junior Member
 
Регистрация: 19.03.2014
Сообщений: 11
Вес репутации: 0
HuanCarlos is an unknown quantity at this point
По умолчанию Re: Сбор и отправка показаний датчиков на MR3020/WR703N

Electric -
а вам удалось DHT22 через усб переходник подключить и отправлять в нармон?
поделитесь ссылками итп? Что-то в том что нашел все как-то не очень понятно.
Может быть есть какой-то хороший ман, который я пока не нашел?

Не очень хочется отковыривать, подпаиваться на плату итп.
Да и зрение не то...

Последний раз редактировалось HuanCarlos; 19.03.2014 в 19:36. Причина: додумал добавил
HuanCarlos вне форума   Ответить с цитированием
Старый 18.05.2014, 00:44   #87
piglet-animas
Member
 
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0
piglet-animas is an unknown quantity at this point
По умолчанию Re: Сбор и отправка показаний датчиков на MR3020/WR703N

Цитата:
Сообщение от 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 вне форума   Ответить с цитированием
Старый 18.05.2014, 12:04   #88
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: Сбор и отправка показаний датчиков на MR3020/WR703N

Цитата:
Сообщение от piglet-animas Посмотреть сообщение
Все хорошо, а как узнать серийный номер датчика?
Ответ в соседней
melsem вне форума   Ответить с цитированием
Старый 19.05.2014, 20:22   #89
piglet-animas
Member
 
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0
piglet-animas is an unknown quantity at this point
По умолчанию Re: Сбор и отправка показаний датчиков на MR3020/WR703N

Цитата:
Сообщение от Admin Посмотреть сообщение
Еще есть GPIO на которых висят светодиоды и переключатель
А не подскажите которые gpio висят на переключателе?
очень хочется сохранить и i2c на gpio 7 и 29 и добавить ds1820 еще на один gpio=)
piglet-animas вне форума   Ответить с цитированием
Старый 19.05.2014, 23:38   #90
paulerr
Senior Member
 
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1152
paulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond repute
По умолчанию Re: Сбор и отправка показаний датчиков на MR3020/WR703N

есть еще мост i2c->1w ds2482
paulerr вне форума   Ответить с цитированием
Ответ

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


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

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

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

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


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


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