Author Topic: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?  (Read 8043 times)

0 Members and 1 Guest are viewing this topic.

Offline thejoggingmatTopic starter

  • Regular Contributor
  • *
  • Posts: 93
  • Country: sg
How can I implement a preferably Arduino-based NRF24L01 (or any low-cost alternatives) mesh network with node triangulation?

I would like to setup a mesh network based on low-cost Arduinos + NRF24L01 (more specifically, the ones with the SMA antennas for longer range). There will be stationary nodes to facilitate the meshing network, hypothetically around a large ballroom/exhibition hall, and have free-moving tracking nodes within the mesh network borders. Theoretically, I should be able to track in realtime the node movements and translate them into coordinates to display on a portable base station.

Using the NRF24L01s will also be advantageous as I can also have walkie-talkie-bitrate audio streaming in-and-out at the same time, which is something extra I am thinking of adding in for something else, rendering them infinitely more useful.

Problem is, it does not seem to have any indication in the RF24 (mesh) library that I can do so. Going down the rabbit hole, an obscure Hackaday article claims it can be done though limited to the NRF24L01's inability to support RSSI. A deeper search seems to bring up an odd reference to a certain nRF51822, which upon further searching does not seem to support meshing (or at least have a library for it) and is not as popular (and thus inexpensive) as the 24L01s.

Hence, how can I go about doing such triangulation?
 

Offline thejoggingmatTopic starter

  • Regular Contributor
  • *
  • Posts: 93
  • Country: sg
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #1 on: March 15, 2016, 12:46:57 pm »
bump
anything?
 

Offline ade

  • Supporter
  • ****
  • Posts: 231
  • Country: ca
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #2 on: March 15, 2016, 03:27:58 pm »
Thinking out loud...

What you really want are Bluetooth LE (Bluetooth Smart) modules, which is what NRF51822 boards are.  NRF51822 is a Bluetooth LE SoC.

Now, the NRF24L01 shares a lot in common with the NRF51822.  It can be hacked to transmit BLE beacons:

http://ram.lijun.li/misc-nrf24-ble.html

So you can probably use a bunch of these as cheap stationary beacons to mark positions around the hall, using the custom data field described in the link above.

You will still need a real BLE module to determine proximity to the beacons, such as those based on that NRF51822.

Note: even with BLE, it's not really possible to accurately triangulate (or trilaterate) position.  Instead, position is determined by detecting that we are close to a certain beacon (under a certain RSSI threshold).  So a mesh network is not needed per se, but it does mean more beacons may be required to achieve the accuracy that you need.

Also, most newer mobile phones these days have BLE, so maybe you can write an app people can download instead of creating custom tracking nodes.  There are iOS and Android libraries you can use for this.
 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6714
  • Country: nl
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #3 on: March 15, 2016, 04:15:58 pm »
RF ToF distance is just becoming a major thing, a lot of solutions are appearing. Doing it with general purpose modules is almost certainly a nogo though, everything is sychnronized to a slow clock which would need a massive amount of averaging to get to a useful resolution.

Maybe this would be able to do it?
 

Offline ade

  • Supporter
  • ****
  • Posts: 231
  • Country: ca
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #4 on: March 15, 2016, 06:15:17 pm »
I believe Pixie Points are simply Bluetooth LE devices, so no real advantage over the above.

Also their FB page is full of customers complaining that they haven't received their pre-orders placed since last year...
 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6714
  • Country: nl
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #5 on: March 15, 2016, 07:32:18 pm »
Here's someone who used nRF24L01+ with poor results. One of the problems is the multiple time domains screwing things up.

Here's the commercial DecaWave RTLS modules for 25$, with an Arduino library.
« Last Edit: March 15, 2016, 07:38:40 pm by Marco »
 

Offline ade

  • Supporter
  • ****
  • Posts: 231
  • Country: ca
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #6 on: March 16, 2016, 09:58:00 pm »
Hence I think trilateration using ToF is not typically used with BLE... instead people tend to do proximity detection using RSSI as described above, usually through some sort of fitting or minimization algorithm.   You're not going to get inch-level accuracy but for something like finding a booth at an exhibition hall, it might be sufficient.
 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6714
  • Country: nl
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #7 on: March 17, 2016, 04:45:48 pm »
For 25 bucks per node I'd use the DecaWave,
 

Offline ade

  • Supporter
  • ****
  • Posts: 231
  • Country: ca
Re: Arduino-based NRF24L01 mesh node triangulation (or alternatives)?
« Reply #8 on: March 17, 2016, 06:07:17 pm »
I dunno... NRF24L01+ boards cost around 60 cents, fully assembled, and they can work with most newer mobile phones (iPhones, Android) without any additional equipment.

Using that DecaWave RTLS module still won't give you any better than 1-2 meter position accuracy without additional (expensive) time synchronization equipment, so you're paying a lot more for virtually no real-world performance advantage.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf