![]() |
|
![]() |
#1 |
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 ![]() |
![]()
Доброго всем времени суток!
Задался вопросом интеграции полупрофессиональной метеостанции в различные сервисы. Хочу "вывести" в интернет орегон WMR88, установлена удаленно в деревне у родителей. Выход в инет через ADSL-модем, данные собирать планирую девайсом MR3020 с установленной прошивкой CyberWRT. Может кто задавался вопросом? Может, с помощью админа, получится сделать модуль?)) Пока удалось нарыть, что данные можно выцепить по USB (определяется как USB-HID) с помощью пакета wview, он есть в репозитарии, правда старая версия. Функционал его конечно избыточен, да и запустить с ходу не получилось... Последний раз редактировалось electric; 04.12.2014 в 10:31. |
![]() |
![]() |
![]() |
#2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Если у Вас есть рабочий и проверенный вариант скриптов, то я оформлю их в модуль
Создать скрипт, не имея девайса у меня не получится |
![]() |
![]() |
![]() |
#3 | |
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 ![]() |
![]() Цитата:
WVIEW слишком монструозный - разбираюсь пока с ним... Можете посмотреть софт WMR - будет ли работать на OpenWRT? Я искал-искал, так и не понял. Есть еще WeeWX на питоне вроде. Так же нашел пару проектов, которые предлагают сразу прошивки: 1. meteobridge.com 2. meteoplug.com Последний раз редактировалось electric; 03.12.2014 в 23:12. |
|
![]() |
![]() |
![]() |
#5 | |
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 ![]() |
![]() Цитата:
Вроде удалось запустить, какие то данные даже получает, только температуры в фаренгейтах и давление не понятно в каких единицах. Все данные записывает в БД SQLite. Пришлось правда немного подшаманить инструкцию... |
|
![]() |
![]() |
![]() |
#6 |
Member
Регистрация: 19.03.2013
Адрес: Москва
Возраст: 57
Сообщений: 42
Вес репутации: 0 ![]() |
![]()
как вариант http://www.ab-log.ru/smart-house/weather-station
|
![]() |
![]() |
![]() |
#7 | ||
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 ![]() |
![]() Цитата:
Цитата:
А что конкретно не получилось то? Я вроде запустил на прошивке CyberWRT, данные в sqlite пишутся, оттуда их уже можно выцепить чем угодно. Всяческие сервисы типа httpgen и пр. отключил, оставил только wviewd - демона... |
||
![]() |
![]() |
![]() |
#8 |
Member
Регистрация: 19.03.2013
Адрес: Москва
Возраст: 57
Сообщений: 42
Вес репутации: 0 ![]() |
![]()
Пробую ковырять https://code.google.com/p/fowsr/ и как-то связать с sqlite и php. WVeiw пробовал не срослось, видимо знаний линуха не хватает...
|
![]() |
![]() |
![]() |
#9 | |||||||||||||||||||||
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 ![]() |
![]()
Итак, потестил системку, вроде работает, долго работает уже...
Как сделать модуль для CyberWRT - не знаю, даже более - можно ли его сделать? Установка и наладка может слишком специфична... Теперь по порядку: 1. Допустим у нас есть роутер MR3020, БП к нему, USB-hab - к примеру Ginzzu GR-414UB, флешка c USB (чем меньше по габаритам - тем лучше, к примеру такая). На роутер уже установлена OpenWRT, посмотреть можно тут. Я буду подключать погодную станцию Oregon Scientific WMR88, но можно в принципе любую, с внешним интерфейсом USB. Для данной метеостанции используется пакет WVIEW. Функционал этой программы довольно велик - можно настраивать через ВЕБ-интерфейс, она умеет генерить картинки для последующего отображения через веб-морду, передавать данные в популярные сервисы типа Wunderground, WeatherForYou и прочие, и много чего еще. Моя задача - собрать данные с метеостанции и записывать их в sqlite базу данных - для этого в состав wview входит специальный демон. 2. Предположим, OpenWRT была установлена ранее, если нет, то можно сразу поставить CyberWRT из веб-морды TP-Link. У меня уже стояла OpenWRT, поэтому я переехал на CyberWRT так: подключаемся по ssh на наш MR3020, выбираем папку /tmp Цитата:
Цитата:
Цитата:
Теперь, при желании, меняем настройки сети (у меня в инет будет смотреть порт LAN, встроенный WiFi никак не задействован) отредактировав файл /etc/config/network к примеру, так (секция LAN): Код:
config interface 'lan' option ifname 'eth0' option type 'bridge' option proto 'static' option netmask '255.255.255.0' option ip6assign '60' option ipaddr '192.168.69.60' option gateway '192.168.69.1' option dns '8.8.8.8' Перезагружаемся, подключаемся по ssh (порт 22) с помощью того же клиента putty (в первый раз система спросит обновить ключ - соглашаемся). Патч-корд роутера уже можно втыкать в коммутатор домашней сети. Проверяем инет: Код:
root@CyberWrt:~# ping www.ya.ru PING www.ya.ru (213.180.204.3): 56 data bytes 64 bytes from 213.180.204.3: seq=0 ttl=249 time=6.792 ms 64 bytes from 213.180.204.3: seq=1 ttl=249 time=5.934 ms 64 bytes from 213.180.204.3: seq=2 ttl=249 time=6.013 ms 64 bytes from 213.180.204.3: seq=3 ttl=249 time=6.270 ms 64 bytes from 213.180.204.3: seq=4 ttl=249 time=6.183 ms 64 bytes from 213.180.204.3: seq=5 ttl=249 time=5.933 ms ^C --- www.ya.ru ping statistics --- 6 packets transmitted, 6 packets received, 0% packet loss round-trip min/avg/max = 5.933/6.187/6.792 ms Код:
root@CyberWrt:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 1472 212 1260 14% / /dev/root 1536 1536 0 100% /rom tmpfs 14468 64 14404 0% /tmp /dev/mtdblock3 1472 212 1260 14% /overlay overlayfs:/overlay 1472 212 1260 14% / tmpfs 512 0 512 0% /dev Теперь по идее надо было бы с помощью fdisk разбивать флешку на разделы, переносить ovelay, монтировать, но - у нас же есть модули для прошивки CyberWRT! Подключаемся через встроенный веб-интерфейс CyberWRT, просто набрав в браузере IP вашего девайса и залогинившись. Сначала устанавливаем пакет "Модули" - "Utilites" - "Системный диск". После успешной установки, переходим в появившееся меню "Системный диск", где видим подключенную флешку. Выбираем объем swap (128, к примеру) и нажимаем кнопку "Создать системный накопитель". Дождемся пока работа программы закончится, при этом роутер автоматически перезагрузится. Подключаемся по ssh, смотрим свободное место: Код:
root@CyberWrt:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 7432868 18812 7013444 0% / /dev/root 1536 1536 0 100% /rom tmpfs 14468 64 14404 0% /tmp /dev/sda1 7432868 18812 7013444 0% /overlay overlayfs:/overlay 7432868 18812 7013444 0% / tmpfs 512 0 512 0% /dev Далее можно установить модули по вкусу (пакеты, терминал и прочее), но я рекомендую далее выполнять все через dpkg install... 4. Сначала обновим репозитарий: Цитата:
Цитата:
Теперь самое интересное. Репозитарий CyberWRT основан на оригинальном OpenWRT, просто не обновляется - чтобы обновленный пакет не испортил всю систему. И самое главное - в этом репозитарии уже есть программа WVIEW (хоть версия и не новая) и не надо ничего собирать из исходников! Установим её: Цитата:
Теперь разберемся с подключением погодной станции. WMR88 подключается к роутеру по USB, но - определяется не как USB-Serial, как я предполагал изначально, а как USB-HID устройство. Для правильно работы добавим пакеты в систему: Цитата:
Смотрим директории в /dev до подключения USB-порта метеостанции: Цитата:
Цитата:
Цитата:
Цитата:
Создадим директории для работы программы: Цитата:
На всякий случай (чтобы избежать ошибок конфигурирования ниже) скопируем из архива по пути wview.x.x.x./examples/html/ все файлы и папки в директорию с конфиг-файлами /etc/wview/html/. Можно через консоль, можно с помощью программки WinSCP. В итоге получаем: Цитата:
Цитата:
Цитата:
1. PARAMETER: STATION_TYPE - в случае WMR88 по USB вписываем WMR88, 2. PARAMETER: STATION_DEV - у меня станция определилась как /dev/usb/hiddev0 - вписываем это значение, 3. PARAMETER: HTMLGEN_IMAGE_PATH - хранить сгенерированные html-файлы будем в /wview/img, 4. PARAMETER: HTMLGEN_HTML_PATH - шаблоны мы качали в директорию /wview/html. Можно конечно поменять и другие значения, как то - широта/долгота/высота над ур.м. в месте установки, название станции, город и прочее... Подробнее что означает и как используется каждый параметр можно почитать в мануале. Теперь сконфигурируем шаблоны html: Цитата:
Закоментируем строчки с помощью символа # в начале строки: Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
База данных у нас здесь: /wview/data/wview-archive.sdb. Можно поставить phpliteadmin и посмотреть. Единственное что - температуры в фаренгейтах, а давление в каких то inHg - дюймы рт. ст. что ли))) Итого: - демон запущен - можно слелать автозапуск через /etc/crontabs/ используя директиву @reboot, - данные пишутся в БД раз в 5 минут, - теперь любым php,py,java,bash-скриптом можно выцепить данные по последней строке таблицы БД. Последний раз редактировалось electric; 11.12.2014 в 00:21. |
|||||||||||||||||||||
![]() |
![]() |
![]() |
#10 |
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 ![]() |
![]()
Вопрос админу - все это хозяйство есть смысл оформлять в модуль?)))
P.S. Продолжаю рыть/искать что-ниб попроще. ИМХО для отправки данных на narodmon этот WVIEW избыточен... P.P.S. Не разобрался пока как использовать html для отображения данных. Картинки красивые вроде генерит... |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|