Open MartinSwanepoel opened 9 years ago
convenience_static is part of the librtlsdr package and this package must be built before you can build rtl-wx.
Complete instructions for installing on a raspberry pi can be found here: https://github.com/magellannh/rtl-wx/blob/master/doc/RaspberryPi-Install-Instructions/RaspberryPi%20Installation%20Instructions.txt
Did complile it. Can it be a path issue?
pi@Oregon ~/rtl-wx/src/librtlsdr/librtlsdr-0.5.3/build $ make Scanning dependencies of target convenience_static [ 5%] Building C object src/CMakeFiles/convenience_static.dir/convenience/convenience.c.o Linking C static library libconvenience_static.a [ 5%] Built target convenience_static Scanning dependencies of target rtlsdr_shared
On Sun, May 31, 2015 at 1:25 PM, magellannh notifications@github.com wrote:
convenience_static is part of the librtlsdr package and this package must be built before you can build rtl-wx.
Complete instructions for installing on a raspberry pi can be found here:
— Reply to this email directly or view it on GitHub https://github.com/magellannh/rtl-wx/issues/6#issuecomment-107158489.
copy from rtl-wx\src\librtlsdr\src\convenience to rtl-wx\src\librtlsdr\include
Do you copy convenience.h to include.h or is it a folder include with convenience.h in it ?
On Sun, May 31, 2015 at 1:25 PM, magellannh notifications@github.com wrote:
convenience_static is part of the librtlsdr package and this package must be built before you can build rtl-wx.
Complete instructions for installing on a raspberry pi can be found here:
— Reply to this email directly or view it on GitHub https://github.com/magellannh/rtl-wx/issues/6#issuecomment-107158489.
Re: copy from rtl-wx\src\librtlsdr\src\convenience to rtl-wx\src\librtlsdr\include
That's only needed if you get a compile error when building librtlsdr. Your error seems to be a link error not a compile error.
From the build snippet you submitted, it looks like your librtlsdr directory has a version number tacked onto the end of it. The makefile isn't set up by default to handle that. I think you can fix it by changing the makefile var LIBRTLSDR_DIR to point to the correct directory name.
OK finally it seems everything is running, but I don't get any data. Got a THGN800 temp sensor and a WGR800 wind direction / speed meter. This is in the log file:
Mon Jun 1 16:01:15 2015 RTL-Wx: Unable to create client send fifo:/tmp/WX_serverReceive Exiting...
Thanks, Martin
On Sun, May 31, 2015 at 2:28 PM, magellannh notifications@github.com wrote:
From the build snippet you submitted, it looks like your librtlsdr directory has a version number tacked onto the end of it. The makefile isn't set up by default to handle that. I think you can fix it by changing the makefile var LIBRTLSDR_DIR to point to the correct directory name.
— Reply to this email directly or view it on GitHub https://github.com/magellannh/rtl-wx/issues/6#issuecomment-107169942.
That's probably a file permission error. The user that the software is running under needs to have write access to /tmp. I thought that was the default behavior on a pi, but maybe it isn't. Or maybe /tmp isn't automatically created?
Also, as a test you could try running the software in standalone mode to see if everything else is working aside from the file permission issue.
Invoke the program in standalone mode using: rtl-wx -s
There's more documentation at these links: https://github.com/magellannh/rtl-wx/blob/master/doc/UsersGuide.txt https://github.com/magellannh/rtl-wx/blob/master/doc/UsersGuide-Advanced.txt
Thanks for the patience!!!!
This is output captured in standalone mode:
root@Oregon:~/rtl-wx/bin# ./rtl-wx -s Ready to gather weather sensor data
<<Hit 'h' for help, any key for
status, ESC to quit>>
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner Tuner gain set to automatic. Tuner error set to 56 ppm.
Tuned to 433925000 Hz.
Oversampling input by: 9x.
Oversampling output by: 1x.
Buffer size: 16384kB 7.59ms Exact sample rate is: 1080000.025749 Hz Sampling at 1080000 S/s.
Output at 120000 Hz.
Registering protocol[01] Oregon Scientific Weather Sensor
RTL-Wx Weather Data Monitoring Software
This program attempts to collect data from 433Mhz
wireless weather sensors
or an Oregon Scientific weather station connected through a serial port.
Commands:
h - help (this message) a - Display Action Scheduler Info
c - Process configuration file
d - Show debugging statistics
e - Show energy data (kilowatts) for last 15 mins f - invoke file parser - to replace tags w/data
i - Show config info
l - clear log file (rtl-wx.log) m - show historical max/min data
n - clear historical max/min data
r - reset sensor lock codes and clear timeout counts s - Save data snapshot now t - Toggle raw sensor message display mode
u - Initiate FTP upload
v - (not implemented) Trim CSV files (older entries removed w - Save webcam snapshot
q - quit client (server stays running)
ESC - Kill server (and quit client)
Do you actually have an efergy electricity sensor or is that erroneous data?
Also from the dump it looks like you have three Oregon sensors: THGR810 temperature sensor (ID F824) WGR800 Wind sensor (ID 1984) PCR800 Rain Gauge (ID 2914)
The rtl-wx program thinks it's receiving valid efergy data and valid temperature data from the THGR810. It's logging the data to rtl-wx-latest.csv (and maybe to other files too). These csv files are used by the web server through rtl-wx.html. The image linked below shows an example screenshot from rtl-wx.html from my setup: https://github.com/magellannh/rtl-wx/blob/master/doc/screenshots/monitoring-webpage-1.PNG
rtl-wx doesn't know how to decode the WGR800 or PCR800, but it wouldn't be too difficult to add the code needed to get those recognized. It looks like someone added support for the WGR800 in rtl-433, so that code just needs to be ported to rtl-wx's rtl-433 decoder. The Rain Gauge shouldn't be too bad to decode either, but it doesn't look like anyone has done that yet. I don't have either of those two devices myself.
As you've probably figured out, rtl-wx provides a foundation and example use-case with some sophisticated capabilities. However, it require work to customize to your needs.
rtl-wx.conf allows you to change the sensor names that are displayed inside the program and in the program's web debugger (eg sensor 1 is sunroom in my house, you can change that in rtl-wx.conf).
rtl-wx.html is how I usually interact with my own system on a regular basis, now that it's all debugged and running all the time.
rtl-wx.html is html and javascript and is highly tuned to my setup. For others, it's mainly an example file the serve as the basis for their own customizations.
Keep getting this compile error:
gcc -O3 -Wall -Wextra -Wno-unused -Wsign-compare -g3 -fvisibility=hidden -o rtl-wx obj/rtl-wx.o obj/TagProc.o obj/DataStore.o obj/ConfProc.o obj/Scheduler.o obj/Util.o obj/rtl-433fm-demod.o obj/rtl-433fm-decode.o obj/getopt.o -Wl,-Bstatic -lconvenience_static -lrtlsdr -Wl,-Bdynamic -lpthread -lusb-1.0 -lm -L. -Llibrtlsdr/build/src /usr/bin/ld: cannot find -lconvenience_static collect2: ld returned 1 exit status Makefile:69: recipe for target 'rtl-wx' failed
Any idea how this can be fixed?
Thanks