Page 1 of 5 123 ... LastLast
Results 1 to 15 of 67

Thread: Метеостанции Oregon Scientific + роутер (wmr, wview & etc.)

  1. #1

    Lightbulb Метеостанции Oregon Scientific + роутер (wmr, wview & etc.)

    Добрый день, коллеги!
    Уже год как являюсь счастливым обладателем метостанции Oregon Scientific WMR200.

    Есть ряд проектов (Weewx, wfrog итп), которые позволяют считывать показания станции через USB порт и выводить их в виде таблиц и графиков на сайте, а так же подключать станцию к популярным погодным сервисам.

    Соответственно родилась идея подключить метеостанцию к моему роутеру RT-N56U для круглосутчного сбора исторических данных и визуализации их через интернет для собственных нужд и для любопытных знакомых

    Первый подход к weewx и wfrog оказался неуспешным, поскольку среди зависимостей там встречались пакеты, которые не входят ни в optware ни в entware (сейчас деталей уже не упомню всех), а так же требовалась компиляция, в которой я не силен. Помимо этого указанные проекты, хотя и заявляли поддержку моей метеостанции, но я так и не понял, как там подключить мои дополнительные датчики ( например датчик ультафиолета).

    Однако, некторое время назад я наткнулся на проект Oregon Scientific WMR100/200/WMRS200/I300/I600/RMS300/RMS600 USB Station Logger/Reader, который как раз заточен под станции Oregon Scientific. Чем привлек мое внимание, помимо вышесказанного:

    - судя по всему создан русскими разработчиками
    - позволяет корректировать погрешность датчиков,
    - позволяет сохранять данные в различных метрических стандартах,
    - компактный (подходит для установки на роутерах),
    - умеет работать демоном, использовать syslog,
    - данные пишет в различных форматах удобных для обработки.
    - для построения визуальных графиков использует rrd-tool.
    - поддерживает события (alarm), при наступлении исполняет скрипт.


    WMR для работы требут следующие библиотеки:

    *libusb*,
    *libhid*,
    *libsqlite3*
    *rrd-toots* (опционально)
    Есть еще непонятка с которой я не разобрался (цитата из readme):
    You'll need to setup the udev rules (see udev/README).
    This is due to how libhid accesses the USB ports.
    Что такое udev я так и не понял ни каталогов ни файлов, содержащию строку udev в назавании я на роутере не нашел....

    Тем не менее я попробовал скомпилировать WMR у себя на роутере.
    Сетап следующий:
    - роутер RT-N56U
    - прошивка - 3.4.3.6-064 (Padavan & N56U project community)
    - optware (поскольку как я слышал в entware нет buildroot)
    - установлены пакеты buildroot optware-devel libusb libhid
    - пакета libsqlite3 в optware я не нашел, однако решил рискнуть скомпилировать без него

    попробовал скомпилировать, однако столкнулся с ошибкой:

    [admin@RT-N56U wmr-oregon-0.4]$ make clean ; make all ; make install
    compile for i686 Linux
    compile for i686 Linux
    gcc -I/usr/local/include -I/usr/include -I/usr/include -I/usr/local/lib/_include_ -DLANG_ENG -DGENTOO_HACK -DLINUX -c -o src/wmr_alarm.o src/wmr_alarm.c

    gcc: can't handle reloc type 47
    make: *** [src/wmr_alarm.o] Error 1
    install -b -o admin -g admin ./libwmr-alarm.so /opt/lib/wmr
    cannot stat `./libwmr-alarm.so': No such file or directory
    make: *** [install-shared] Error 1
    На чем собственно и застрял....

    Посему прошу уважаемых гуру помочь мне скомпилировать данный проект на моем роутере или сделать соотвествующий(е) пакет(ы) для репозитория.

    При необходимости готов перейти на entware.

    Так же в распоряжении есть роутер RT-N66U - готов попробовать и на нем.

    Со своей стороны торжественно клянусь в случае успеха написать и опубликовать инструкцию по установке и настройке.

    PS: 2Модератор - не совсем уверен в той ли ветке опубликовал запрос, если что не так - прошу поправить.

    PPS: Если есть вопросы по самой метеостанции - готов рассказать что знаю

  2. #2
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by brightred View Post
    Что такое udev я так и не понял ни каталогов ни файлов, содержащию строку udev в назавании я на роутере не нашел....
    Система автоматического создания файлов устройств в /dev

    Тем не менее я попробовал скомпилировать WMR у себя на роутере.
    Дурацкое занятие - buildroot протух много лет назад...

    попробовал скомпилировать, однако столкнулся с ошибкой:
    Нужно или воспользоваться скриптом configure или вручную отредактировать Makefile + Makefile.inc
    По умолчанию выставлена конфигурация под x86.

  3. #3
    Quote Originally Posted by lly View Post
    Нужно или воспользоваться скриптом configure или вручную отредактировать Makefile + Makefile.inc
    По умолчанию выставлена конфигурация под x86.
    Спасибо за ответ.
    Попробовал в лоб вопользоваться скриптом configure - скрипт отработал, и даже дал сделать несколько выборов (однако не имеющих ничего общего с выбором платформы), однако компиляция все равно вываливается с ошибкой.

    Коллеги, я правильно понял, что нужно полноценно погружаться в процесс кросс-компиляции?
    Если так, то может подскажете с чего начать именно в контексте роутера RT-N56U с прошивкой от Padavan?

    Хотя еще тешу себя надеждой, что кто-то из разобравшихся все таки скомпилирует данный пакет

  4. #4
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by brightred View Post
    Попробовал в лоб вопользоваться скриптом configure - скрипт отработал, и даже дал сделать несколько выборов (однако не имеющих ничего общего с выбором платформы), однако компиляция все равно вываливается с ошибкой.
    Значит только ручками править Makefile, увы.

    Коллеги, я правильно понял, что нужно полноценно погружаться в процесс кросс-компиляции?
    Лучше да, в buildroot протухло абсолютно всё. Единственный плюс - не надо читать про кросс-компиляцию.

    Хотя еще тешу себя надеждой, что кто-то из разобравшихся все таки скомпилирует данный пакет
    Под Optware - шансов 0.01%. Под Entware может кто и подсобит. Мне пока просто некогда

  5. #5
    Спасибо, lly.


    Quote Originally Posted by lly View Post
    Под Optware - шансов 0.01%. Под Entware может кто и подсобит. Мне пока просто некогда
    Да я на Optware и не настаиваю!

    Если будет под Entware - тоже будет супер.

    Будем подождать...

  6. #6
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Мда зависимость там получается тяжёлая

    1. libhid (его нет в Entware) заброшен в 2007 и хочет протухшую libusb-0.1. Будет ли работать с libusb-0.1-compat - х.з., надо проверять. В идеале авторам бы перейти на HID backend в libusb 1.0, но...
    2. libsqlite3 есть в Entware, должен подхватиться
    3. На кросс-компиляцию Makefile в wmr не рассчитан, надо править ручками

  7. #7
    Загляните в список пакетов OpenWRT, там были пара пакетов для каких-то погодных станций. Если есть что-то подходящее, то можно будет собрать и нам.
    Quote Originally Posted by brightred View Post
    Будем подождать...
    Подождать придётся неделю-две, пока вернусь из отпуска.

  8. #8
    Quote Originally Posted by ryzhov_al View Post
    Загляните в список пакетов OpenWRT, там были пара пакетов для каких-то погодных станций. Если есть что-то подходящее, то можно будет собрать и нам.
    Посмотрел, вот что нашел:

    1) WX200 / WM918 Weather Station Server - последнее обновление - 2004 год, мою станцию (WMR200) явно не поддерживает.

    2) Wview - уже интереснее. В репозитории версия 5.19.0, последняя стабильная - 5.20.2. Заявлена поддержка большого количества станций (включая мою), однако как я говорил выше у меня не удалось заставить ее видеть дополнительные датчики. Так же по непонятным причинам Wview у меня зависала периодически, вобщем мой личный опыт скорее отрицательный. Однако сообществу возможно данный пакет будет интересен в силу большого числа поддерживаемых станций.

    3) fowsr - модуль будет интересен владельцам метеостанций от компании Fine Offset Electronics Co., Ltd. Последний раз обновлялся в 2011 году. В репозитории находится актульная версия. Мою станцию не поддерживает. Однако сообществу возможно данный пакет так же будет интересен.

    Вот собственно и все.

    Quote Originally Posted by ryzhov_al View Post
    Подождать придётся неделю-две, пока вернусь из отпуска.
    Не вопрос, спасибо, будем ждать! Удачно отдохнуть!

  9. #9
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    brightred
    Если есть желание поковыряться, то инфа по сборке ниже. К сожалению, я всё никак не найду время водрузить среду разработки Entware и всё компилирую только под наши прошивочные библиотеки(т.е. под N56U не пойдёт).

    Пререквизиты: тулчейн Entware + пакеты libusb-1.0_1.0.9, libusb-compat_0.1.4, libsqlite3_3071201 + исходники libhid-0.2.16, wmr-oregon-0.4

    К сожалению, ни libhid, ни wmr не рассчитаны на кросскомпиляцию вообще, посему надо править скрипты сборки:

    1. правим libhid-0.2.16/configure - удаляем строчки содержащие установку LIBUSB_CFLAGS, LIBUSB_LIBS
      Code:
      --- a/configure
      +++ b/configure
      @@ -4846,9 +4846,6 @@
       done
       
       
      -    LIBUSB_CFLAGS="`libusb-config --cflags`"
      -    LIBUSB_LIBS="`libusb-config --libs`"
      -
    2. правим wmr-oregon-0.4/configure:
      Code:
      --- a/configure
      +++ b/configure
      @@ -2,8 +2,8 @@
       # Create compile configuration for Weather TXT/SQL/RRD/SNMP Logger 
       
       DEPEND="usb hid sqlite3"
      -HPATH="/usr/local/lib/_include_ /usr/local/include /usr/include"
      -LPATH="/usr/local/lib/_compile_ /usr/local/lib /usr/lib"
      +HPATH=${HPATH:-"/usr/local/lib/_include_ /usr/local/include /usr/include"}
      +LPATH=${LPATH:- "/usr/local/lib/_compile_ /usr/local/lib /usr/lib"}
       
       echo ""
       echo "Oregon Scientific WMR100/200/WMRS200/I300/I600/RMS600 USB protocol logger."
    3. Заменяем wmr-oregon-0.4/Makefile на приложенный вариант



    Собираем, предварительно поправив BUILDDIR на тот, где лежат собранные пакеты libusb, libsqlite3:
    Code:
    #!/bin/sh
    
    BUILDDIR=/home/lly/Wl500/work
    OPTINCDIR=$BUILDDIR/opt/include
    OPTLIBDIR=$BUILDDIR/opt/lib
    
    cd libhid-0.2.16
    CFLAGS="-g -O2 -mips32 -fPIC" \
    LIBUSB_CFLAGS="-I$OPTINCDIR" LIBUSB_LIBS="-L$OPTLIBDIR -lusb -lusb-1.0 -lpthread -Wl,-rpath=/opt/lib" \
     ./configure --host=mipsel-linux --prefix=/opt --disable-libtool-lock --enable-werror=no
    make
    make install DESTDIR=$BUILDDIR
    cd ..
    
    cd wmr-oregon-0.4
    HPATH="$OPTINCDIR" LPATH="$OPTLIBDIR $BUILDDIR/opt/usr/lib" ./configure
    make single CFLAGS="-g -O2 -mips32 -fPIC -I$OPTINCDIR" LDFLAGS="-L$OPTLIBDIR -lusb-1.0 -Wl,-rpath=/opt/lib"
    P.S. метод "install" в wmr тоже требует доработки, но можно и ручками...
    P.P.S. Надеюсь, команды "cd" в скрипте не требуют комментариев
    Attached Files Attached Files
    Last edited by lly; 24-07-2013 at 14:00.

  10. #10
    Спасибо за наводку, lly, на выходных займусь.


    Если есть желание поковыряться, то инфа по сборке ниже. К сожалению, я всё никак не найду время водрузить среду разработки Entware и всё компилирую только под наши прошивочные библиотеки(т.е. под N56U не пойдёт).
    Понял, значит будем ковырять N66U

    Пререквизиты: тулчейн Entware + пакеты libusb-1.0_1.0.9, libusb-compat_0.1.4, libsqlite3_3071201 + исходники libhid-0.2.16, wmr-oregon-0.4
    Я правильно понял, что нужно на N66U поставить пакеты Entware libusb-1.0_1.0.9, libusb-compat_0.1.4, libsqlite3_3071201, а потом перенести соотвествующие библиотеки на виртуалку, где у меня лежит тулчейн?

    Или закинуть тулчейн на роутер и компилировать все уже на нем?

    И еще, на всякий случай уточню - у меня на N66U прошивка от Мерлина (3.0.0.4.266.23) - надеюсь это не повлияет на процесс?

    Спасибо!

  11. #11
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by brightred View Post
    Понял, значит будем ковырять N66U
    Видимо непонятно написал - это я к тому, что получившийся у меня бинарник будет корректно запускаться только на наших прошивках(uClibc из состава прошивки). Поэтому и не выкладываю.


    Я правильно понял, что нужно на N66U поставить пакеты Entware libusb-1.0_1.0.9, libusb-compat_0.1.4, libsqlite3_3071201, а потом перенести соотвествующие библиотеки на виртуалку, где у меня лежит тулчейн?
    Извиняюсь, обманул - в готовых пакетах нет заголовочных (.h) файлов. Скорее всего, придётся скачивать Entware и собирать эти пакеты. Но это просто - проставить "Y" в конфиг файле или воспользоваться интерфейсом конфигуратора.
    Если где ошибся, пусть активисты Entware меня поправят.

    Или закинуть тулчейн на роутер и компилировать все уже на нем?
    Могу только повториться - native тулчейн под MIPS существует только для Optware, да и то кривой и протухший. Теоретически, для N66U и других роутеров с RAM >=256M можно собрать buildroot, но объём работ и последующих доводок "напильником по контуру" таков, что никто этим заниматься не будет.

    И еще, на всякий случай уточню - у меня на N66U прошивка от Мерлина (3.0.0.4.266.23) - надеюсь это не повлияет на процесс?
    Если используется Entware - нет.

  12. #12
    Quote Originally Posted by lly View Post
    Извиняюсь, обманул - в готовых пакетах нет заголовочных (.h) файлов. Скорее всего, придётся скачивать Entware и собирать эти пакеты. Но это просто - проставить "Y" в конфиг файле или воспользоваться интерфейсом конфигуратора.
    Если где ошибся, пусть активисты Entware меня поправят.
    Коллеги, нашел инструкцию по развертыванию среды компиляции Entware (https://code.google.com/p/wl500g-rep.../trunk/INSTALL) но она как я понял для роутеров ASUS WL-5xx RT-N1x Oleg's based custom firmware (https://code.google.com/p/wl500g/sou...vn%2Ftoolchain).

    Вопросы:

    - как водрузить среду разработки Entware на Мерлиновский тулчейн (https://github.com/RMerl/asuswrt-mer...e-using-Ubuntu) и вообще, нужно ли это делать?

    - или можно воспользоваться средой компиляции Entware (https://code.google.com/p/wl500g-rep.../trunk/INSTALL) и компилировать ibhid-0.2.16 и wmr-oregon-0.4 в ней согласно указаниям уважаемого lly?

  13. #13
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by brightred View Post
    - как водрузить среду разработки Entware на Мерлиновский тулчейн (https://github.com/RMerl/asuswrt-mer...e-using-Ubuntu) и вообще, нужно ли это делать?
    Не надо, Мерлиновский тулчейн нужен исключительно для сборки его прошивки.

    - или можно воспользоваться средой компиляции Entware (https://code.google.com/p/wl500g-rep.../trunk/INSTALL) и компилировать ibhid-0.2.16 и wmr-oregon-0.4 в ней согласно указаниям уважаемого lly?
    Либо "или" здесь лишнее, либо я не понял вопроса.

  14. #14
    Quote Originally Posted by lly View Post
    Либо "или" здесь лишнее, либо я не понял вопроса.
    lly, спасибо!

    Если я правильно понял ответ, то работаю в этой среде
    https://code.google.com/p/wl500g-rep.../trunk/INSTALL

    ОК, приступаю.

    По мере поступления вестей с орбиты буду сообщать.

  15. #15
    Join Date
    Mar 2009
    Location
    Default City
    Posts
    2,694
    Blog Entries
    4
    Quote Originally Posted by brightred View Post

    ОК, приступаю.

    По мере поступления вестей с орбиты буду сообщать.
    Кстати да, софт выбрали правильно, WMR200 прекрасно работает под Debian Wheezy с wview-5.20.2

Page 1 of 5 123 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •