• Hi,

    Sounds like a great idea, and battery life should be absolutely fine.

    As far as range, the NRF24 modules don't seem to be fantastic - you might get 50m in open air (2.4ghz doesn't like walls that much), but even that might be a stretch. You can get modules with a proper aerial that should work a lot better, but I haven't tried them so can't really comment.

    The other radio options that come to mind are:

    • RFM12B 868Mhz modules - I haven't written any JS to drive these yet, but I have some in the desk beside me and I'd be happy to give it a go or to help out. There are some other types of 'RFM' modules too, and there are a few called 'LORA' which is very long range (kilometers) that could be worth a look.
    • Ciseco's SRF/XRF modules. These seem to have a relatively good range (they quote 500m), and they connect up with a simple serial port - so you're not really going to need anything much in the way of a driver. They do provide a special Raspberry Pi Shield (and they've even just made a KickStarter for a complete, boxed, Pi-based system).
    • You could also use something like the 433Mhz modules. The lower frequency of these would probably carry better, and while not 100% reliable, you'd just transmit the same data a few times and filter it out with the Pi. I'm not totally sure about the voltage needed for transmission with most modules though. They may not run at full power off a 3.7v LiPo.

    In terms of the Pi connection, I guess you have a few options as well:

    • Run the Espruino software on the Pi, and have it send an HTTP POST with data to the MYSQL/Web stuff that you've developed in your favourite language.
    • Actually connect an Espruino Board to the Pi, and then grab data from it via the serial port. There are some examples of scripts here, or you can use node.js or pretty much any language to talk to Espruino via USB Serial. It could be as simple as just listening for the characters that the Espruino prints when it receives something.
    • You could write software in your favourite language to talk directly to the radio module from the Pi. This would be more painful for a lot of radio types (although I'm sure there's example code for many of them), but as the Ciseco radios use the serial port so they should be trivial.

    I guess my suggestion would be to go the Ciseco route, to buy one of their 'Pi Hats' for the Pi, and use some of their example code to develop the Pi side of things. Their ERF module would fit onto the Espruino board pretty easily too.

    Ciseco have a comparison chart and it looks like the ERF doesn't do sleep mode. However you could just turn the whole thing on and off as needed with a transistor/FET.

    Hope that helps!

About

Avatar for Gordon @Gordon started