Ooh, you're way ahead of me there...
I'm using JeeMon myself (it has been running almost continuously since last year). It's functional, but barely configurable - there is a Settings page on the web server as you have probably seen, but that is a mockup. Or rather: waiting to be implemented.
There may be a way to get it working - but again, I have to warn you that there are still a lot of fixed assumptions in there, so I'm not quite sure if I'm helping you with the following info or just causing you to run into the next issue...
You need to set up a file called "Jee-settings.txt" and place it next to the JeeMon executable. Mine has the following contents:
debug 1
server/ {
histdir /Users/jcw/w/avr/Xdays
logdir /Users/jcw/w/avr/Xbuddie-logs
feeds { StartLogging /dev/tty.usbserial-A9007CFy 57600 }
}
For information about the structure of the settings file, go to the About tab on the JeeMon web server, and click on the "settings" link at the bottom. For the current defaults, click on the "Default Settings" link at the top of that same about page.
The "histdir" option can probably be omitted. The "logdir" option specifies where to store an archive copy of all incoming data.
The "feeds" option is the important one, it tells JeeMon where to poll data from. This needs to be a JeeNode/JeeLink running a small sketch. The advanced (older) version of this sketch is called "central" and can be found here:
http://code.google.com/p/jeelabs/source/browse/trunk#trunk/central
But I use a much simpler sketch to collect data right now:
[code]
#include <RF12.h>
void setup() {
Serial.begin(57600);
Serial.print("\nHMNODE3;
rf12config();
}
void loop() {
if (rf12recvDone()) {
Serial.print(rf12crc == 0 ? "HM4 " : " ? ");
Serial.print(rf12hdr, DEC);
for (uint8t i = 0; i < rf12len && i < 20; ++i) {
Serial.print(' ');
Serial.print(rf12datai;
}
Serial.println();
if (rf12crc == 0 && (rf12hdr & ~RF12HDRMASK) == RF12HDRACK) {
uint8t addr = rf12hdr & RF12HDRMASK;
rf12sendStart(RF12HDRCTL | RF12HDRDST | addr, 0, 0);
}
}
}
[/code]
The basic idea is to report all valid packets as a line "HM4 <hexbytes...>".
Inside JeeMon are some (hardcoded!) rules on how to interpret these text lines. For each type of line, such as the "HM4" identifier, there is a decoder which interprets the data packet and converts it to meaningful readings. I've got tons of decoders for "old" packet formats, as can be seen here:
http://code.google.com/p/jeelabs/source/browse/trunk/server/library.vfs/code/decoder.tcl
The proper thing to do is to make decoders pluggable, so that any type of packet can be turned into database records.
(Note: I had written a lengthy explanation of how to try out things with JeeMon here, but I lost it due to a mistake in my editor - doh!)
Suffice to say that the current JeeMon is geared towards collecting and visualizing energy monitoring data. I've made some changes here to test data coming from room sensors, but I haven't checked those in yet.
The process consists of a number of fairly simple steps:
remote nodes generate packets (possibly of different types)
central node receives all packets and passes them on to the serial USB port
JeeMon picks up those packets and logs them
additional logic exists to parse all types of incoming data
interpreted "readings" are saved to a central database
the built-in web server provides a GUI to browse/view that database
the Flot JavaScript package is used to present some nifty graphs
there is also some Ajax code to make these graphs interactive
That's it. If you want to dive in deeper, let me know and I'll see what I can do to get you going. There's a lot of functionality there, but I need to spend more time on making things configurable - and flexible enough to handle some basic scenarios.