This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Implementing a "mesh network" possible?

Other Parts Discussed in Thread: CC2571, CC2540

Note that this is a sort of "thinking out loud" question/discussion, so what I've said below could prove to be completely impractical or impossible. I'd appreciate feedback if so though.

I'm messing with the idea of using Bluetooth LE in a home automation project. It has many of the characteristics I want - low energy usage, low size, up-and-coming availability in many devices etc. - but it's lacking something the ZigBee provides - mesh networking. Since range is a problem in larger buildings, I've been trying to think of a way to develop a sort of "extended star network" for BLE, something that would help extend the range BLE could cover. The idea I have at the moment is as follows:

Primary Node: I would have one central or primary "node" - this node could be your smartphone, tablet, a pc or any of the usual devices and would act as the traditional master.

Secondary Nodes: All nodes that connect to the primary node are secondary nodes. These nodes act like slaves normally to the primary node. However, by quickly switching between roles, it would be possible to allow each of these secondary nodes to connect to the...

Tertiary Nodes: All nodes that connect to the secondary nodes are tertiary nodes. These nodes would act as slaves to their respective secondary node. These nodes could also act like the secondary nodes allowing many more rings or sub-networks.

From what I can see, this network would be able to help extend the range of a primary nodes by allowing it to use intermediate nodes to reach those on the fringe. I image the quick switching between master and slave would limit the size of the network: we don't want secondary nodes miss data from tertiary nodes because they were acting as slaves to the primary for a moment. Also, I don't think I have the skills to implement such a scheme myself and would probably rely on multiple mains powered BLE master devices placed at regular intervals (perhaps linking these by an WiFi/Ethernet backbone to a central PC server) but the question remains:

Is this possible?

  • Hi Stephen,

    Even if Bluetooth low energy is designed as a star topology including specific roles, using Master/Slave switch could achieve what you are describing, So to answer your question, yes. Although, I do not now how Bluetooth SIG feels about this, nor how much work is necessary, but you bring up a good point.

    Best Regards

  • There is currently a work to support IPv6 over BLE but it will take some time.

    As Nick said, you could implement a master-slave switching thing!

    Good luck!

  • Yes I had found resource on that (such as this one) but it seems to be strictly theoretical for now. It could be interesting to say the least though

  • Hi All

     

    I think I can suggest a very viable solution using the TI CC2571.

    This chip is pin compatible with the CC2540 and contains the ANT protocol which supports a very usefule practical mesh environment.

    The CC2571 as it sits now, supports multiple channel operation with master and slave functionality mixed and amatched  as you see fit. Topology options vary from peer to peer, star, complex star, tree (we call Shared Channel) and relay functionality creating a perfect home automation solution. And yes ANT is supported on a large number of smart phones already through the WiLink family of connectivity chips from TI.

    Our suggestion for home automation needs is to use the tree option in the rooms where you can address up to 65,000 separate sensors one at a time, in a polling fashion, and transfer the data received from each sensor out a single channel to the automation systems master console directly or through distance extenders (relays) in the hallways.

    Effectively ANT and the CC2571 can connect at up to 100m using the 4dBm output option but the relay operation makes so simple a repeater out of the CC2571, it hardly makes sense to sacrafice the battery life..

    The shared channel master positioned at the doorway to the room, for example, is the master to the sensors in the room on Channel 0. The resultant data, from the sensor polling, is sent out on master Channel 1 to the console or relay. In the case of the console it is a slave to the shared channel on Channel 0. The CC2571 can manage up to eight of the shared channels so a typical house can easily be managed in this way. In the case of the relay it is the slave to the shared channel master at the doorway on channel 0 and a master to the console on channel 1, simply passing the data through the host MCU. Since it can also have 6 more connections the CC2571 could easily manage 6 more shared channel masters.

     The key to this ULP operation, all on a coincell battery by the way, is one message in, one message out, which keeps the network from saturating with data.

    Information about ANT and re this operation is outlined in a recent TI Tech Days presentation in Vancover Canada  located in the presentations section under Vancouver. Look in the track 2 folder under ANT101 http://www.ti.com/ww/en/techdays/2012/index.shtml?tab=Europe&DCMP=EMEA_Calendar&HQS=techdays12-e#

    Application notes and refernce designs for shared channel and relay functioanlity can be downloaded from the ANT webite's Developer Zone  http://www.thisisant.com/pages/developer-zone/ant-application-notes

     

    Mike Paradis

    ANT Global Sales Manager

    mike.paradis@thisisant.com

  • Hi Stephen,

    I am working on a similar project. What you are talking about, - in theory - can be achieved through the advertisement channels by making use of the combo-role support in cc2540.

    Right now I have some issues with making this thing to work, but I hope there will be a completely working solution soon enough :). Not a throuhput based idea though, and not optimal for passing ipv6 packets (with their giant overhead)...but it could be a working concept. And can easily be used for 31 octett data chunks.

    I hope that helps.

    Best Regards,

    Andras


     

  • Hi Andras,

    Andras Balogh said:
    And can easily be used for 31 octett data chunks

    Note that 39 octets is the total advertisement including header (2 Byte). Additionally, you'll have a 6 Byte sender IEEE address, so the actual usable advertisement data is limited to 31 octets. If you're adding AD Type Flags (usually mandatory), you will only have 28 Byte of "playable" data.

    Best Regards.

  • Hi Nick,

    Yes you're right. My bad.
    1 byte for length, 1 for adtype(flags), and 1 for the "value". The freely usable fields start after... (28 byte)

    Thank you for correction.

    Kind Regards,