Computing stuff tied to the physical world

JeeHub modularity

In Hardware on Apr 13, 2009 at 00:01

The current JeeHub setup is a bit of a mish-mash:

Picture 1.png

It includes the RFM12B radio of course, to receive data from all JeeNodes. But it also includes a 433 MHz OOK receiver, a BMP085 pressure / temperature sensor, and a DCF77 clock signal receiver.

Trouble is, these things interfere with each other …

The 433 MHz OOK receiver seems to severely degrade RFM12B reception – so I yanked it out. Didn’t have an immediate need to decode KAKU signals anyway.

But worse, the DCF77 receiver also fails to work inside the current JeeHub enclosure. I suspect that either radiated RF power or some messy interference on the power supply levels is preventing it from detecting the 77 kHz signal. I really want DCF77 as reference clock, but I haven’t been able to make any use of it so far.

It looks like there’s too much going on in the current JeeHub prototype, electrically or electro-magnetically.

This is silly – and there’s a very simple way out: move some data sources / sensors to a separate JeeNode. After all, the JeeHub has been doing one thing really well for some time now, i.e. collecting data from remote JeeNodes via the RFM12B:

Picture 2.png

All I need to do is add support for OOK receivers plus BMP085 to the pulse software, and then attach them to one of the remote JeeNodes. Would also make it possible to connect both 433 and 868 MHz OOK receivers.

Haven’t made up my mind about the DCF77 receiver though. Having it tightly integrated with the JeeHub still makes sense – it’s where all the data comes through and gets time-stamped. Maybe the DCF radio will start to work once I disconnect all the other cruft. If not, I’ll either move it physically away from the rest of the JeeHub or reassign it to a remote JeeNode as well.

Surprising, how physical / electrical aspects are starting to impose themselves…

  1. I once had a plan for handling time in a home automation network. I’m at the outer edge of the DCF77 coverage area (and can’t find any receivers either); the plan was to have a reference clock on one node (e.g. an NTP client) which would periodically broadcast wallclock time. The receivers could automatically adjust for local clock drift on each time update. I’m guessing it should work fine for resolutions of about 250ms, maybe even less.

  2. To follow up – I think my main concern is to not let the time stamps go off too far, so that there is never ever a need to reset the clock – which would mess up the logs (backwards especially). And maybe also to implement time-slot multiplexing one day.

  3. Well, the central JeeHub runs on a crystal, so with a bit of tweaking it can probably track time on its own quite well – with either DCF77, or accurate syncs from another machine a few times a day. It’s probably overkill for just tracking power consumption and monitoring events in the house.

    As for broadcasting wallclock time: the other way to do this is to include a time adjustment in the acks, e.g. “got your message at +/- millisecs relative to the second tick”. Note also that remote nodes don’t have a notion of real time (yet?).

    FWIW, a presentation about smart dust mentioned that they are able to keep nodes in sync up to about 1 msec resolution, which in turn determined their time-slot multiplexing options.

Comments are closed.