Large Radio Network ?

Hi all,

I'm looking into a system of stand-alone wireless radios that can "passively" interact with those nearby - passive because we don't require any interaction, just listening and general broadcast. The idea is to gather contact information about individuals who are wearing the radios. The general idea I have behind it is :

  • The radios mostly listen, sending out a general broadcast maybe once per minute
  • When a radio hears something, it stores that information

To do this, I'd like to use some cheap radios like the nRF24L01+ ( is this a good choice ? ), and set all of them to the same address, disabling ACK. The packet I send out could contain a node ID, but I want all radios to be able to receive it, so this isn't the same as the radio protocol ID, but rather is set by the Arduino. Alice and Bob are next to each other, and Alice's radio sends out a general broadcast; Bob's picks it up, stores that he was standing next to Alice for ten minutes, and as they walk away from each other, hopefully the signal drops ( or I use RPD to set some threshold, knowing that it's a poor approximation for distance ), and Bob's radio registers noone around him. However, this needs to scale : perhaps up to several dozen radios around one at any point in time.

My first thought was to use some Arduino Nanos ( we may be looking at several hundred badges, so budget is important ). I have a little experience with Arduinos, but none with radio protocols. The RF24 library by ManiacBug looks like a fairly pleasant way to talk to the transceiver - is that a good call ? Finally, we'd be storing the data, likely on an SD card, although we're up for anything cheap and that works. There'd be too much data to store to the Nano's various memories, so I guess the other option is a datalogger, unless we start doing some fancy packet forwarding to a server radio that will collect the data somewhere.

Final thought : any idea on the kind of power requirements for this ?

I look forward to hearing back from you. Thanks for any help !
Quentin

I have a little experience with Arduinos, but none with radio protocols.

Im pretty sure there is a protocol that suits this.

Does iee 802 ring a bell with anyone.

Away atm so cant ask person that would know.

I am using these devices http://www.deltino.com/ programmed as Arduinos to control model trains. They have a built-in Cypress 2.4Ghz transceiver and a h-bridge. They are not cheap because they are very small.

However as far as I know the nRF24L01+ is very similar to the Cypress transceivers and I think the wireless side of my application has similarities to what you are thinking of.

In my case one of the devices is connected to a PC and acts as a “sun”. All the other devices (in the model trains) act as planets. The sun gets instructions from the PC 5 times per second and broadcasts that as a separate message for each loco (up to 20 active locos should be feasible and perhaps 200 dormant locos). The “planets” listen all the time and when one of them receives a message with its ID number it acts on it. If it receives no message for a preset period it cause the loco to stop. Also, when a planet receives a message it immediately broadcasts a reply (in my case the voltage of the battery in the loco). The Sun receives these replies and combines them into a single message to send back to the PC.

It sounds as if your idea is very similar except that it doesn’t need the sun device. In my case the number of active devices is limited by the amount of data going between the sun and the PC over the USB cable.

…R

Powering the radios could be a problem, depending on how long you want the batteries to last.
If the radios have to be listening all the time, that represents a sizeable power component.
What sort of batteries are you going to use.

Thanks for the suggestion, Robin2, but those are too expensive for me. Indeed, we don't need a master device - all radios act in a decentralised fashion.

mauried, that's one of the primary issues I'm looking to. We need these to last about two days. Do you have any suggestions for powering them ? I'd like a 5V supply for obvious reasons, but that might imply a USB powerpack, which aren't cheap and might be overkill. I have little idea of what this device will be consuming, though. I'm just acquiring the final components to run a trial soon...

QCaudron:
Thanks for the suggestion, Robin2, but those are too expensive for me.

I was aware of that. I just though my experience would be useful as there seem to be similarities with what you want to do.

...R

Robin2 : absolutely. I may get in touch at a later point when my radios arrive :slight_smile:

Use an arduino with fewer components and slower frequency.
If you have a 3.3V/8MHz promini, the radio, and a LiPo battery you wil be in much better shape duration wise. Using a '328P with even fewer componets would be better; no regulator, no power LED, just the chip, crystal/caps, reset pullup resistor, vcc decoupling caps, battery, and the RF transceiver.
I have a stack of these boards, uC and a cap go on top, crystal and a couple parts go on the bottom.

CrossRoads:
Use an arduino with fewer components and slower frequency.
If you have a 3.3V/8MHz promini, the radio, and a LiPo battery you wil be in much better shape duration wise. Using a '328P with even fewer componets would be better; no regulator, no power LED, just the chip, crystal/caps, reset pullup resistor, vcc decoupling caps, battery, and the RF transceiver.
I have a stack of these boards, uC and a cap go on top, crystal and a couple parts go on the bottom.

The Pro Mini is a good call. Just to check - I can talk to it via USB just like other Arduino boards, using an FTDI cable ? This board would be better for keeping the whole thing small, and solves a few problems on the power front as it accepts 3V3 rather than 5V. Depending on the power source we go for, a regulator could be good. You're right about the LED, I don't particularly need that.

Thanks for the advice, it's appreciated. I'll take a look through your website and see if we can use some of those. We're looking to order a few hundred.

Yes, connect an FTDI Cable, or FTDI Basic/equivalent and a cable, to program them, with an adapter cable to connect to the Power/Gnd/Rx/Tx/DTR pins.
Or an AVR programmer once you get a couple working and don't need the bootloader, connects to the SPI pins (needed to load the bootloader and set the fuses).

Few hundred, give me a heads up if serious, I'd need to order material and line up an assembler to make them in one shot (vs assembling a small handful myself every night, kinda tedious after maybe the 2nd night!). Got a company in CA I use that usually turns things around quick once parts are drop-shipped.