![]() |
![]() |
#81 |
Junior Member
|
![]()
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 |
![]() |
![]() |
![]() |
#82 |
Senior Member
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1153 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
В основе информация с польского форума
http://openrouter.info/forum/ Все делалось на железке TL-WR740 c датчиками SHT21 и BMP180 Отключаем светодиоды от GPIO Код:
rmmod leds_gpio Устанавливаем пакеты Код:
opkg install kmod-i2c-core opkg install kmod-i2c-gpio-custom opkg install i2c-tools Питание 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) Код:
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 Код:
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 ![]() Для работы с датчиком давления на польском форуме был найдена скомпилированная версия 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 На плате сопротивления 4,7ком, емкости 0,1 мкФ. BMP180 отличается от BMP085 корпусом, программно работа с ними одинаковая. В качестве готового решения можно, найти плату GY-65 и подобные. |
![]() |
![]() |
![]() |
#83 |
Senior Member
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 690 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Вопрос, у кого как быстро сканирует "i2cdetect -y i2c-gpio0" адресное пространство?
И при этом какая загрузка CPU этого процесса? (в еще одной консоли можно вбить команду top) |
![]() |
![]() |
![]() |
#84 |
Senior Member
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1153 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Практически моментом. top отследить не успеваю. Правда до железки канал с модемом...
|
![]() |
![]() |
![]() |
#85 |
Junior Member
Регистрация: 19.03.2014
Сообщений: 11
Вес репутации: 0 ![]() |
![]()
У меня датчики работают через переходник, и без хаба. Что-то не так? )
роутеров у меня таких несколько, разных переходников тоже пяток, от датакабелей и заказные к ардуинам, причем - 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 и все показывают температуру. Пришлось в крон прописать не только отправку в народмон, но и сначала переинициализировать датчики. Но - то шлет, то нет. Думаю на хаб\питание\камеру... воткнул напрямую, наблюдаю - отвалятся снова или как... на днях допишу сюда. |
![]() |
![]() |
![]() |
#86 |
Junior Member
Регистрация: 19.03.2014
Сообщений: 11
Вес репутации: 0 ![]() |
![]()
Electric -
а вам удалось DHT22 через усб переходник подключить и отправлять в нармон? поделитесь ссылками итп? Что-то в том что нашел все как-то не очень понятно. Может быть есть какой-то хороший ман, который я пока не нашел? Не очень хочется отковыривать, подпаиваться на плату итп. Да и зрение не то... Последний раз редактировалось HuanCarlos; 19.03.2014 в 19:36. Причина: додумал добавил |
![]() |
![]() |
![]() |
#87 | |
Member
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0 ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#89 |
Member
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#90 |
Senior Member
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1153 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
есть еще мост i2c->1w ds2482
|
![]() |
![]() |
![]() |
Метки |
1-wire, digitemp, narodmon, openwrt, uart |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|