1 (edytowany przez Alter Ego 2014-01-05 19:57:13)

Temat: OregonScientific WMR968 -> OpenWRT -> Internet

Witam.

Od parę lat mam stację pogodową OregonScientific WMR968 i bardzo dobrze się sprawuje.
WMR968 ma RS232 port, i nawet na początku użytkowania podłączałem ją do starego kompa z COM portem jakąś appką, która odczytywała dane, potem idea została porzucona.

Posiadam wolny MR3020 do którego chciał bym podpiąć ten WMR968 i tu zaczynają się schody:

1. na MR3020 trzeba zmienić firmware na Gargole  lub "czysty" OpenWRT.

2. jak poradzić sobie z tym ze na WMR968 RS232, a na MR3020 USB, tzn potrzebna przejściówka (może być na przykład Adapter USB - RS232 Unitek Y-105 Prolific PL-2303 czy lepiej coś innego użyć?  Do tego muszę zaintalować pakiet  kmod-usb-serial-pl2303 do  PL2303 (jeżeli będzie taki)

3.  A tu mam już bardzo pod górkę. smile Jaki pakiet i gdzie go szukać dla otrzymania danych z WMR968, gdzie te dane się kumulują, jak zobaczyć i gdzie przysyłać zęby można było obejrzeć zdalnie.


Z góry dziękuję za pomoc i przepraszam za może zbyt lajkowe pytania, dopiero zaczynam przygodę z OpenWRT.

2

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

1. To raczej nie problem smile
2. Jeżeli w tej stacji jest "zwykły" rs232c DB9 to zwykły kabel rs232c na usb kupujesz.
3. Pytanie w takim formacie ta stacja gada. A - ponoć to to obsługuje: http://www.weewx.com/

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez Alter Ego 2013-12-07 17:53:32)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

smile
1. punkt to tak
2. Wszędzie w dokumentacji pisze tylko RS-232, można przykład takiego "zwykłego"  rs232c na usb
3. Gdzie to można sprawdzić? Znalazłem coś takiego http://wx200d.sourceforge.net/  - ale nie wiele to mi mówi.

http://www.wviewweather.com/ jakis płatny serwis z info o możliwości podłączenia WMR968


Tak w podanym http://www.weewx.com/ na liście jest ta stacja pogody.

4

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

3. google i szukasz smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez Alter Ego 2013-12-08 16:58:54)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Cezary napisał/a:

3. google i szukasz smile

Właśnie to robię, wyżej było to co znalazłem.


Odnoście RS323-USB, czy coś takiego może być http://allegro.pl/przejsciowka-kabel-us … 72397.html  ?


UPD: w końcu zamówiłem taki Unitek Y-105A konwerter USB 1xRS-232
http://www.unitek-products.com/en/produ … .php?id=12

6 (edytowany przez Alter Ego 2013-12-17 18:52:29)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Witam ponownie.

Dziś otrzymałem Unitek Y-105A konwerter USB 1xRS-232.
Podłączyłem stacje pogody do Win8 - przez ten konwerter  -działa bez zarzutu.
Teraz przyszła kolej na MR3020



Niestety podany tu http://www.weewx.com/ nie bardzo pasuje  smile
System Requirements
I run weewx on a 500MHz system with an AMD Geode processor and 512 MB of memory. Configured this way, it consumes about 5% of the CPU and about 50MB of total memory.

On a Marvel 500MHz ARM CPU with 512MB RAM, weewx uses 63MB virtual and 40MB real memory when configured to generate 3 different standard reports. The CPU use is typically less than 0.5%, maxxing out at 90% for less than a minute every 5 minutes when weewx generates reports.



Znalazłem też coś takiego https://code.google.com/p/wmr/ ale mój poziom nie pozwala , żeby coś użyć z tego z maleństwem MR2030.

Wystarczył by jakiś pakiet tylko, żeby odczytywał danie z WMR-9x8 i przekazywał ich na któryś z  serwisów  (naprzykład Weather Underground czy nawet na swój serwer jak przykład bbarwik.com/meteo/

7

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

fowsr zobacz

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Cezary napisał/a:

fowsr zobacz

Tak właśnie coś takiego, niestety tam tylko jedna grupa sprzętu.  Napisałem pytanie do autora projektu o możliwość wsparcia dla Oregon

9 (edytowany przez Alter Ego 2013-12-23 16:51:36)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Cezary
mam pytanie odnośne WeeWX, czy da się z tego utworzyć  pakiet dla OpenWRT pod ar71xx?
Czy są przykłady jak to się robi, czy mogę liczyć na pomoc?



PS: tutaj podpięli WMR-918 do  Raspberry Pi  https://groups.google.com/forum/#!msg/w … YUgRiaDl0J

10

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

WeewX to python, więc nie wiem po co chcesz specjalny pakiet z niego. Zainstaluj pythona i wymagane moduły, ściągnij weewxa i uruchom.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez Alter Ego 2013-12-24 13:21:48)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Cezary napisał/a:

WeewX to python, więc nie wiem po co chcesz specjalny pakiet z niego. Zainstaluj pythona i wymagane moduły, ściągnij weewxa i uruchom.

Ile python zajmuje miejsca? Rozumiem, że w takim przypadku tylko extroot na MR3020
Szkoda, bo nie tak nie chciałem nic gromadzić dodatkowo to tego routeta (hub itp)

12 (edytowany przez Alter Ego 2014-01-05 17:35:30)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Witam.
Za pomocą przedłużacza USB podłączyłem w końcu WMR968 do TL-MR4300 z extroot.
Zainstalowałem Python w tym cały zestaw potrzebnych dodatków do niego.
Pierwszy problem miałem z brakiem python-configobj oraz python-cheetah
wzielem z https://pypi.python.org/packages/source … 7.2.tar.gz oraz https://pypi.python.org/pypi/Cheetah

Zainstalowałem WeeWx

Spotkałem się z problemem python-sqlite3  i jego rozwiązaniem jak w tym wątki http://eko.one.pl/forum/viewtopic.php?id=4194

Teraz tak (zgodnie z instrukcją http://www.weewx.com/docs/setup.htm)
1.    ./bin/weewxd weewx.conf   (odpala bez problemu, dane przekazuję na WU i resztę) smile

2.  chciałem dodać do autostartu (jak w instrukcji)


cd /home/weewx   -OK
cp util/init.d/weewx.debian /etc/init.d/weewx   -OK
chmod +x /etc/init.d/weewx -OK
update-rc.d weewx defaults 98   - nie wiem jak to zrobić na OpenWRT?
/etc/init.d/weewx start  - i tu problemy, najpierw mi pisało ze brakuję /lib/init/vars.sh oraz /lib/lsb/init-functions to ja użyłem ich z PC z kubuntu , teraz jak próbuję /etc/init.d/weewx start  - to mi wyskakuje

/etc/init.d$ /etc/init.d/weewx start
ps: invalid option -- a
BusyBox v1.19.4 (2013-03-14 11:28:31 UTC) multi-call binary.

Usage: ps 

Show list of processes

    w    Wide output

start-stop-daemon: unrecognized option `--start'
BusyBox v1.19.4 (2013-03-14 11:28:31 UTC) multi-call binary.

Usage: start-stop-daemon [OPTIONS] [-S|-K] ... [-- ARGS...]

Search for matching processes, and then
-K: stop all matching processes.
-S: start a process unless a matching process is found.

Process matching:
    -u USERNAME|UID    Match only this user's processes
    -n NAME        Match processes with NAME
            in comm field in /proc/PID/stat
    -x EXECUTABLE    Match processes with this command
            command in /proc/PID/cmdline
    -p FILE        Match a process with PID from the file
    All specified conditions must match
-S only:
    -x EXECUTABLE    Program to run
    -a NAME        Zeroth argument
    -b        Background
    -c USER[:[GRP]]    Change to user/group
    -m        Write PID to the pidfile specified by -p
-K only:
    -s SIG        Signal to send
    -t        Match only, exit with 0 if a process is found
Other:
    -q        Quiet

Dziękuję za pomoc.

13

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Nie. OpenWrt używa swojego formatu skryptu startowego, nie debianowego. Zobacz sobie w /etc/init.d/ jaką składnie ma takie plik i sobie ten util/init.d/weewx.debian przerób odpowiednio.

update-rc.d weewx defaults 98 <- nie ma czegoś takiego w openwrt.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

tak rozumiem, ale najwyżej co ja widzę z różnic to tylko #!/bin/sh /etc/rc.common mogę poprawić i to co w http://wiki.openwrt.org/doc/techref/initscripts - dalej czarna magia.

Nie musi być, żadnych sprawdzeń i scenariuszy - wystarczył by tylko najprostszy start pod czas odpalenia routera.  hmm


#!/bin/sh /etc/rc.common
# $Id: weewx.debian 1798 2013-12-21 00:13:16Z mwall $
# Author: Tom Keffer <keffer@gmail.com>
# Startup script for Debian derivatives
#
# the skeleton script in debian 6 does not work properly in package scripts.
# the return/exit codes cause {pre|post}{inst|rm} to fail regardless of the
# script completion status.  this script exits explicitly.
#
# the skeleton script also does not work properly with python applications,
# as the lsb tools cannot distinguish between the python interpreter and
# the python code that was invoked.  this script uses ps and grep to look
# for the application signature instead of using the lsb tools to determine
# whether the app is running.
#
### BEGIN INIT INFO
# Provides:          weewx
# Required-Start:    $local_fs $remote_fs $syslog $time
# Required-Stop:     $local_fs $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: weewx weather system
# Description:       Manages the weewx weather system
### END INIT INFO

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
WEEWX_BIN=/home/weewx/bin/weewxd
WEEWX_CFG=/home/weewx/weewx.conf
DESC="weewx weather system"
NAME=weewx
WEEWX_USER=root:root 
PIDFILE=/var/run/$NAME.pid
DAEMON=$WEEWX_BIN
DAEMON_ARGS="--daemon --pidfile=$PIDFILE $WEEWX_CFG" 
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$WEEWX_BIN" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# start the daemon/service
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
# check using ps not the pid file.  pid file could be leftover.
do_start()
{
    NPROC=`ps ax | grep $WEEWX_BIN | grep $NAME.pid | wc -l`
    if [ $NPROC != 0 ]; then
    return 1
    fi
    start-stop-daemon --start --chuid $WEEWX_USER --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 2
    return 0
}

# stop the daemon/service
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
do_stop()
{
    start-stop-daemon --stop --pidfile $PIDFILE
    RETVAL="$?"
    [ "$RETVAL" = 2 ] && return 2
    # delete the pid file just in case the daemon does not
    rm -f $PIDFILE
    return "$RETVAL"
}

# send a SIGHUP to the daemon/service
do_reload() {
    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE
    return 0
}

RETVAL=0
case "$1" in
    start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
    do_start
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0; RETVAL=0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1; RETVAL=1 ;;
    esac
    ;;
    stop)
    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
    do_stop
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0; RETVAL=0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1; RETVAL=1 ;;
    esac
    ;;
    status)
        NPROC=`ps ax | grep $WEEWX_BIN | grep $NAME.pid | wc -l`
        if [ $NPROC -gt 1 ]; then
            MSG="running multiple times"
    elif [ $NPROC = 1 ]; then
        MSG="running"
    else
        MSG="not running"
    fi
    log_daemon_msg "Status of $DESC" "$MSG"
    log_end_msg 0
    RETVAL=0
    ;;
    reload|force-reload)
    log_daemon_msg "Reloading $DESC" "$NAME"
    do_reload
    RETVAL=$?
    log_end_msg $RETVAL
    ;;
    restart)
    log_daemon_msg "Restarting $DESC" "$NAME"
    do_stop
    case "$?" in
        0|1)
        do_start
        case "$?" in
            0) log_end_msg 0; RETVAL=0 ;;
            1) log_end_msg 1; RETVAL=1 ;; # Old process is still running
            *) log_end_msg 1; RETVAL=1 ;; # Failed to start
        esac
        ;;
        *)
          # Failed to stop
        log_end_msg 1
        RETVAL=1
        ;;
    esac
    ;;
    *)
    echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload}"
    exit 3
    ;;
esac

exit $RETVAL

15

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

#!/bin/sh /etc/rc.common

START=99

start()
{
/usr/bin/weewxd /etc/weewx.conf
}


Później robisz chmod 755 /etc/init.d/weewx; /etc/init.d/weewx enable i to wszystko. Katalogi sobie dostosuj tam gdzie masz te pliki.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16 (edytowany przez Alter Ego 2014-01-06 08:43:14)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Cezary wielkie dzięki! smile

reboot i ja widze w procesach:

1575 root {S99weewx} /bin/sh /etc/rc.common /etc/rc.d/S99weewx boot 0% 1%
1576 root python /home/weewx/bin/weewxd /home/weewx/weewx.conf 0% 10%

17

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Gratuluję sukcesu! Czekam własnie na przesyłkę z RMS300 z Oregon Sci. Czy sądzisz, że ta stacja też mogłaby być podpięta do OpenWrt?

18 (edytowany przez Alter Ego 2014-01-07 12:59:21)

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

piotrkaz napisał/a:

Gratuluję sukcesu! Czekam własnie na przesyłkę z RMS300 z Oregon Sci. Czy sądzisz, że ta stacja też mogłaby być podpięta do OpenWrt?

Mysle, że tak,  tu jest projekt  ze wsparciem dokładnie RMS300 i OpenWRT https://code.google.com/p/wmr/

19

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Witam,

Ja od jakiegoś czasu mam stację meteo WS-0101 (WH2080) podpiętą do mr3220 v1, na routerze zainstalowałem fowsr i jakoś to mi działa. Nie mniej czas iść do przodu i spodobał mi się ten pakiet WeeWx no i walczę z tym od 2 dni bez powodzenia. Router ma czysty po sysupgrade z zainstalowanym extroot'em. Dalsze kroki z tego co wyczytałem powinny być następujące:
1. instalacja pythona +sqlite ale z trunka
2. instalacja pakietow pythona python-configobj oraz python-cheetah
3. instalacja samego weewx

Niestety ległem już na punkcie pierwszym. Instalacja z repo idzie prawidłowo ale zgodnie z tym co wyczytałem chciałem od razu zainstalować z trunka:
opkg install http://downloads.openwrt.org/snapshots/ … ar71xx.ipk
Downloading http://downloads.openwrt.org/snapshots/ … ar71xx.ipk.
Installing python-sqlite3 (2.7.3-2) to root...
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for python-sqlite3:
*      python *        libsqlite3 *
* opkg_install_cmd: Cannot install package python-sqlite3.

Jakieś sugestie?

Pozdr, tomek

20

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Zainstaluj wcześniej samego pythona i libsqlite3 po prostu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Jakoś mnie tchnęło i w międzyczasie próbowałem to zrobić ale też mi nie idzie

* satisfy_dependencies_for: Cannot satisfy the following dependencies for python:
*      zlib *  libffi *        python-mini *
* opkg_install_cmd: Cannot install package python.

Czy to znaczy, że mam najpierw doinstalowywać też te wymienione pakiety?

22

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Oczywiście że tak. To zależności przecież są.

Nie możesz zrobić po prostu opkg update && opkg install python - same się wszystko zainstaluje a później sobie python-sqlite3 zainstalujesz?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

No mogę. Rozumiem, że pytona w takim razie mam brać z bieżącej gałęzi a python-sqlite3 z trunka?

24

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Jak używasz mojego softu to zrób po prostu opkg update && opkg install python-sqlite3

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: OregonScientific WMR968 -> OpenWRT -> Internet

Jako, że korzystam z Twojego softu poszło bez problemu, dzięki. Chyba za dużo czytam, bo od tego właśnie zacząłem o potem natrafiłem na te tematy o błędzie i rozwiązaniu z trunka i zacząłem rzeźbić, niby, żeby uniknąć problemów w przyszłości.

Ale teraz mam drugą rzecz dotyczącą:
2. instalacja pakietow pythona python-configobj oraz python-cheetah
Tych pakietów nie ma w repo i z tego co wyczytałem to trzeba to jakoś kompilować, ale nie do końca czuję co i jak bo to python a ten się nie kompiluje jako taki. configobj to jeden plik .py, cheetach wygląda dużo bardziej skomplikowanie.