Send Location Information via UDP - TPC_IPS/QuickIPS Extension

Information

Our indoor positioning system TPC_IPS Ver1.0 was released on April 1, 2022.

We also plan to release IPS application templates "QuickIPS" and "TPC_IPS Web API" which allow interactions with external IPSs/RTLSs in the future.

Our indoor positioning system, TPC_IPS, analyzes beacon signals using a positioning engine (TCOT) on the application server and stores the calculated location information of each beacon in a database. Users access the database from client machines in a timely manner to retrieve location information, which is then used in front-end applications such as floormaps. This is a Pull method in which the client requests information from the server.

The drawback of the Pull method is that it generates extra queries and increases the server load as the number of clients increases.

On the other hand, there are systems which uses the Push method that send data from the server side to the client. This time, we implemented a process to automatically update the client's floormap by broadcasting the location information calculated by TPC_IPS's location positioning engine (TCOT) to the network via UDP.

The module configuration between server and client is illustrated below.

A program called tcot_sender.py resides on the server, which calls TCOT to obtain location information, which is then broadcast via UDP using python sockets.

On the client, tcot_receiver.py listens for the above UDP and performs necessary tasks such as data processing when it receives UDP data.

QuickIPS is a front-end application and it displays the latest locations of beacons on the floormap. QuickIPS is developed in FileMaker, however, FileMaker itself unfortunately does not have socket communication capabilities, it cannot directly retrieve data from tcot_receiver.py.

Therefore, to enable socket communication between tcot_receiver.py and QuickIPS, we prepared a file called tcot_listener.html and embedded this html file in a Web viewer * on the floormap layout. tcot_listener.html creates a WebSocket and uses addEventLisner to wait for incoming data from tcot_receiver.py. Upon detecting incoming data, it calls up PerformScript() to run a FileMaker script to update the QuickIPS floormap.

*Web viewer is a feature that displays web pages directly in the FileMaker Pro layout.

This mechanism is not only available in FileMaker, but also in common web applications.

Below is a summary of the pros and cons of the UDP Push method we have implemented.

Pros

  • Faster data transfer than TCP communication
  • Reduced server load, especially when there are many users
  • System configuration flexibility
  • Real-time performance (less overhead, faster execution of client apps)

Cons

  • Compared to TCP communication, data loss (packet loss) may occur because transmitted data is not guaranteed
  • Processing of connection confirmation and data reception confirmation for UDP communication can be troublesome

注:
TPC_IPS ver1.0 does not support UDP Push. We plan to address this issue in future releases, but specifications are subject to change without notice.

 

Sachiko Kamezawa

IPS Related Blog Posts

  1. IPS Application Templates for FileMaker ― QuickIPS ―*
  2. Indoor Mobile Position Monitoring Model with iBeacon/Raspberry Pi 1  ―  Overview*
  3. Indoor Mobile Position Monitoring Model with iBeacon/Raspberry Pi 2   ―  RSSI/Distance Calibration and Trilateration*
  4. Indoor Mobile Position Monitoring Model with iBeacon/Raspberry Pi 3 ― Enhancement of Two-Circles-Oriented Trilateration (TCOT) and Measurement Results*
  5. Estimate the approximate position of the beacon with a small number of receivers in a large area such as Tokyo Dome(Google translate)
  6. Improving IPS Positioning Accuracy with Machine Learning*
  7. TIPS for making IPS testbeds(Google translate)
  8. Object Tracking for Visualizing The Movements of People and Objects on a Map*
  9. Send Location Information via UDP - TPC_IPS/QuickIPS Extension*
  • * indicates that original article translation into English has been completed by TPC.
  • "Google translate" indicates that clicking it will Google translate the original article, and may be translated into English in the near future by TPC.

TPC's IPS Products

No comments:

Post a Comment