Uplink TDoA RTLS Demo
Prepare for setup
LEAPS Manager application installed.
A Raspberry Pi 3B or newer version or a PC for data server and the web application installation.
At least five LC14 devices.
Batteries or USB-C cables for powering the devices.
Recommended: clamp or tripod with a camera mount for attachment of the Anchor devices.
Optional: Putty, Teraterm, minicom or your favorite terminal application installed on your computer.
Setup time: less than 5 minutes
Overview
This setup demonstrates real-time tracking of the Tag with high accuracy using the Uplink Time Difference of Arrival (UL-TDoA) technology.
Typical applications: Asset and people tracking.
Setup instructions
Power ON the devices.
The statically mounted devices will function as Anchors, providing location information to the Tags.
The moving devices will function as Tags configured in Uplink TDoA measurement mode.
Configure using the Demo Selector in the LEAPS Manager:
2.1. Open the LEAPS Manager and select the Demo Selector from the main page.
2.2. Select the Uplink TDoA RTLS.
2.3. A list of discovered devices via Bluetooth will appear on the list. Swipe down to update the list if needed.
2.4. Select the devices that will be used for the demo. The anchors and tags on the top side indicate the amount of devices needed for the demo.
2.5. Press the SAVE to configure the device(s) into the LEAPS RTLS mode, networking profile 5 (supports UL-TDoA).
2.6. A pop-up window Anchor Configuration will appear to offer the options to configure the Anchor’s positions. select the Manual or Keep current position depending on the need, then Press the OK.
Auto positioning is currently not available for profile 5.
2.7. Please check visually that the RED LED blinks when the device starts.
When the devices are configured successfully, the LEAPS Demo Network window will appear with a list of configured nodes.
Recommended: Use the alarm feature to identify the device, and move it to the correct physical location.
Open the Grid, located at the top drop-down menu, is for visualization of the devices and their positions.
Please refer to the LEAPS Manager for more details on how to use the application to configure and visualize the nodes and network.
Advanced setup
Get ready for the advanced setup! We’ll tap into the terminal’s power to help you configure your device like a pro. Just follow these steps and you’ll be all set.
Use a USB-C Data Cable to connect the USB-C Data Port 1 or USB-C Data Port 2 of devices to your PC.
Connect to a serial port using your desired terminal application, such as Putty, Teraterm, Minicom, or your favorite terminal application. We need to configure the baud rate to 115200.
For example use Minicom, on Ubuntu (Linux):
minicom -b 115200 -D /dev/ttyACM0
Press Double enter on the shell console to access the command line control system.
For example open /dev/ttyACM0 and press double enter, on Ubuntu (Linux):
minicom -b 115200 -D /dev/ttyACM0 Welcome to minicom 2.7.1 OPTIONS: I18n Compiled on Dec 23 2019, 02:06:26. Port /dev/ttyACM0, 16:02:57 Press CTRL-A Z for help on special keys Low Energy Accurate Positioning System FOR DEMO PURPOSE ONLY, NOT FOR SALE. Copyright : 2016-2024 LEAPS License : Please visit https://www.leapslabs.com/leaps-rtls-licee Compiled : Nov 4 2024 12:30:29 (v0.16.4-a916a6 Help : ? or help leaps>
Configure for each device, do the following steps:
Reset devices to default, run the frst command. (optional)
$ leaps> frst frst ok(Monitor and wait for the device to reset successfully. Then press double enter to access the command line control system.)
Use the command nps 5 to configure profile 5 (supports UL-TDoA) for each device.
$ leaps> nps 5 nps: ok
Use the nis command to configure all devices in a network.
$ leaps> nis 0x1234 nis: ok
Then, it is neccessary to reset the device to update the configuration. Use the reset command to reset the device.
$ leaps> reset reset ok
Note
In this example, we will configure an anchor with enable initiator, 3 anchors, and a tag.
Configure the mode for each anchor and tag.
To configure an anchor with enable initiator, use the command nmi to configure a device.
$ leaps> nmiThen, the device will reset, and to access the command line control system again, press double enter.
To configure 3 anchors, use the command nma to configure 3 devices to anchor mode, but do not enable initiator.
$ leaps> nmaThen, the device will reset, and to access the command line control system again, press double enter.
To configure a tag, use the command nmt to configure a device to tag mode
$ leaps> nmtThen, the device will reset, and to access the command line control system again, press double enter.
Configure the clock reference for one of the anchors.
At least one anchor is configured.
To configure an anchor with enable clock reference, use the command acs cr to configure a device.
$ leaps> acs cr 1Then, it is neccessary to reset the device need to reset the device to update the configuration. Use the reset command to reset the device.
$ leaps> reset reset ok
Configure the actual position for each anchor.
To get the position use pg command and to set the position use ps command for each anchor.
In this example, we will configure 4 anchors are placed 3 meter apart and arranged in a square shape:
leaps> ps 3000 3000 0 ps: ok leaps> pg pg: x:5000 y:5000 z:0 qf:100 leaps>leaps> ps 0 0 0 ps: ok leaps> pg pg: x:0 y:0 z:0 qf:100 leaps>leaps> ps 3000 0 0 ps: ok leaps> pg pg: x:3000 y:0 z:0 qf:100 leaps>leaps> ps 0 3000 0 ps: ok leaps> pg pg: x:0 y:3000 z:0 qf:100 leaps>
After successfully configuring the anchors, move it to the correct physical location 1 meter apart.
Configuration for each tag allows the use of UL-TDoA technology for measurement.
To configure, use the tcs mode 1 command for a tag.
$ leaps> tcs mode 1 tcs: ok
Then, it is neccessary to reset the device to update the configuration. Use the reset command to reset the device.
$ leaps> reset reset ok
By default normal update rate is 0.1s/ 10Hz and stationary update rate is 5.0s/ 0.2Hz. To increase speed, use urs command.
For example, configure normal update rate to 0.1s/ 10Hz and, stationary update rate is 0.1s/ 10Hz. Run the following command:
$ leaps> urs 1 1 urs: ok
In steps 5, 7 and, 8 can use the si command to verify whether the mode, profile, and network configurations are correct. (optional)
For example on 4 anchors and a tag:
mode: ani
panid=x1234
prof=5
leaps> nps 5 nps: ok leaps> nis 0x1234 nis: ok leaps> nmi Low Energy Accurate Positioning System FOR DEMO PURPOSE ONLY, NOT FOR SALE. Copyright : 2016-2024 LEAPS License : Please visit https://www.leapslabs.com/leaps-rtls-licee Compiled : Nov 4 2024 12:30:29 (v0.16.4-a916a6 Help : ? or help leaps>si [000412.823 INF] release: LEAPS RTLS v0.16.4-a916a6 [000412.824 INF] sys: main main_ver=x02040001 cfg_ver=x01040000 batt=none board=LC14_B [000412.824 INF] uwb: ch9 prf64 plen128 pac8 txcode9 rxcode9 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0 [000412.825 INF] uwb: tx_pwr=x34/xD6D6D6D6 sts:shr:phr:data=24.2:24.2:24.2:24.2[dB] cpl=FCC/ETSI pgcnt=232 temp=25 [000412.826 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=37 tx_delay=16436 rx_delay=16436 [000412.827 INF] uwb: panid=x1234 addr=xDECAD674FD208EAA [000412.828 INF] mode: ani (act,real) [000412.851 INF] uwbmac: connected prof=5 (manual) [000412.851 INF] uwbmac: bh disconnected [000412.852 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=1 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID8EAA [000412.852 INF] enc: off [000412.872 INF] ble: addr=F0:26:43:8B:52:4A leaps>
mode: an
panid=x1234
prof=5
leaps> nps 5 nps: ok leaps> nis 0x1234 nis: ok leaps> nma Low Energy Accurate Positioning System FOR DEMO PURPOSE ONLY, NOT FOR SALE. Copyright : 2016-2024 LEAPS License : Please visit https://www.leapslabs.com/leaps-rtls-licee Compiled : Nov 4 2024 12:30:29 (v0.16.4-a916a6 Help : ? or help leaps>si [000454.748 INF] release: LEAPS RTLS v0.16.4-a916a6 [000454.749 INF] sys: main main_ver=x02040001 cfg_ver=x01040000 batt=none board=LC14_B [000454.749 INF] uwb: ch9 prf64 plen128 pac8 txcode9 rxcode9 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0 [000454.750 INF] uwb: tx_pwr=x34/xCECECECE sts:shr:phr:data=23.4:23.4:23.4:23.4[dB] cpl=FCC/ETSI pgcnt=238 temp=25 [000454.751 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=32 tx_delay=16426 rx_delay=16426 [000454.752 INF] uwb: panid=x1234 addr=xDECA229121E05886 [000454.753 INF] mode: an (act,-) [000454.766 INF] uwbmac: connected prof=5 (manual) [000454.766 INF] uwbmac: bh disconnected [000454.767 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=0 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID5886 [000454.797 INF] enc: off [000454.798 INF] ble: addr=FD:3F:4A:2F:BD:F0 leaps>
mode: an
panid=x1234
prof=5
leaps> nps 5 nps: ok leaps> nis 0x1234 nis: ok leaps> nma Low Energy Accurate Positioning System FOR DEMO PURPOSE ONLY, NOT FOR SALE. Copyright : 2016-2024 LEAPS License : Please visit https://www.leapslabs.com/leaps-rtls-licee Compiled : Nov 4 2024 12:30:29 (v0.16.4-a916a6 Help : ? or help leaps> si [000496.390 INF] release: LEAPS RTLS v0.16.4-a916a6 [000496.390 INF] sys: main main_ver=x02040001 cfg_ver=x01040000 batt=none board=LC14_B [000496.390 INF] uwb: ch9 prf64 plen128 pac8 txcode9 rxcode9 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0 [000496.391 INF] uwb: tx_pwr=x34/xC6C6C6C6 sts:shr:phr:data=22.6:22.6:22.6:22.6[dB] cpl=FCC/ETSI pgcnt=236 temp=25 [000496.392 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=32 tx_delay=16431 rx_delay=16431 [000496.393 INF] uwb: panid=x1234 addr=xDECAED5BC8B1468D [000496.394 INF] mode: an (act,-) [000496.413 INF] uwbmac: connected prof=5 (manual) [000496.414 INF] uwbmac: bh disconnected [000496.414 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=0 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID468D [000496.438 INF] enc: off [000496.439 INF] ble: addr=F3:D9:66:75:93:EB leaps>
mode: an
panid=x1234
prof=5
leaps> nps 5 nps: ok leaps> nis 0x1234 nis: ok leaps> nma Low Energy Accurate Positioning System FOR DEMO PURPOSE ONLY, NOT FOR SALE. Copyright : 2016-2024 LEAPS License : Please visit https://www.leapslabs.com/leaps-rtls-licee Compiled : Nov 4 2024 12:30:29 (v0.16.4-a916a6 Help : ? or help leaps> si [000535.583 INF] release: LEAPS RTLS v0.16.4-a916a6 [000535.583 INF] sys: main main_ver=x02040001 cfg_ver=x01040000 batt=none board=LC14_B [000535.584 INF] uwb: ch9 prf64 plen128 pac8 txcode9 rxcode9 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0 [000535.585 INF] uwb: tx_pwr=x34/xEEEEEEEE sts:shr:phr:data=26.5:26.5:26.5:26.5[dB] cpl=FCC/ETSI pgcnt=245 temp=25 [000535.586 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=32 tx_delay=16436 rx_delay=16436 [000535.587 INF] uwb: panid=x1234 addr=xDECA7A20DFE04F2E [000535.588 INF] mode: an (act,-) [000535.599 INF] uwbmac: connected prof=5 (manual) [000535.599 INF] uwbmac: bh disconnected [000535.632 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=0 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID4F2E [000535.632 INF] enc: off [000535.633 INF] ble: addr=C8:D9:F3:F1:7D:CE leaps>
By default configuration, the device will be in TWR mode. If it was in another mode, we would use the tcs mode 0 command.
mode: tn
panid=x1234
prof=2
leaps> nps 2 nps: ok leaps> nis 0x1234 nis: ok leaps> nmt Low Energy Accurate Positioning System FOR DEMO PURPOSE ONLY, NOT FOR SALE. Copyright : 2016-2024 LEAPS License : Please visit https://www.leapslabs.com/leaps-rtls-licee Compiled : Nov 4 2024 12:30:29 (v0.16.4-a916a6 Help : ? or help leaps> urs 1 1 urs: ok leaps> si [000248.294 INF] release: LEAPS RTLS v0.16.4-a916a6 [000248.294 INF] sys: main main_ver=x02040001 cfg_ver=x01040000 batt=none board=LC13_B [000248.294 INF] uwb: ch9 prf64 plen128 pac8 txcode9 rxcode9 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0 [000248.295 INF] uwb: tx_pwr=x34/xCDCDCDCD sts:shr:phr:data=21.7:21.7:21.7:21.7[dB] cpl=FCC/ETSI pgcnt=234 temp=25 [000248.295 INF] uwb: lna=1 pa=0 rf1=1 rf2=1 xtaltrim=13 tx_delay=16443 rx_delay=16443 [000248.295 INF] uwb: panid=x1234 addr=xDECA2B16DD209705 [000248.299 INF] mode: tn (act,tdoa,np,le) [000248.314 INF] uwbmac: disconnected prof=5 (manual) [000248.314 INF] uwbmac: bh disconnected [000248.314 INF] cfg: sync=0 fwup=1 ble=1 leds=1 le=1 lp=0 uab=1 stat_det=1 (sens=2) mode=1 upd_rate_norm=1 upd_rate_stat=1 label=ID9705 [000248.342 INF] enc: off [000248.342 INF] ble: addr=E0:2C:84:68:AD:16 leaps>
To see a list of anchors in range and connected to the device itself, use the la command. (optional)
For example on an anchor 1 (enable initiator):
leaps> la [000414.009 INF] AN: cnt=4 seq=x03 [000414.009 INF] 0) id=8EAA seat=0 clk_lvl=0 seens=0 rssi=-127 cl=00000039 nbr=00000039 pos=3.00:3.00:0.00 [000414.010 INF] 1) id=4F2E seat=4 clk_lvl=1 seens=212 rssi=-127 cl=00000039 nbr=00000000 pos=0.00:3.00:0.00 [000414.011 INF] 2) id=5886 seat=5 clk_lvl=1 seens=178 rssi=-127 cl=00000039 nbr=00000000 pos=3.00:0.00:0.00 [000414.012 INF] 3) id=468D seat=3 clk_lvl=1 seens=145 rssi=-127 cl=00000039 nbr=00000000 pos=0.00:0.00:0.00 [000414.012 INF] leaps>
After completing all configuration. We can use the LEAPS Manager, to visualization of the devices and their positions.
When Bluetooth Low Energy (BLE) and the LED are both off, users may erroneously perceive the board as non-functional. In this scenario, the only recourse for the user is to initiate a Factory Reset (frst) command.
Here are some tips for fixing some issues related to the installation process.
Please check the version. We recommend you use the latest official version.
Use the Reset devices to default feature in Demo Selector on the LEAPS Manager when you don’t know the current state of the devices. Refer to the following GIF Image.
Data flow: When the tag blinks, the anchors receive blinks and send the TX/RX timestamps of blink to Leaps server via Leaps Gateway. Leaps server uses the timestamps collected from Anchors to calculate Tag’s position and publish the position to MQTT broker.
Infrastructure setup
Device Configuration
As above, use LM in Quick Start or Shell in Advanced to configure the devices.
Setting Up Raspberry Pis
Install all Raspberry Pis using the LEAPS-UDK1-RPI-IMAGE.
Each corresponding anchor connects to a Raspberry Pi, so at least 4 Raspberry Pis are required.
The image includes the setup and configuration for the
LEAPS Gateway
,LEAPS Server
,LEAPS Center
, andMosquitto MQTT Broker
.
Connecting Raspberry Pis
Connect all Raspberry Pis to the Router to ensure they are on the same LAN.
LEAPS Server Setup
Choose any Raspberry Pi to run the
LEAPS Server
and check its IP address. To obtain the IP address, use the ifconfig command.
Updating Configuration
Using the IP address of the chosen Raspberry Pi, update the
leaps-server-host
configuration in/etc/leaps-gateway/leaps-gateway.conf
for all LEAPS Gateways on all Raspberry Pis.
For example:
leaps-server-host = 192.168.1.8
Save the configuration and restart the
LEAPS Gateway
with the following command:sudo service leaps-gateway restart
Then, restart the
LEAPS Server
with the following command:sudo service leaps-server restart
Monitoring the System
Once the gateway is ready, monitor the system status using:
For example:
mosquitto_sub -h 192.168.1.8 -p 1883 -t '#' -v
Configuring Leaps Center
For example: Open a web browser and navigate to:
192.168.1.8/2
This can be accessed directly on the Raspberry Pi or on a PC connected to the LEAPS-UDK1 network broadcasted by the Raspberry Pi.
If on a LAN network, you can also use another computer’s web browser to access the Raspberry Pi’s IP address.
Network Configuration
In the
LEAPS Center
, configure the network settings to match the network ID of the gateway board you have connected.Now the system has been successfully set up and configured the system. Enjoy using it!
Note
Refer to the software infrastructure to further explore the power of this demo. Our support includes LEAPS Docker, LEAPS VMWare and, LEAPS Raspberry Pi.
For any comments or questions about our products, we encourage you to visit our LEAPS Forum.
For detail of known limitation and issue list, please refer section Releases.