---
language: "en"
---
# ZeroKey Info Center

*

  ## [Getting Started](https://infocentre.zerokey.com/articles/getting-started.md)

  Learn more about ZeroKey RTLS and how to get started with your system
*

  ### [Hardware](https://infocentre.zerokey.com/articles/hardware.md)

  Understand how to care for and operate ZeroKey hardware
*

  ### [Config Tool](https://infocentre.zerokey.com/articles/features.md)

  Use ZeroKey's Config Tool to calibrate your system and optimize positioning
*

  ### [Troubleshooting](https://infocentre.zerokey.com/articles/troubleshooting.md)

  Overcome common roadblocks in your deployment
*

  ### [Dashboard](https://infocentre.zerokey.com/articles/network-configuration.md)

  The ZeroKey Dashboard lets you customize your positioning system
*

  ### [ZeroKey API](https://infocentre.zerokey.com/articles/zerokey-api.md)

  Connect to and understand our API
*

  ### [Positioning Concepts](https://infocentre.zerokey.com/articles/positioning-concepts.md)

  The concepts behind achieving great positioning
*

  ### [ZeroKey and Tulip](https://infocentre.zerokey.com/articles/zerokey-and-tulip.md)

  Integrate ZeroKey's Quantum RTLS technology with Tulip's Frontline Operations Platform.

---
language: "en"
---
# Adding Anchors to Expand your Starter Kit's Coverage

Easily expand the coverage offered by your tracking system by adding Anchors. This guide covers the steps for adding new Anchors, configuring and recalibrating the system, and evaluating coverage once the expansion is complete.

## **Why Expand?**

Adding extra Anchors to your system can be beneficial in several ways, including:

**Larger Tracked Space:** Increase the size of the tracked space to include new areas within a facility or capture additional work-flow processes.

**Improved Positioning:**Increases reliability in areas where performance may be affected by obstructions or environmental factors. When site conditions change and new blockages are introduced, adding Anchors may be required.

**Adaptability to New Testing Requirements:**Adapt the tracking system to changes in testing conditions and scenarios by adding Anchors.

## **Installation Steps**

Before starting the expansion process, walk through the tracked space to determine optimal mounting locations for new Anchors. A Mobile always requires a clear line of sight to 4 Anchors. This is referred to as the **Rule of 4** and you can learn more about it by reading the help article in our Info Center: [Anchor Placement Fundamentals](https://infocentre.zerokey.com/articles/anchor-placement-fundamentals).

**Plan your Anchor Placement**

* **Identify the coverage area:** Determine the area where coverage is needed.

* **Consider obstructions:** Blockages within the tracked space may offer the best mounting location for Anchors. Ensure that at least 4 Anchors can always maintain a line of sight to the Mobile.

![image-20241005-001736.png](https://infocentre.zerokey.com/__attachments/a_4bbc91bc79a4bcb25a10b5e4849514ff60dcc716563fbb6e2f1b607302f32c29/image-20241005-001736.png?cb=d95ec68b7db98e6b37fea0f370503e0d)

* **Ensure sufficient coverage:** Place Anchors to create overlapping coverage and minimize blind spots. In most cases, 8 Anchors will provide coverage for 120 square feet or 11 square meters.

**Install the Anchors**

* **Mount the Anchors**: Use the Anchor mounts to firmly attach each Anchor to walls, ceilings, or other stable structures. Power on each Universal Anchor as it is installed. When installing Power over Ethernet (PoE) Anchors, network cables and a power source like a PoE switch are required.

* **Position properly:** Vary the height of the Anchors. Ensure that the transducer is pointed towards the expansion area where tracking is required.

## **New Hardware Configuration**

**Add Anchors to the same RF Channel**

Use the ZeroKey Config Tool to confirm that the new devices are set to the same RF channel as the existing system. Learn more about changing the RF channel to match the current system by reading the help article in our Info Center: [Changing your System's RF Channel.](https://infocentre.zerokey.com/articles/changing-your-system-s-rf-channel)

* Note: The default RF channel for ZeroKey devices is set to channel 50. If the channel on your existing devices has not been modified, you can keep the default channel setting of 50. However, if you have changed the channel (e.g., to channel 74), you will need to configure the new devices to use channel 74.

Ensure that appropriate listening distance is configured when expanding system coverage. The default listening distance is set to 6.17 meters.

* If the tracked space exceeds this range, you will need to increase the listening distance accordingly. For more details on selecting the proper listening distance, please refer to our help article: [Selecting the Right Listening Distance with Set Max Range.](https://infocentre.zerokey.com/articles/selecting-the-right-listening-distance-with-set-ma)

Once the new devices are migrated to the correct RF channel, navigate to the **General** tab in the Config Tool and click the **Start Discovery** button. Ensure that all devices are discovered before moving to the next step, then click the **Stop Discovery** button.

![image-20241005-001900.png](https://infocentre.zerokey.com/__attachments/a_6e497524c09ac67b71b99b94c6286b5ecf3fbb0b2494a2de3b139938713126d8/image-20241005-001900.png?cb=b3a2acce12030172872e27b4bf5a179b)

## **Steps for Recalibration**

After adding new Anchors, recalibrate the system to integrate the new Anchors into the larger Anchor network.

1. Launch the Config Tool and navigate to **General** tab.

![image-20241005-001944.png](https://infocentre.zerokey.com/__attachments/a_ab2a2b8e30c994da7c22e802d64ac5357cdaf378cff3d0662cb8f966d7333cc0/image-20241005-001944.png?cb=61de3bfcd9aa7cf5bdea31556a7bad95)

2. Click the **Anchor Calibration** button.

3. Follow the calibration process outlined in the Calibration Wizard to synchronize all Anchors.

4. For a more detailed guide on the calibration process, please read our help article:[How to Calibrate Your Positioning System.](https://infocentre.zerokey.com/articles/how-to-calibrate-your-positioning-system)

## **Positioning Evaluation**

Once the calibration is complete, start positioning to confirm that the coverage provided by the new Anchors meets the expansion requirements.

**Conduct a Coverage Test**

* Start positioning and use a Mobile to walk through the existing and expanded area.

* Monitor the system for any inconsistencies in tracking or coverage gaps by viewing the Mobiles movement in the Config Tool's 3D Visualizer.

**Evaluate Anchor Placement**

* Confirm that the entire area is covered as planned and that the Anchors provide stable tracking.

* Adjust or add Anchors if necessary to optimize coverage and recalibrate.

**Verify System Accuracy**

* Use the **Distance Measure Tool** to test the accuracy of the enlarged system.

Note: To use the **Scale Check** feature:

* Power on a second Mobile and place the two Mobiles 1 meter apart.

* In the Config Tool, navigate to the **General** tab and click **Distance Measurement Tool**.

* A new window will open, prompting you to choose **Node A** and **Node B**.

* Select the first Mobile under **Node A** and the second Mobile under **Node B**.

* Once both Mobiles are selected, the tool will display the distance between them in real-time.

For more information, read our help article: [How to Use the Distance Measurement Tool](https://infocentre.zerokey.com/articles/how-to-use-the-distance-measurement-tool).

## **Fine-tune the Anchor Layout**

If positioning improvement is required, consider adjusting the Anchor layout -- for more information on how to do this, read our help article: [Utilizing Coordinate Transformation in the Config Tool](https://infocentre.zerokey.com/articles/utilizing-coordinate-transformation-in-the-config-).

---
language: "en"
---
# Anchor Layouts for Starter Kits

Optimize the placement of Anchors in your starter kit for maximum coverage and performance.

## **Starter Kit Coverage**

The Anchors in your starter kit provide coverage for about 120m^2^, or 1300ft^2^. Every deployment space is different and using the right Anchor placement will help to produce optimal positioning results. Setting up the Anchors is a quick and easy process, and there are a few key factors that, when followed, will help to ensure the installation goes smoothly.

## **Power On the Anchors**

ZeroKey offers two types of Anchors: **Power Over Ethernet (PoE)** and **Universal** . You can read more about the difference between these Anchors in our help article named [*Selecting the Right Anchor for Your Deployment*](https://zerokey-knowledge-base.scrollhelp.site/articles/selecting-the-right-zerokey-anchor-for-your-deploy). PoE Anchors leverage ethernet cabling to permanently power each Anchor, whereas Universal Anchors are battery-powered, making them a convenient and portable choice. Be sure to charge and power on each Universal Anchor before installation. To power on, quickly press and release the grey button.

## **Transducer**

The transducer on every Mobile and Anchor is the point at which the measurement originates during calibration and positioning. Direct the transducer towards the tracked space when installing each Anchor. Your Universal Starter Kit includes an Anchor mount that allows you to angle the Anchor towards the tracked space. PoE Anchors are equipped with a rotatable transducer that should be pointed towards the area of interest by applying light pressure on the blue ring around the transducer.  
![image-20240823-225105.png](https://infocentre.zerokey.com/__attachments/a_4a78f2d7835cc1632f2febeeb3a2fcf6518443f84ad873770b970f3f719cc4a8/image-20240823-225105.png?cb=7147c6aa4e9444cf68cd6d486a5059c8)

## **Anchor Placement**

When planning your Anchor layout, it's important to remember that the Mobile should always have a **Line of Sight** (LOS) to 4 Anchors. This is called the **Rule of Four** and it's part of what helps produce such great performance from your starter kit. One way to achieve this coverage is to use a combination of wall and ceiling Anchor attachments.  
![image-20240823-202502.png](https://infocentre.zerokey.com/__attachments/a_4882d1a480ac2175b9f4046bd3ca71d1fdbe1848a3647283282d972caa7d12f9/image-20240823-202502.png?cb=edf1765fe2e193f2c7ffc92b84cb5f3b)

Your starter kit comes with Anchor mounts to attach each Anchor to the walls and ceiling of your deployment environment. These mounts are installed by using M3 or #4 flat-head screws or double-sided tape for temporary installation.

## **Wall and Ceiling Anchor Layout**

Use the layout shown in the image below when installing the Anchors. While Universal Anchors are shown in the image, the same layout can be used for PoE Anchors as well. Point the face of each Anchor towards the tracked space.  
![image-20240415-162851.png](https://infocentre.zerokey.com/__attachments/a_c3e44568e941f576f37f8fa1e3ad934276eef2dc8f7ca6bcd4d2d28d2c4f7c6d/image-20240415-162851.png?cb=2e59a3b87a3def105ac23dc630986904)

The ceiling-mounted Anchors should be installed no less than 1m from each wall.

Install the wall-mounted Anchors tight to each corner no less than 2m from the floor. If they can't be mounted in the corners, move the Anchor to a minimum of 80cm from each corner.

## **Tripod Attachment**

If mounting on walls or ceilings isn't feasible, using tripods is a great alternative. Arrange the Anchors in a circular formation with a diameter of approximately 5.5m. Attach one Anchor to each tripod and extend them to a minimum height of 2m. Lower one tripod by 50cm. Make sure each Anchor is facing the center of the tracked space.

![UASetup 2.png](https://infocentre.zerokey.com/__attachments/a_3363021b6dec0015da1c5c0308b290eae5b537458779134c9b65745878b7778c/UASetup%202.png?cb=deb1848006208ef677d69596314ffeff)

## **Vary the Height**

Whether you're attaching the Anchors to the wall, ceiling, or tripods, altering the height of at least one of the Anchors helps ensure great performance. Using a wide variety of Anchor placements creates spatial diversity into the Anchor layout. This eliminates mathematical ambiguity during calibration and positioning, and is an important element when creating your Anchor layout.

## **Avoid Blockages**

If a direct LOS can't be established between the Mobile and an Anchor, reliable communication between the two cannot be maintained. If blockages are present within the deployment area, consider attaching an Anchor to the obstacle. Keep the Anchors visible and easily noticeable instead of hiding them.  
![image-20240823-202820.png](https://infocentre.zerokey.com/__attachments/a_cfdb0b08c8fb8701937687ccbcc0280b85c63bb5c58c44e3fc5a0aecdc7d6b58/image-20240823-202820.png?cb=3e28ef1b95dcd2580c7e310a0948a681)

## **Steer Clear of Straight Lines**

Lastly, avoid installing Anchors in long straight rows where there is no variation in vertical or horizontal mounting locations. If Anchors are installed in straight, singular lines, it's unlikely that calibration or positioning will be successful due to the limited spatial diversity.

---
language: "en"
---
# Anchor Placement Fundamentals

Correct Anchor placement is the foundation for ensuring that your positioning system is operating as expected. Failing to adhere to the requirements outlined in this article will result in the system not functioning properly.

## **The Rule of 4**

ZeroKey's positioning system requires that a Mobile maintains a continuous line of sight to at least 4 Anchors at all times. This requirement, known as the **Rule of 4**, should be the primary consideration when planning your Anchor installation.

Each ZeroKey Mobile transmits an ultrasonic pulse that is detected by nearby Anchors. When the Mobile is blocked and the line of sight is broken, its position becomes less reliable.  
![image-20240823-201500.png](https://infocentre.zerokey.com/__attachments/a_421892496a1921d71c32f6f57e15a2ab9198d74691921650d6d3db836d690ace/image-20240823-201500.png?cb=af4528712e7534c5b2b485e1f3859505)

If the ultrasonic pulse from the Mobile is detected by more than 4 Anchors, it adds redundancy to the position update, allowing the system to report the Mobile's location with greater confidence. Installing Anchors to maintain a continuous line of sight from at least 4 Anchors ensures consistent and reliable position updates.  
![image-20240823-201616.png](https://infocentre.zerokey.com/__attachments/a_1117306dfe1bf01e3b5dadc0066908d6ceca4956777ce7bebdbb7e0bea94760f/image-20240823-201616.png?cb=017408e20146d84fff0647f552b407fe)

![image-20240819-192139.png](https://infocentre.zerokey.com/__attachments/a_95197eea366f6d256ddc66e8e10991ed43f9f43f35c101a6701a8b1d480fc909/image-20240819-192139.png?cb=53dc567afcb1634e8fae9396d65aa6d7) **RULE OF 4:** A continuous line of sight from the Mobile to 4 Anchors is required at all times to maintain positioning.

## **Prioritize High Placement with a Clear Line of Sight (LOS)**

When installing Anchors, choose elevated locations that provide a clear line of sight to the tracked space. This reduces blockages and ensures an unobstructed line of sight between the Mobile and Anchors.

## **Increase Anchor Density**

In environments where obstacles block the line of sight to the Mobile, increase the number of Anchors to compensate for limited visibility. Consider placing Anchors on the obstacles themselves to help maintain a clear line of sight to the Mobile.

## **Spatial Diversity**

Enhancing positioning performance relies on diversifying the Anchor layout. A varied Anchor placement eliminates mathematical ambiguity during the calibration and positioning process, leading to highly accurate Mobile position tracking.

* Vary the height of at least one Anchor by 50 cm.

* Do not install Anchors in long, straight lines. Instead, stagger their positions to increase spatial diversity.

## **Leverage Hardware Features**

ZeroKey's Power over Ethernet (PoE) and Universal Anchor mounts are designed to direct coverage toward the tracked space. This added functionality helps improve coverage in areas that need extra attention.

PoE Anchors are equipped with a rotatable transducer that should be pointed towards the area of interest by applying light pressure on the blue ring around the transducer.  
![image-20240823-201726.png](https://infocentre.zerokey.com/__attachments/a_d8ef80ac5804fe3c2603edc3b8fe6f08e1c73f2dae2331d3dfa8fde85cb52896/image-20240823-201726.png?cb=0e0b25d2751dff634605a259547c37f2)

Universal Anchors can be installed using adjustable mounts, allowing you to angle the Anchor towards the tracked space.  
![image-20240823-201832.png](https://infocentre.zerokey.com/__attachments/a_517267b887f1da16af92189d6de7c44750378ff026a6ff7c4a2bbed481866f9b/image-20240823-201832.png?cb=9e81d7b9c88b385506118334a1eb38b2)

---
language: "en"
---
# Applying a Spatial Intelligence Platform (SIP) License Key

The **Licenses** menu in the dashboard allows you to activate a license, which is essential to fully utilize the features and capabilities of ZeroKey software. Without a valid license, access to some functionalities will be limited. Licensing ensures compliance with the terms of service and helps maintain authorized usage.

## **Getting Started**

Once you're logged in, navigate to the **License** tab on the left side of the screen.

## **Activating an Online License Key**

Click **+ Activate Online License Key** to enter a license key provided by the ZeroKey support team. The activation process is completed online by connecting to the ZeroKey server to validate and register the key. Then, click **Submit** to apply the key directly to the system.  
![image-20240826-220751.png](https://infocentre.zerokey.com/__attachments/a_3c9d1bcf4db794a742e602fc8908776adf2e607ad639cd7dc18ba95f5d6de904/image-20240826-220751.png?cb=13463491cb4659ad1a98ce84cf29051e)

## **Uploading an Offline License File**

If an internet connection isn't available or you prefer a manual activation process, the ZeroKey support team will provide an offline license file. Uploading this file to the system will activate the license.

Click **+ Upload Offline License File** to open a window. Under **Actions** , click **Upload License** to enter an offline license file. Then, click **Submit** to apply the key directly to the system.  
![image-20240826-220817.png](https://infocentre.zerokey.com/__attachments/a_3946a5e904c7c4c7cd9e2741ed6508c350121991d150b36fdfa7e77499143840/image-20240826-220817.png?cb=db2352599aa9f333846fd6953499bb57)

## **Using the Search Bar**

The search bar allows you to quickly find licenses by entering relevant keywords. This is especially useful for managing multiple licenses. Click the refresh icon to the right of the search bar to refresh the list.  
![image-20240826-220918.png](https://infocentre.zerokey.com/__attachments/a_504c73fdf6c8d43dbd88aba272d0fedee47b427f8d4eeee43b978ad895ab4392/image-20240826-220918.png?cb=d05ab5a12cd494aeb5b1fb1c0c4f3f39)

## **Understanding the License Table**

The table displayed in this page provides details about active licenses:

* **Key:** Displays the unique license key for ZeroKey software, a distinct string of characters for each license.

* **ID:** Shows the unique identifier for the license.

* **Status:** Indicates if the license is**VALID** or **EXPIRED**.

* **Expiry Date:** Lists the expiration date of the license.

![image-20240826-221219.png](https://infocentre.zerokey.com/__attachments/a_a74a8f6e125cec90f7eab18e3d098799019f6a589cdfddccfe0cc368a87d9c5b/image-20240826-221219.png?cb=c412ac44075bfd5bf39ce7775e07b180)

---
language: "en"
---
# ASP.NET Core Runtime Requirements

To ensure optimal performance and compatibility with our API, ZeroKey requires the latest version of the ASP.NET Core Runtime. The minimum supported version is ASP.NET Core Runtime 7.

## **Why Upgrade to the latest ASP.NET Core Runtime?**

* **Enhanced performance and security**: The latest version includes optimizations and security updates that improve API efficiency and data protection.

* **Full compatibility with ZeroKey API**: Our API is built and tested on the latest ASP.NET Core, ensuring easy integration and reliable performance.

* **Access to new features**: The latest version introduces new features and functionality that are designed to streamline and improve user experience when interacting with ZeroKey API.

## **Upgrading Your ASP.NET Core Runtime**

If you're not using version 7 ASP.NET Core or higher, download and install the latest runtime to prevent compatibility issues.

* Visit <https://dotnet.microsoft.com/en-us/download> and follow the steps to download and install the latest version.

## **Confirm Your Version**

Once the installation is complete, confirm the runtime version by opening the command prompt or terminal and type in the following command:

`dotnet --list-runtimes`

This command will display the latest installed version as:

`Microsoft.AspNetCore.App 8.x.x.`

Using the latest ASP.NET Core Runtime ensures that you are fully aligned with ZeroKey's API requirements.

---
language: "en"
---
# Browser Requirements for the ZeroKey Dashboard

This article outlines the supported web browsers and settings required to run the ZeroKey Dashboard.

## **Supported Browsers**

* Microsoft Edge - v90 or later

* Google Chrome - v90 or later

## **Unsupported Browsers**

* Mozilla Firefox

Mozilla Firefox is not supported. Users attempting to access the ZeroKey Dashboard with Firefox may experience unexpected behavior or degraded functionality.

## **Browser Configuration**

Please ensure the following configurations are enabled in your browser:

* **JavaScript -**The Dashboard relies on JavaScript for core functionality, including real-time data visualization and user interactions.

* **Cookies -**The Dashboard uses cookies for session management and user authentication.

* **Pop-Ups -**Certain features, such as report generation and external links, may open in new windows.

* **Hardware acceleration -**Required for improved rendering performance, particularly when viewing the 3D visualization features.

## **Enable Hardware Acceleration**

* **Google Chrome** -- Navigate to Settings -\> System and enable "Use graphics acceleration when available".

* **Microsoft Edge** -- Navigate to Settings -\> System and Performance and enable "Use graphics acceleration when available".

## **Troubleshooting**

If dashboard performance is degraded, the following troubleshooting steps should be attempted before contacting the ZeroKey Support Team.

**Clear Browser Cache and Cookies**

* Cached data may cause display or login issues after software updates.

**Network Restrictions**

* Firewalls or proxy servers may block required connections. Contact your network administrator if WebSocket connections are restricted.

**Browser Version**

* Ensure your browser meets the minimum version requirements listed above for either Microsoft Edge or Google Chrome.

**Windows Power Settings**

* Accessing the ZeroKey Dashboard from a mobile device such as a laptop running on Battery Power can automatically disable Hardware Acceleration which can cause degraded functionality.

## **Capture Browser Console Logs**

When contacting ZeroKey support, you may be asked to provide browser console logs. These logs contain diagnostic information that can help identify the cause of an issue.

To access and save console logs:

1. Open the ZeroKey Dashboard in your browser.

2. Press **'F12'** or **'Ctrl + Shift + I'**to open Developer Tools.

3. Select the Console tab.

4. Reproduce the issue.

5. Right-click anywhere in the console output and select Save As to export the log as a text file.

6. Attach the saved file to your support request.

---
language: "en"
---
# Calibration Technique

The calibration process for the ZeroKey QRTLS is an important step in achieving outstanding positioning performance. Follow the requirements closely and read our article [Calibrate Your System with the ZeroKey Calibration Wizard](https://infocentre.zerokey.com/articles/how-to-calibrate-your-positioning-system) for information about using the ZeroKey Config Tool during the calibration process.

Check out the calibration segment in our [Starter Kit Set Up](https://vimeo.com/1024927424?share=copy#t=3m18s) video for a quick overview of what the calibration looks like.

## **Calibration Requirements**

### **Mobile Placement**

Start the calibration with the Mobile on the ground in the tracked space.

* Ensure the Mobiles starting position offers a line of sight to a minimum of four Anchors.

* Placing the Mobile on the ground establishes the Z: 0.00000 coordinate.

* Once the Mobile is on the ground, step away from it to avoid blocking its line of sight.

### **Before Picking up the Mobile**

Once the calibration starts, wait a moment for the data collection to begin before picking up the Mobile.

* The ZeroKey Calibration Wizard will report an increased percentage of data collection for nearby Anchors once the calibration begins.

* Before picking up the Mobile, confirm that you're seeing an increase in the data collection.

### **Mobile Handling**

Hold the Mobile in your outstretched hand at shoulder height and remain in-motion throughout the calibration process.

* Once you've picked up the Mobile, extend it away from your body. This ensures that the Mobile maintains a clear line of sight to the Anchors.

* Try to limit the Mobiles movement in the Z axis during this time.

* Read our help article about [Mobile Handling During Calibration](https://infocentre.zerokey.com/articles/wip-needs-imagery-mobile-handling-during-calibrati) for more information.

### **Reduce Blockage**

Avoid blocking the Mobile with your body. Keep the Mobile between you and the center of the tracked space.

* Hold the Mobile with the hand closest to the center of the tracked space. This increases its visibility to the Anchors.

### **Know Your Path**

Navigate throughout the entire tracked space. Vary your path continuously as you walk inside the perimeter and through the interior of the area.

* Avoid repeating your path and introduce a variety of position data from the Mobile by covering the entire tracked area.

### **Anchor Percentage Top-Up**

As the data percentage for each Anchor nears completion, note any Anchors that require additional calibration.

* While keeping the Mobile in motion, stay in the vicinity of those Anchors until 100% data quality is achieved for all Anchors.

* Create a Device Map to help you understand where each Anchor is located. Read our help article on [Creating a Device Map](https://infocentre.zerokey.com/articles/getting-started) for more information.

### **Finalize Calibration**

Once 100% data quality is achieved, you may continue walking through the space for an additional 10-30 seconds.

* While this step is optional, extending the duration of the calibration will provide more data for system processing.

### **Finishing Position**

Place the Mobile on the ground within the tracked space before moving the next step in the calibration process.

* Once Step 4 of the ZeroKey Calibration Wizard is in progress, pick up the Mobile to ensure that it isn't damaged or lost.

---
language: "en"
---
# Care and Maintenance for Dot Mobile

## **Battery**

Each Dot Mobile (QTM-DMC10) contains a coin cell battery. Here's what you need to know about replacing the single-use battery:

* **Battery life**: The device can operate up to 96.5 weeks using an ultra-compact coin cell battery (2032).

* **Battery replacement**:

  * Remove the panel on the back of the device by rotating it counter-clockwise.

  * Insert the battery with the positive side facing up.

  * Secure the panel by rotating it clockwise.

![Dot.47-20240911-164743.png](https://infocentre.zerokey.com/__attachments/a_bc92ae8bf65402a2d6eb37224dbc02b0027d892d0e4770dd78d2a944d7d15737/Dot.47-20240911-164743.png?cb=ab493fcc40e588ce34962be1889a0c71)
QTM-DMC10

## **Repairs and Disposal**

Devices that are damaged or fail to operate can be returned for repair or replacement, with the following considerations:

* If the battery is physically compromised or found defective, remove the battery before shipping the device back to ZeroKey.

* If the device is intact but has stopped functioning, it can be returned via an RMA request. To start the replacement process, contact ZeroKey at the following email address: **support@zerokey.com**.

## **General Care**

Clean each device using a moistened soft cloth and nonabrasive hand/dish soap. Do not immerse the device in water, as it will damage the internal components and render the device inoperable. Wipe dry to prevent moisture buildup.

Each device operates effectively within a temperature range of -20°C to 60°C ambient.

Avoid placing a device in direct sunlight for extended periods without proper ventilation, as it may exceed the 60°C temperature limit.

---
language: "en"
---
# Care and Maintenance for Universal Devices

## **Charging**

Each Universal Anchor (QTM-UAR10) and Mobile (QTM-UMR10) contains a rechargeable lithium-polymer battery. Here's what you need to know about charging:

* **Charging time**: Each device takes 5 hours to fully charge.

* **Power**: Only use the supplied charger and cable to recharge the device. Use of another charger could cause damage or impair the device.

* **Indicator**: While charging, the LED indicator will remain red and will turn off when charging is complete.

* **Temperature monitoring**: The device will only charge in an ambient temperature between 0°C and 45°C.

![image-20240823-203023.png](https://infocentre.zerokey.com/__attachments/a_31c3f8b3ee438f0264cb20359f4e433d6b576690b1b90d75becd04f92e6aedf7/image-20240823-203023.png?cb=11d5102011b85c3ce8696c2f20ec9385)
QTM-UAR10 and QTM-UMR10

## **Repairs and Disposal**

Devices that are damaged or fail to operate can be returned for repair or replacement, with the following considerations:

* If the battery is physically compromised or found defective, the device cannot be legally shipped by any carrier.

* If the device is intact but has stopped functioning, it can be returned via an RMA request. To start the replacement process, contact ZeroKey at the following email address: **support@zerokey.com**.

## **General Care**

Clean each device using a moistened soft cloth and nonabrasive hand/dish soap. Do not immerse the device in water, as it will damage the internal components and render the device inoperable. Wipe dry to prevent moisture buildup.

Each device operates effectively within a temperature range of -20°C to 60°C ambient.

Avoid placing a device in direct sunlight for extended periods without proper ventilation, as it may exceed the 60°C temperature limit.

---
language: "en"
---
# Care and Maintenance for Wristband Mobile

## **Charging**

Each Wristband Mobile (QTM-DWR10) contains a rechargeable lithium-polymer battery. Here's what you need to know about charging:

* **Charging time**: Each device takes 4 hours to fully charge.

* **Power**: Only use the supplied charger and cable to recharge the device. Use of another charger could cause damage or impair the device.

* **Button/LED Indicator**: While charging, the LED indicator will remain red and will turn off when charging is complete.

* **Temperature monitoring**: The device will only charge in an ambient temperature between 0°C and 60°C.

![Wristband-band 5 NS copy-20240911-164411.png](https://infocentre.zerokey.com/__attachments/a_c7be1f6b224bae65a9375dc39b79f02448395519eb763cd7f388c639ae9967f9/Wristband-band%205%20NS%20copy-20240911-164411.png?cb=3abee9be4ab50b194aab112ab2760d1c)
QTM-DWR10

## **Repairs and Disposal**

Devices that are damaged or fail to operate can be returned for repair or replacement, with the following considerations:

* If the battery is physically compromised or found defective, the device cannot be legally shipped by any carrier.

* If the device is intact but has stopped functioning, it can be returned via an RMA request. To start the replacement process, contact ZeroKey at the following email address: **support@zerokey.com**.

## **General Care**

Clean each device using a moistened soft cloth and nonabrasive hand/dish soap. Do not immerse the device in water, as it will damage the internal components and render the device inoperable. Wipe dry to prevent moisture buildup.

Each device operates effectively within a temperature range of -20°C to 60°C ambient.

Avoid placing a device in direct sunlight for extended periods without proper ventilation, as it may exceed the 60°C temperature limit.

---
language: "en"
---
# Change the Messaging Frequency for Location Updates in MQTT

Configure the MQTT settings in the dashboard. Establish an MQTT connection and adjust the update rate of messaging frequency.

## **Step 1: Accessing the MQTT Settings**

Start by navigating to the **MQTT Settings** tab, located under the **Integration** tab in your ZeroKey dashboard interface. Once there, delete or disconnect any existing MQTT connections to avoid conflicts. Then, proceed with creating a new connection. Please note that each MQTT broker can only support one connection at a time for managing message frequency.

## **Step 2: Looping Raw Location Data**

* In the **Add Connection**window, provide the following details:

* **Host\*:**Enter the IP address of your broker.

* **Port\*:** Enter *1883* as the port number.

* **Topic Title\*:** Enter the topic name you configured for your MQTT broker.

* **Username/Password:** Not required unless they were previously set up in an MQTT broker.

* **TLS:** Leave this at **No**.

Next, add a filter to ensure only the correct messages are transmitted**:**

* In the **Filter** section, leave the **Filter Template** dropdown selection set to **-- None --**.

* In the **Selector\*** field, enter *Type* **.**

* In the **Match\*** field, enter *LOCATION_FILTER_UPDATE* **.**

* Ensure that **Type\*** is set to **string**to filter string-based messages.

* Leave the **Invert** box unchecked.

Once complete, click **Submit** to apply the settings.

## **Step 3: Adjusting the Quality of Service Settings**

After the MQTT settings are configured, you will need to updateadditional settings to control the message rate. Follow the steps below:

1. Go to the **Quality of Service** section in the **Integration** tab.

2. Enable the **Rate Limit** setting.

3. Set the **Message Rate** to your desired value (between 1 and 20).

4. Leave Batch Messages set to **No**. Only the most recent update messages are required.

Save your configuration by clicking the **Submit** button.

## **Message Rate**

The following video displays the output given by the system if **Message Rate** is set to 1 Hz.
[1Hz Update Rate.mkv](https://infocentre.zerokey.com/__attachments/a_3867f58e9094f7ba5d8dbf28f22522ae1f5e78e1977ec5104ae63946ac5209ee/1Hz%2520Update%2520Rate.mkv.md)
1Hz Update Rate

The next video displays the output given by the system if **Message Rate** is set to 20 Hz.
[20Hz Update Rate.mkv](https://infocentre.zerokey.com/__attachments/a_4cf63bceb200d56f0070596247b070818463c1a9ed8eb3a3d51d33e9bc18665e/20Hz%2520Update%2520Rate.mkv.md)
20Hz Update Rate

---
language: "en"
---
# Changes in the Mobile Body Frame from Quantum RTLS 1.0 to 2.0

## **The Old Quantum RTLS 1.0 Body Frame Definition**

The body frame of the Mobile was oriented with the button pointing in the direction of the positive Y-axis and the positive X-axis pointing straight ahead when the Mobile was held with the ZeroKey name facing correctly.  
![image-20240823-223915.png](https://infocentre.zerokey.com/__attachments/a_18a2d7fcc59d0c43f96f57de9cfc6e12edfddfa4ca935fd507d2a42c5ff8bf8c/image-20240823-223915.png?cb=5705403c0e092a4733c94a86be4312c8)

## **The New Quantum RTLS 2.0 Body Frame Definition**

To simplify the identification of the axes for the Mobile Body Frame, the definition has been updated starting with firmware version 2.0.0. Now, the button indicates the positive X-axis direction, and the USB port indicates the positive Y-axis direction.  
![image-20240823-224003.png](https://infocentre.zerokey.com/__attachments/a_1bec8ef3316ee24c311718b4d4d3bb83162caa8bdab7708f7792722a88e15ce3/image-20240823-224003.png?cb=e261371fd4d4acac29f3f874f4c9653c)

---
language: "en"
---
# Changing your System's RF Channel

## **Radio Frequency (RF) Channels**

ZeroKey hardware operates within the 2.4 GHz ISM radio band for communication between devices. To prevent interference among competing devices, it is important to establish clear transmission paths between Anchors, Mobiles, and Gateways. Channels 2 to 81 are available for system operation, and the positioning system can be configured to use the clearest channel recommended by the system.

### **Channel Scan**

In the ZeroKey Config Tool, located under the **Wireless Settings** tab, the **Channel Scan** feature allows you to use the Gateway to survey the RF environment. The system will then provide a recommended RF channel for system operation. This helps to ensure clear communication between all ZeroKey hardware.  
![image-20240719-224055.png](https://infocentre.zerokey.com/__attachments/a_84bb23be4a156de5fe915409e4981fcb101b95c7ebf1e2fe89da2c6524ee674e/image-20240719-224055.png?cb=b3daef2f3b2b7dd3c45f8752e9c100fc)

To run the **Channel Scan**:

1. Ensure the Gateway is connected to your PC. Connect it in the Config Tool using the dropdown menu in the top-right corner. Select the Gateway and click **Connect**.

2. Navigate to the **Advanced** tab, click **Channel Scan**, and wait for the scan to complete. The scan should only take a few seconds.

3. The system will recommend an RF channel based on the surveyed RF data. This output will look like the following:

   `[2024-03-10T19:48:12.9455] COM29: |I| scan_all_channels: Recommended channel: 77 with average noise RSSI over -80 dBm: 0.55%`

4. In this scenario, the system recommends RF channel 77 as the optimal choice for RF communications. Although running the scanning process multiple times may yield different channel recommendations, it's advisable to take note of each recommendation. If a channel is recommended more than once, it's best to use that channel.

## **Connected Node Channel Change**

Connect each Anchor, Mobile, or Gateway to your PC for direct RF channel configuration.

The**Connected Node Channel Change** feature allows you to select your preferred RF channel for the connected device. Use the recommended channel from the **Channel Scan** steps to determine the best channel for system operation before starting this process.

1. Connect a device to your PC using a USB cable and connect it in the Config Tool using the dropdown menu in the top-right corner. Select the device and click **Connect**.

2. Enter the recommended channel in the text field and click **Connected Node Channel Change**.

3. Disconnect the device and repeat step 2 for every remaining device to ensure that all hardware is operating on the same channel.

4. Connect the Gateway and navigate to the **General** tab. Click **Start Discovery**.

5. Allow the discovery process to run and confirm that all expected Anchors and Mobiles are announcing.

6. Click **Stop Discovery**.

## **Reset Connected Device Channel**

The RF channel on ZeroKey hardware can be reset to the firmware default settings. This default channel is channel 50.

1. Connect a device to your PC using a USB cable and connect in the Config Tool using the dropdown menu in the top right corner. Select the device and click **Connect**.

2. Click **Reset Connected Device Channel**.

3. Disconnect the device and repeat steps 1 and 2 for each remaining device.

4. Connect the Gateway and navigate to the **General** tab. Click **Start Discovery**.

5. Allow the discovery process to run and confirm that all expected Anchors and Mobiles are announcing.

6. Click **Stop Discovery**.

---
language: "en"
---
# Commonly Used Terms with ZeroKey's QRTLS

This guide provides clear definitions of commonly used terms within the context of ZeroKey's Quantum RTLS.

## **Anchor**

A ZeroKey device that is a stationary reference point for localizing the Mobile.

*For more information, consult our Info Center article:* [*Select the Right ZeroKey Anchor for your Deployment*](https://infocentre.zerokey.com/articles/selecting-the-right-zerokey-anchor-for-your-deploy)

### **Anchor Density**

The quantity of Anchors deployed in a specific environment to provide reference points for localizing Mobiles.

*For more information, consult our Info Center article:* [*Anchor Placement Fundamentals*](https://infocentre.zerokey.com/articles/anchor-placement-fundamentals)

### **Anchor Layout**

The arrangement or configuration of Anchors within a tracking environment.

*For more information, consult our Info Center article:* [*Anchor Layouts for Starter Kits*](https://infocentre.zerokey.com/articles/anchor-layouts-for-starter-kits)

### **Application Programming Interface (API)**

The software middleman that enables communication between two applications.

*For more information, visit our API guide:* <https://api.zerokey.com/v3>

### **Calibration**

The process by which the ZeroKey Anchors, a ZeroKey Mobile, and a ZeroKey Gateway communicate to define a coordinate system.

*For more information, consult our Info Center article:* [*How to Calibrate your Positioning System*](https://infocentre.zerokey.com/articles/how-to-calibrate-your-positioning-system)

### **COM Port**

A hardware interface that enables connection to external devices for data transfer.

### **Config Tool**

The ZeroKey GUI that is used to calibrate and operate the Quantum RTLS system.

*For more information, consult our Info Center category:* [*Config Tool*](https://infocentre.zerokey.com/articles/features)

### **Coordinate Transformation**

The process of converting the coordinates in a map from one coordinate system to another through rotation or scaling.

*For more information, consult our Info Center article:* [*Utilize Coordinate Transformation in the Config Tool*](https://infocentre.zerokey.com/articles/utilizing-coordinate-transformation-in-the-config-)

### **Daisy Chain**

Daisy chaining involves connecting multiple devices in a sequence, allowing for shared power and communication. In ZeroKey's ecosystem, Power over Ethernet (PoE) Anchors are connected using the daisy chain method.

### **Device Firmware Update (DFU)**

The hardware state whereby the ZeroKey Anchor, Mobile, or Gateway enter a pairing state, ready to receive a firmware update.

### **Device Log**

The output from all calibration and positioning data as well as configuration and settings information from each device.

### **Device Map**

A detailed plot depicting the location of each Anchor within a tracked space. Each Anchor location is labelled with the corresponding Anchors MAC address.

*For more information, consult our Info Center article:* [*Creating a Device Map*](https://infocentre.zerokey.com/articles/creating-a-device-map)

### **Discovery**

The proprietary process by which ZeroKey Anchors and Mobiles are brought out of a battery saving dormant state into an active state using Radio Frequency (RF) communication.

### **Distance Measurement Tool**

The interface embedded in the Config Tool that enables the measurement of the distance between two Mobiles within a tracked space.

*For more information, consult our Info Center article:* [*How to use the Distance Measurement Tool*](https://infocentre.zerokey.com/articles/how-to-use-the-distance-measurement-tool)

### **Firmware Update Tool**

The ZeroKey GUI that is used to apply firmware updates or downgrades to ZeroKey Anchors, Mobiles and Gateways.

*For more information, consult our Info Center article:* [*Updating and Downgrading ZeroKey Firmware*](https://infocentre.zerokey.com/articles/updating-and-downgrading-zerokey-firmware)

### **Gateway**

The ZeroKey device that acts as a communications link between Anchors and Mobiles and transmits calibration and positioning data through a wired connection.

### **Home Run**

A direct wiring method where a single cable runs directly from a power source to an Anchor.

### **INS Fusion**

The process of combining ultrasonic and inertial measurement data to achieve higher quality position accuracy

### **Line of Sight (LOS)**

A straight line along which a Mobile has an unobstructed view to an Anchor.

*For more information, consult our Info Center article:* [*Anchor Placement Fundamentals*](https://infocentre.zerokey.com/articles/anchor-placement-fundamentals)

### **MAC Address**

A MAC address is a unique code assigned to a device's network interface for identifying it on a network.

### **Mobile**

A ZeroKey trackable device in the form of a Universal Mobile, Wristband, Dot or Wearable Tag.

*For more information, consult our Info Center article:*

### **Mobile Body Frame**

The body frame is an orthogonal axis set which is aligned with the roll, pitch, and heading axes of the carrier where the IMU is mounted.

*For more information, consult our Info Center article:* [*Mobile Body Frame in the ZeroKey Quantum RTLS*](https://infocentre.zerokey.com/articles/mobile-body-frame-in-the-zerokey-quantum-rtls)

### **Multipath**

Refers to signals reaching a receiver via multiple paths due to reflection or scattering.

### **Power Allowance**

The maximum permitted electrical power for a device.

### **Power Source**

The central point where electrical power is distributed to Anchors such as a power injector or PoE switch.

### **Range**

The distance calculated between a Mobile and an Anchor.

### **Solve**

The Anchor coordinate system produced by the Config Tool based on data collected during calibration.

### **Terminal Input**

The text input line in the Config Tool or any USB serial terminal.

### **Transducer**

A mechanical device that generates sound waves from electrical energy.

### **Ultrasonic Pulse**

A vibration that is generated when an electric current is applied to a transducer that produces a frequency greater than 20 kHz. ZeroKey devices produce a 50 kHz pulse.

---
language: "en"
---
# Conducting RF Scans to Find a Clear Channel

Conduct radio frequency (RF) scans to optimize ZeroKey's wireless communications, ensuring minimal interference and maximum performance.

RF scans involve scanning a range of frequencies to gather data on signal strength and noise levels. You can complete these steps at any point in time, whether it's before or after calibration or positioning.

## **Initiating the RF Scan**

1. Connect a Gateway to your PC and connect it in the Config Tool.

2. In the Config Tool, click on the **Advanced**tab.

3. Click on **Channel Scan** to begin scanning across RF channels.

![image-20240823-211609.png](https://infocentre.zerokey.com/__attachments/a_595530c034757f54653df686477da18ba888273ad3524b6e001cdc35a4259c2c/image-20240823-211609.png?cb=3a53658c766735e360826c713980be67)

## **Finding the Recommended Channel**

1. After the scan, check the **Device Log** for the recommended channel suggested by the system. The entry should look similar to the following:

   `scan_all_channels: Recommended channel: 75 with average noise RSSI over -80 dBm: 0.02%`

2. In this instance, channel 75 is identified as the recommended channel, indicating that the system identified it as the least congested among all scanned channels.

---
language: "en"
---
# Configure the Ethernet Ports on the Edge Compute Device (ECD)

Establish a connection between the ZeroKey Edge Compute Device (ECD) and a company network using basic network configuration in the ZeroKey dashboard. Proper setup ensures efficient management and network continuity.

## **Dashboard Log In**

Before starting your ECD network configuration, log in to the dashboard. For more information about logging in, visit our help article [Logging into the ZeroKey Dashboard](https://infocentre.zerokey.com/articles/logging-into-the-zerokey-dashboard).

## **Network Settings Menu**

Access all ECD **Network Settings** under the **System** tab in the dashboard.

## **Ethernet Ports**

The ethernet ports are located on the backside of the ECD. In the dashboard the **Ethernet Port** menu allows you to configure each port:

**Standard Ethernet Port:**This port is reserved for the ZeroKey Anchor network connection.

**Ethernet Port 2.5G:**This port is reserved for the company network connection.

## **Network Configuration**

**DHCP Mode:** Automatically assigns IP addresses and subnet masks via the DHCP server (usually the router). This makes DHCP Mode ideal for environments that require dynamic IP allocation.

**Static Mode:** This mode requires that you manually input an IP address and subnet mask according to the network's requirements. This makes Static Mode useful for networks with fixed IP address ranges.

## **Recommended Settings**

**Ethernet Port 2.5G:** Set to DHCP mode for a dynamic IP assignment when connected to the company network.

**Standard Ethernet Port:** Configure as the DHCP server with a static IP to manage local devices, allowing connected devices (e.g., PoE Anchors) to automatically receive IP addresses. Ensure the assigned IP is not the same as the company network.

---
language: "en"
---
# Configuring MQTT Settings

Configure and save a new connection to the MQTT broker.

## **Adding a New Connection**

In the ZeroKey Dashboard, navigate to the **Integration** tab and click **MQTT Settings** . Then, click the **+ Add Connection** button on the top right corner of the page.  
![image-20240823-214546.png](https://infocentre.zerokey.com/__attachments/a_ec03cd6aeceff12341b72901face85ee319d093a190cbb2f4fd1f591e96f20b4/image-20240823-214546.png?cb=2be98ab4bfcca8e3cd341c5996b2424f)

A window will then pop up, prompting you to enter the following details:

1. **Host (required):**

   * Enter the hostname or IP address of the MQTT broker.

2. **Port (required):**

   * Enter the port number in which the MQTT broker is listening. The default MQTT port is 1883. If you're using TLS, which is encrypted traffic, the default port is 8883.

3. **Username (optional):**

   * Enter your username if the MQTT broker requires authentication. If authentication is not required, leave it blank.

4. **Password (optional):**

   * Enter the corresponding password.

5. **TLS (optional):**

   * Select**Yes** if the connection is secured using TLS. Otherwise, select **No** .

     Note: If TLS is required, ensure to use the default port (1883) to successfully establish a connection.

6. **Topic (required):**

   * Enter the MQTT topic that this connection will subscribe or publish messages to.

7. **Filter (required):**

   * When setting up a new connection, you can define advanced message filtering rules to process only specific data based on the requirements. The filtering rules utilize selectors and matching criteria.

     1. Under **Filter Template** , you can select a predefined template to automatically configure filters based on the most used by other users. If you want to select one of the predefined templates, click the dropdown menu under **Filter Template** and select one of the predefined rules. If you prefer to set your own rules, select **None**.

     2. The **Selector** defines the criteria of the message that will be checked by the filter.

     3. The **Type**allows you to choose between string (the filter will look for a specific string within the data) and regex (the filter will apply regular statements to the message content to determine matches).

8. **Add Child:**

   * This function allows the ability to add more filter criteria to the current filter.

9. **Add Filter:**

   * This function allows the ability to add the defined filter to the connection settings.

10. **Add Topic:**

    * This function allows the ability to add more topic fields to enable the connection to handle multiple topics at once.

After filling out the required fields, click the **Submit** button located on the bottom right corner.  
![image-20240823-214654.png](https://infocentre.zerokey.com/__attachments/a_bfae1ac37e89f61551549ad25a44dedfe4fe5b4b9e14070648677694fb622d33/image-20240823-214654.png?cb=70189a1dba5184ae15b6dc73fe35996e)

You will then see the connection added in the **MQTT Settings** tab.  
![image-20240823-214752.png](https://infocentre.zerokey.com/__attachments/a_50ebc86403563f622c1cc5b206bbfdefeb1f7451028b2d0494cba2c2b8b7441e/image-20240823-214752.png?cb=90fe2ab22388205f7d2f35451def3a2a)

## **Connection Management Options**

After successfully adding an MQTT connection, you can either edit or delete the entry.

### **Editing the Connection:**

* To adjust the current MQTT settings, click the pen icon located to the right, as shown below.

### **Deleting the Connection:**

* To delete the connection, click the bin icon -- also shown below.

  * A confirmation prompt will pop up to ensure that removal is intentional. Click**Cancel** to abandon the deletion process and **Confirm** to permanently delete the connection.

![image-20240823-222239.png](https://infocentre.zerokey.com/__attachments/a_8b49ef38d41aa99ddbd12cb1b51cc521d0a0226539a0092d5f28fd5806c9fd7c/image-20240823-222239.png?cb=29d7cf83fa6de4a20f8375c12b42ffdc)

---
language: "en"
---
# Connecting to the Edge Compute Device (ECD)

The Edge Compute Device (ECD) can be configured to support different networking requirements. Connect wirelessly or add the ECD to your wired network.

## **Connecting to the ECD through AP Mode**

Your ECD comes preconfigured to connect using AP mode.

![image-20241025-164903.png](https://infocentre.zerokey.com/__attachments/a_ec3748356567a30851cd4d51723cf65ad50c11851205163fcc779f61481d9a4a/image-20241025-164903.png?cb=aa70b59e74c086b61a5d298043306dd1)

When AP Mode is enabled, the ECD broadcasts a dedicated wireless network that your PC can connect to directly. Note that when your PC is connected to the ECD via AP mode, it will lose access to all other networks, including the internet.

**Connection Steps**

Once the ECD is powered on, AP mode will be enabled by default, and it will begin broadcasting the wireless network identified by the SSID.  
![image-20240830-192842.png](https://infocentre.zerokey.com/__attachments/a_6ff52e354c61a3db0f6c1ecf9174e36b120db17420c44b3e43970dc86330bf20/image-20240830-192842.png?cb=45d67acaf36497bafac6849461a9216d)

1. Navigate to the Wi-Fi settings on your PC.

2. Locate and select the network broadcasted by the ECD, ***QuantumRTLS*** . Note that the serial number of the ECD follows the ***QuantumRTLS*** in the network name.

3. Enter the password ***SpatialIntelligence***.

**Navigating to the Dashboard Log-In**

1. Open a web browser.

2. Enter the following address: ***https://\<serialnumber\>.edge.zerokey.com***

   Replace ***\<serialnumber\>*** with the serial number of your ECD.

## **Connecting the ECD to a Network**

The ECD provides flexibility with two Ethernet ports: a standard port and a 2.5G Ethernet port. Select the port that best meets your network needs.  
![image-20240823-223725.png](https://infocentre.zerokey.com/__attachments/a_684c42056a0112a31e23973dc3bf7441a317dbedfc4650784c4331c684359c8b/image-20240823-223725.png?cb=e0a3afb341ea345dde8afd6bb59686c6)

**Connection Steps**

1. Choose the Ethernet port that best meets your network needs and connect the ECD to the network using an Ethernet cable.

2. Connect a monitor (or any secondary display) to the ECD using an HDMI cable. This allows you to view the ECD's network information.

![image-20240821-205514.png](https://infocentre.zerokey.com/__attachments/a_137692e70804ef605fdb6c8de3afceab552964469346095185060d0ce1c4969c/image-20240821-205514.png?cb=ad68a242b984c24afa4aaf05c66cb86d)

**Navigating to the Dashboard Log-In**

1. Make sure your PC is connected to the same network as the ECD, either through Wi-Fi or an Ethernet cable.

2. Enter the IP address, displayed on the screen in green text, into a browser's address bar.

3. After the IP address, add ***:11000*** to specify the port. Then, press enter. This should resemble the following: **192.168.1.199:11000**.

---
language: "en"
---
# Connect Your ECD to an MQTT Cloud Server

Establish a connection from your ECD to a cloud-based MQTT server to enable data transfer between the two systems. Follow the steps below to set up and manage this connection.

## **Adding a New Connection**

In the ZeroKey Dashboard, navigate to the **Integration** tab on the left side and click **MQTT Settings** . Then, click the **+ Add Connection** button on the top right of the page.  
![image-20241108-223836.png](https://infocentre.zerokey.com/__attachments/a_315a5ed58b379dd72953a4aed2cff3367ad0cd593c509deecb3ebb57b595c8bd/image-20241108-223836.png?cb=94e1dbf0d012570107fce0c384fd02a2)

A window will pop up, prompting you to enter the following details:

1. **Host (required):**

   * Enter the hostname or IP address of the cloud MQTT broker.

2. **Port (required):**

   * Enter the port number used by the cloud MQTT server.

3. **Username and Password (optional):**

   * If your cloud MQTT broker requires authentication, enter the username and password.

4. **TLS (optional):**

   * Select **Yes** if the cloud MQTT connection requires encryption; otherwise select **No.**

**Note:** When TLS is enabled, ensure that you are using port 8883 to establish a secure cloud connection. Add a certificate or leave this field blank if you don't have one.

5. **Topic (required):**

   * Enter the MQTT topic that the cloud connection will subscribe or publish messages to.

6. **Filter (required):**

   * Set up filters to manage to manage messages based on specific criteria. For more information, check out our help article [Configuring MQTT Settings](https://infocentre.zerokey.com/articles/configuring-mqtt-settings).

Once the connection is configured, click the **Submit** button in the bottom right corner to save the cloud MQTT connection.

---
language: "en"
---
# Connecting the ZeroKey SIP to the Tulip FOP through the Event Hub

## **Introduction**

ZeroKey and Tulip Interfaces have partnered to integrate Quantum RTLS data with Tulip's no-code Frontline Operations Platform (FOP), enabling real-time connections between physical events and app logic. With Tulip's App Builder, you can trigger actions based on physical data.

This guide focuses on the Event Hub integration, which establishes a one-way data flow from ZeroKey's Spatial Intelligence Platform (SIP) to a Tulip Application, where you can filter the incoming data and use it to trigger events within the app.

## **Prerequisites**

* An existing Quantum RTLS deployment with ZeroKey SIP version 2.3.0 or higher.

  * To verify your SIP version in the dashboard, click the ZeroKey logo in the top left corner.

* A *Professional* or *Enterprise* subscription to Tulip Interfaces.

## **Obtain your Edge Compute Device's (ECD's) URL.**

In the dashboard, navigate to the **System** tab and go to the **Information** section. Here, you'll see values under **ECD Edge URL** , **ECD Cloud URL** , **ECD Serial Number** , and **Hardware Identifier**.

* If your Tulip devices and Quantum RTLS deployment are on the same network, use the provided **ECD Edge URL** to minimize latency by channeling the Event Hub data directly to the Tulip client over the local network.

* If your Tulip devices and Quantum RTLS deployment are not on the same network, use the provided **ECD Cloud URL** to make the Event Hub data available to your Tulip clients anywhere in the world.

![image-20240920-155950.png](https://infocentre.zerokey.com/__attachments/a_291dc37495ebf7f1a35d6a6ab0f3d00862edf4061a256ab7c34028a6c35b13a4/image-20240920-155950.png?cb=5a9bc98be424f7e48e2b86d96b4ababa)

## **Adding the ZeroKey Custom Widgets to Tulip**

Navigate to the **Custom widgets** page from your Tulip account settings. Click the three dots next to the **Create custom widget** button in the top right corner of the screen and click **Import** from the dropdown menu. Upload both the **ZeroKey SIP Data Source** and**ZeroKey SIP Event Trigger** . Once imported successfully, the **Custom widgets** will be available to add to any new or existing Tulip app by selecting the widget from the **Settings** tab in the App Builder.  
![image-20240920-164344.png](https://infocentre.zerokey.com/__attachments/a_04ba61ec9cbd702aac3cac1899321fb304cf57606b9f684d32f8bf69ab491343/image-20240920-164344.png?cb=75c33262fc4ae43739c4b717465a210d)

## **SIP Data Source Widget Connection**

The **ZeroKey SIP Data Source** widget is added to the base layout of a Tulip app and establishes the connection to your Quantum RTLS deployment for that app. Navigate to the **Base layout** menu, located on the left, and add the **ZeroKey SIP Data Source** widget by selecting it from the **Custom** dropdown menu, located at the top.  
![image-20240920-164724.png](https://infocentre.zerokey.com/__attachments/a_afe171587f87096d6e82a7e28fe9f78fe3d094f143b7c4641fe9bb70d57f3d51/image-20240920-164724.png?cb=295d772f93169535fa9053def0ee3501)

To authenticate the connection, you will need the **ECD Edge URL** from the previous step and your ZeroKey user credentials.

**NOTE:** These credentials are different from the ones used to log in to the dashboard. Please contact your ZeroKey representative to obtain your username and password. Alternatively, you can use an API key.

These values can either be entered directly into the **Custom** widget as static inputs or referenced from a Tulip Table, allowing them to be updated dynamically from outside the Tulip App.  
![image-20240920-164948.png](https://infocentre.zerokey.com/__attachments/a_83048b64f8e4be3095c319ac4f6b4f210dcb1ecaf1b4863e3bd8c4969a073901/image-20240920-164948.png?cb=fe34ecc93413d98bbaa92f19c30eb883)

## **SIP Data Source Widget Event Filters**

The **ZeroKey SIP Data Source**widget can be configured to receive one or more event types.

To optimize performance and reduce latency and CPU usage, it's recommended to receive only the event types that are necessary for your Tulip app. For each event category you want to use, select **Static Value** in the first field and enter *yes* in the second field. This ensures that only the required events are processed.  
![image-20240920-170146.png](https://infocentre.zerokey.com/__attachments/a_478f8877c0e8cec9948e06559ce83fd1291c2d8c0bb3bd9875c86c150a90444f/image-20240920-170146.png?cb=68cdc45bae55eeba2b7d0010048dff7b)

For further customization of the connection, you can use an **Additional custom filter string** for any supported filters available from the Event Hub API or an **Event Rate Limit** **(milliseconds)** to specify quality of service. Visit [api.zerokey.com](http://api.zerokey.com/) for full documentation on available filters.  
![image-20240920-170303.png](https://infocentre.zerokey.com/__attachments/a_05c4736fc593b1d65ef727bcfa8eab87b7729bed87b554ddae4569e509d9b72b/image-20240920-170303.png?cb=80af2da1e3d91f89de493766523bc1be)

## **Create a Trigger to Store SIP Event Data**

The **ZeroKey SIP Data Source** widget requires the use of a trigger to write the incoming data to a local app variable that is passed to the **ZeroKey SIP Event Trigger** widget on individual app step pages. In the **Custom** widget's options window, click the **+** next to **SIP_Event** under **Triggers** to open the trigger configuration window. Set up a trigger to store the **SIP_Event** data to a local app variable (**sip_event** in the example below).

Modify the trigger configuration to look like the following:

* **WHEN** `Custom Widget event occurs`

  **IF** `all` of the following conditions are met:

  **THEN** perform the following actions:

  `Data Manipulation` \| `Store` \| data: `Event` \| `SIP_Event`

  location: `Variable` \| `sip_event`

![image-20240920-170601.png](https://infocentre.zerokey.com/__attachments/a_eaf91c71460fc63b2f45399757dff2707ba80c01051ce109d5771d3ec191d3b6/image-20240920-170601.png?cb=f33a297428b549d4343ee743b8532399)

## **SIP Event Trigger Widget**

To trigger step-level events based on the incoming Event Hub data, the **ZeroKey SIP Event Trigger** widget can be added to an individual step page within the app by navigating to the page and selecting the widget from the **Custom** dropdown menu. Configure the **ZeroKey SIP Event Trigger** to receive the local app variable set up in the previous step under **SIP_Event** in the **Widget** tab.  
![image-20240920-171200.png](https://infocentre.zerokey.com/__attachments/a_4d413f3038074d5dcd3f62348153c210684235fc238aafc162c8f1601c97c2ea/image-20240920-171200.png?cb=ccf8d63f3d74f2dae9b121ff77f7cde5)

Within the custom widget, triggers are available for each of the common event types:

* **Position Example Trigger:** Sends position updates.

* **Zone Entry Sample Trigger:** Sends an update for zone entry.

* **Zone Exit Sample Trigger:** Sends an update for zone exit.

Toggle on these triggers to provide quick visual confirmation that the integration is working correctly. For example, you could write the last received position to a variable or display a message when a zone collision happens.  
![image-20240920-171622.png](https://infocentre.zerokey.com/__attachments/a_fccd9da059a9903f1065125f49861af68ad661cc133d96976d79976c670a7196/image-20240920-171622.png?cb=67cb88a602b75bd4ac124d79b244902d)  
![image-20240920-171641.png](https://infocentre.zerokey.com/__attachments/a_02f7258906584c481d55692d00cdc67d57d42e1934f7db38a10e01d60557d10f/image-20240920-171641.png?cb=6e57f948953877d242326e004c52a41a)

---
language: "en"
---
# Connecting the ZeroKey Zones API to Tulip Connectors

Integrate administrative capabilities, such as creating or deleting zones, into the Tulip Frontline Operations Platform using Tulip Connectors. The ZeroKey Zones Module Connector Suite offers prebuilt functionality for common features and is automatically installed when any ZeroKey Spatial MES Extension app template is added to your Tulip account. It can also be installed as a standalone package from the Tulip library.

This connector suite is intended to supplement the ZeroKey Custom Widgets by incorporating request-response access to common features of the ZeroKey API. For one way flow of real-time data into the Frontline Operations Platform such as using live position and zone events to trigger actions within an app, use the ZeroKey Custom Widgets to connect your app to your ZeroKey Event Hub.  
![image-20241112-210331.png](https://infocentre.zerokey.com/__attachments/a_d6f0bc92d051e7ccaf68694e5249384203aa7f1edc92414fdf8b6efe5967b559/image-20241112-210331.png?cb=20cb6e19a258f13191f839634234e8f7)

## **Prerequisites**

* An existing Quantum RTLS deployment with ZeroKey SIP 2.3.0 or higher.

  * To verify your SIP version in the dashboard, click the ZeroKey Logo in the top left corner.

* Connection of your Edge Compute Device to a network with unrestricted internet access.

* A *professional* or *enterprise* subscription to Tulip Interfaces.

## **Obtain your Edge Compute Device's (ECD's) Cloud URL**

In the ZeroKey dashboard, navigate to the **System** tab and go to the **Information** menu. Here, you'll see values in the **ECD Edge URL, ECD Cloud URL, ECD Serial Number** , and **Hardware Identifier** fields. For more information, read our help article [Edge vs Cloud Connection to the ZeroKey ECD](https://infocentre.zerokey.com/articles/edge-vs-cloud-connection-to-the-zerokey-ecd).  
![image-20241112-211603.png](https://infocentre.zerokey.com/__attachments/a_5c11879e9dade8413d9d26f8a3048d5815b29678e8b4de210e4321b3a560b765/image-20241112-211603.png?cb=ed8c31dd2dbb7bdf996c358258851936)  
Connection to the ZeroKey API through Tulip Connectors requires the Cloud URL. The ECD must be connected to a network with unrestricted internet access to ensure the API is accessible through Tulip's Cloud Connector Host.

## **Configure the Connector Environment Settings**

Begin by copying the ECD Cloud URL into the Server Address field within the Environment Settings pane, matching the exact formatting shown in the image below. Be sure to remove the **https://** before continuing.

* Confirm **TLS** is toggled to **Yes**.

* Select the **Use custom port** checkbox and enter **5001** as the chose port.

![image-20241112-211640.png](https://infocentre.zerokey.com/__attachments/a_3da1a5ae5d89cf1fa26482e9802f23e5ad76ddc8a3a4a55ffffc230e0e8c691e/image-20241112-211640.png?cb=fc9ba49853c98d5af7b8fe343f1dcaed)

## **Add your Edge Compute Device's (ECD's) API Key**

If you haven't already generated an API Key, read our article [Generating the API Key using Postman](https://infocentre.zerokey.com/articles/generating-the-api-key-using-postman) for information on how to obtain one. Once the API Key is generated, add it to the **Header** section within the **Environment Settings** pane as shown in the image below.  
Ensure that you use the API Key and not a Bearer Token in this field.  
![image-20241112-211736.png](https://infocentre.zerokey.com/__attachments/a_938715039e48390b17c1089d044d0f367ac5ffa09aedabd4780314a9766df802/image-20241112-211736.png?cb=48278cc8f832c2b13d17f285f885c2dd)

## **Test the Connection using Get All Device Information Connector**

Click on the **Get All Device Information** connector and click **Run**. Within the response body, you will see an array of objects corresponding to all the Mobile and Anchor devices connected to the system, as well as a status indicating that the request was successful. This confirms that your environment is configured successfully and ready to use.  
![image-20241112-211848.png](https://infocentre.zerokey.com/__attachments/a_f52f58bdd97e76e888da3a292b2c9ba7da7642822d5944d4ceec97a443b1c612/image-20241112-211848.png?cb=7a0f11d33c46d4a71f99547ed83c285b)

## **Example 1**

### **Creating a New Zone from within a Frontline Application**

A trigger tied to a Tulip button press event is a simple and easy way to create zones from right within a Frontline Application. The ZeroKey Zones Module Connector Suite currently supports the creation of spherical zones, which can be either static or centered around a ZeroKey Mobile device so that the zone can move throughout the environment following the device it is associated with, such as a forklift, AGV or other mobile equipment.

The following example demonstrates a trigger that will run the connector function to create a static zone with values tied to other app variables.  
![image-20241112-211940.png](https://infocentre.zerokey.com/__attachments/a_6dda1270d3ee9803310aeda9aaac81331a16ef1365825d5dbb5beafdeecce5ba/image-20241112-211940.png?cb=eff0d9b415c723c6a33bf6709f597798)

## **Example 2**

### **Loading All Zones and Devices to an App Table**

An **On step enter** Trigger can be used to load all the active zones and devices from your Quantum RTLS deployment to an object array local app variable. Once loaded, these values can easily be displayed and selected from interactive tables, making it simple and intuitive to build customized admin pages for spatial intelligence apps in Tulip such as in the template below.

![image-20241112-212030.png](https://infocentre.zerokey.com/__attachments/a_e3f8525b0e840275750c007d93747de0dd02c47315538b3b7c1b2ca096729e80/image-20241112-212030.png?cb=d581b341dbbb767785f45fb795950255)

![image-20241112-212100.png](https://infocentre.zerokey.com/__attachments/a_afdb5a002f38d4564318565d137300cda81fa4b8094cb553e3503354fd5af005/image-20241112-212100.png?cb=2c7661cf6ae7bb30594616d3baa2ef60)

---
language: "en"
---
# Connecting to Event Hub Using the Config Tool

The **Connect to EventHub** interface in the Config Tool allows you to establish a connection with an Event Hub service to receive real-time data and updates.

## **Getting Started**

1. Open the Config Tool and click the **Event Hub** button, located on the top right-hand side.

![image-20240906-215437.png](https://infocentre.zerokey.com/__attachments/a_32ceea2fa1fc52d75a96ffe1f24ba32a7ef21b3e204848942db69c09d15f7317/image-20240906-215437.png?cb=0d0ec274010c64308ba0b7cd82f30517)

* The **Connect to EventHub**window will open.

![image-20240906-214852.png](https://infocentre.zerokey.com/__attachments/a_a0ea16a4097d10a8ac764ba383ddfc68f6b54fbd89fcf7a184306a68dac09fd3/image-20240906-214852.png?cb=2c850a17753d7d72a9314d16e5aa32a5)

2. In the **EventHub Endpoint** field, replace *localhost* with the IP address of your ZeroKey Edge Compute Device (ECD) while leaving the rest the same. For more information on how to get the IP address of your ECD, visit our help article [Getting the IP address of your Edge Compute Device](https://infocentre.zerokey.com/articles/getting-the-ip-address-of-your-edge-compute-device).

![image-20240906-215658.png](https://infocentre.zerokey.com/__attachments/a_7a642dd9c312242076d2aa972400b9d9ee20a91c7ed17cf6cdc8ff065b82a7be/image-20240906-215658.png?cb=4f994f96b51c28affb6e63e6228ed009)

3. Enter*LocalAdmin* in the **Auth ID** field and *DefaultSecret* in the **Auth Secret** field.

4. In the **Position Message Type** dropdown menu, select the type of messages you want the Config Tool to receive from the Event Hub connection. For more details about each message type, please refer to [our API documentation](https://api.zerokey.com/v3/).

![image-20240906-215927.png](https://infocentre.zerokey.com/__attachments/a_e89e1f8a42c50f48bafc06e8cbec9ecea2f587fa69c49113e2786a08d87368a9/image-20240906-215927.png?cb=c0f7248cea2c852cc405702a3dbb2e04)

* The **Filter position data from console** checkbox lets you filter the position data received from the console.

* The **Filter raw gateway messages from console**checkbox lets you filter only the raw Gateway messages received from the console.

5. Click the **Connect** button. If the connection is successful, Event Hub messages will start appearing in the Config Tool.

---
language: "en"
---
# Connecting to ZeroKey's API with JavaScript

Establish a connection to ZeroKey's API using JavaScript.

## **Getting Started**

To start your integration with ZeroKey, you'll need to connect to the Spatial Intelligence Platform (SIP) API.

Here's how to begin:

1. Go to the ZeroKey API webpage and navigate to the JavaScript section under Get Started. The following link will direct you to this page: [* *](https://api.zerokey.com/v3#section/Get-Started/JavaScript)<https://api.zerokey.com/v3#section/Get-Started/JavaScript> .

2. Create an HTML file.

3. In the API document, copy the code provided under step 3 and paste it into your HTML file.

## **Editing the Code**

Once you have the script ready, you can proceed to edit the JavaScript code.

1. First, locate the placeholders for the API host. Replace `{API Host Here}` with the IP address of the Edge Compute Device (ECD).

   * For example:

     `<script>`

     `const eventHubUrl = http://{10.42.0.1:33001/hubs/eventHub;`

     `const apiUrl = http://10.42.0.1:5000/v3/;`

     In this case, the IP address is **10.42.0.1**

![image-20240527-183831.png](https://infocentre.zerokey.com/__attachments/a_ec25298cde08d1e7cc36e3b12bceb7c446faba6e889b09d1b4cd985ecccc0790/image-20240527-183831.png?cb=91be06d928d232ebfcfbab3eddad8879) **NOTE**: Ensure that the port numbers remain the same (33001 and 5000). Replace only the IP address.

2. Find the the `//Get the Bearer Token` comment. Replace the placeholders for the username and password with these credentials, respectively: `LocalAdmin`, `DefaultSecret`.

   * The code in the ZeroKey API webpage looks like the following:

     `auth_id: "{Your Username}",`

     `auth_secret: "{Your Password}"`

![image-20240527-183831.png](https://infocentre.zerokey.com/__attachments/a_ec25298cde08d1e7cc36e3b12bceb7c446faba6e889b09d1b4cd985ecccc0790/image-20240527-183831.png?cb=91be06d928d232ebfcfbab3eddad8879) **NOTE** : Ensure to use *LocalAdmin* as your username and *DefaultSecret* as your password.

## **Running the Script**

Navigate to the folder where the script is saved and execute the HTML.

1. First, double-click on the HTML file you saved.

2. The browser will then open.

   * If no errors occur, you'll see `"LOCATION_RAW_UPDATE"` messages in the text blocks, indicating that the connection is successful.

   * If you do receive an error, ensure that the entries for the IP address and credentials are correct and retry running the script.

---
language: "en"
---
# Creating a Device Map

Creating a device map is essential for documenting Gateway and Anchor MAC addresses along with their precise locations within the tracked space. This map serves as a valuable reference during calibration and for managing device locations or replacements.

The MAC address can be found on the label on the back of each Gateway and Anchor. Use a handheld scanner to scan the QR code on each device to quickly enter information into an Excel spreadsheet.  
![image-20240719-151917.png](https://infocentre.zerokey.com/__attachments/a_7cbbe01351f5b084d26f42549640f014b58d4eb4e4d30551c2c46ecfe7141e9a/image-20240719-151917.png?cb=ae75fb2d4995b54b9dffa519e7e2d92c)

Once scanned, the device's MAC address can be found in a line of text that also includes the product SKU, serial number, and date of manufacture. The output will appear as a single line of text, like this: QTMUMR101000002103DECD05A8665012302021

To determine the MAC address, divide the text into sections:

* Product SKU: QTMUMR10

* Serial number: 00002103

* MAC address: DECD05A86650

* Date of manufacture: 12302021

The following is a simple device map for a ZeroKey starter kit that is set up in a small boardroom. The Gateway is excluded in this mapping. When deploying a starter kit or a small-scale test system, marking the Gateway location may not be necessary. However, marking the Anchor locations in detail is beneficial, as the user may rely on the device map for assistance during calibration.  
![image-20240719-152408.png](https://infocentre.zerokey.com/__attachments/a_04390daf2f1d64073028b66b69df8049ad962047708ddbda4c7e5c0fa6732d50/image-20240719-152408.png?cb=88a4b870e5e6ec0912b55ef7446839d3)

The following is an example of a large-scale device map, complete with both Anchor and Gateway locations.  
![image-20240823-224951.png](https://infocentre.zerokey.com/__attachments/a_d3ceaa458b680d72033c41029c7fbe52e7ec57a5e452a8179ea48f96e3b64a8a/image-20240823-224951.png?cb=d0e1a7a5b4905a5e1d79db3aafee2b12)

The following table organizes each device with its corresponding MAC address.  

|--------------|-------------------|---|--------------|-------------------|
| **Anchor #** | **Anchor MAC**    |   | **Anchor #** | **Anchor MAC**    |
| A1           | D8:DD:D0:20:E0:C5 |   | C1           | CC:AE:05:04:CC:71 |
| A2           | D5:6F:EF:65:47:43 |   | C2           | EC:73:28:AC:A3:8D |
| A3           | C0:A2:C1:48:27:DE |   | C3           | F8:85:3F:4D:21:9C |
| A4           | C1:84:22:C0:84:AD |   | C4           | EB:88:42:61:05:78 |
| A5           | EC:0F:D2:A7:57:A6 |   | C5           | FE:12:40:63:B8:37 |
| A6           | D5:EC:72:C3:A1:74 |   | D1           | D6:36:08:47:B7:A4 |
| B1           | F8:5B:19:F8:1A:78 |   | D2           | F5:D5:08:C1:40:0F |
| B2           | E3:52:0A:70:B4:FF |   | D3           | C0:24:43:29:BE:A8 |
| B3           | C6:55:02:0B:E1:5B |   | D4           | DB:97:B6:5B:07:8F |
| B4           | F0:81:A9:8E:D5:ED |   | D5           | E2:52:F8:5A:D9:74 |
| B5           | F3:9F:45:EF:C2:97 |   | D6           | E9:4C:0E:84:1D:81 |
| B6           | D0:A8:FB:FE:D7:D6 |   | D7           | E9:E8:F3:DD:A2:BE |
| E1           | E4:F5:43:14:AD:C8 |   | E2           | F6:6C:53:8D:B1:E1 |

Creating a device map offers several key benefits: it simplifies the calibration process by making it easy to locate Anchors needing additional data, facilitates quick identification of device locations for hardware swaps, and provides valuable reference information for evaluating positioning logs or system data. Additionally, it serves as a basic visual aid for determining Anchor density requirements.

---
language: "en"
---
# Differentiating Between MQTT Client and MQTT Broker

Clear communication is important in IoT and connected devices, and MQTT (Message Queuing Telemetry Transport) is a widely used protocol that facilitates this process.

MQTT has two main components: the **MQTT Client** and the **MQTT Broker**. The MQTT Client gathers and transmits data, while the MQTT Broker acts as the central hub, managing the communication between clients.  
![image-20240809-195742.png](https://infocentre.zerokey.com/__attachments/a_7458a94ebd4bb564f4acdde85c756fc91a4dc2d3db864058e697ff78152efbd8/image-20240809-195742.png?cb=1b60027924c36d8f5e4e0fd016948bd6)

## **MQTT Client**

The MQTT Client is a device or application that connects to the MQTT Broker to publish and subscribe to topics. In the ZeroKey ecosystem, an Edge Compute Device (ECD) functions as an MQTT Client. This device collects data and sends it to the broker. For instance, the ECD gathers positioning data from the ZeroKey QRTLS and transmits it to the broker for further processing.

## **MQTT Broker**

The MQTT Broker acts as the central hub that manages communications between MQTT Clients. It receives messages from clients, filters them, and distributes them to the appropriate client. The MQTT Broker ensures that data from the ECD (MQTT Client) is routed to the correct applications. The user must set up the MQTT Broker on each application used to collect data from the ECD. Once set up, the user connects the client to the broker, enabling data collection and forwarding to the user's application, allowing for real-time data processing.

---
language: "en"
---
# Edge Compute Device (ECD) Information

The **Information** tab provides you with access to details about the ECD's:

* **Connection Options**

* **Serial Number**

* **Hardware Identifier**

## **Dashboard Information Tab**

Once you're logged in to the dashboard, Access the **Information** tab by clicking the **System** dropdown arrow on the left side of the dashboard screen.  
![image-20241115-213246.png](https://infocentre.zerokey.com/__attachments/a_8139c4d0fdcc6153f0285ca8ee1593876ead956487a174b7d01faefc4c86615c/image-20241115-213246.png?cb=2eab7a87cf0ddc964d7fea43b6c8ed2f)

## **Information Fields**

### **ECD Edge URL**

Connect via the Edge URL to access the ECD over the Local Area Network (LAN). This type of connection may offer lower latency and faster response times.

### **ECD Cloud URL**

Connect via the cloud URL when the ECD is exposed to the internet. This type may produce slightly higher latency than an edge connection.

### **ECD Serial Number**

A unique number is assigned to the ECD and can be found on the bottom of the device. This number matches the number found in the Information tab.

### **Hardware Identifier**

The Hardware Identifierallows ZeroKey support to identify a specific ECD. This unique key is constant and does not change. The Hardware Identifier can also be used to attach a license to a specific ECD. If an offline license is needed, this key will be required to generate it.

---
language: "en"
---
# Edge vs Cloud Connection to the ZeroKey ECD

The **ECD Edge URL** and **ECD Cloud URL**offer two different modes of connecting to the ZeroKey Edge Compute Device (ECD).

## **Connection Types**

**ECD Edge URL**

* Users can connect via the Edge URL to access the ECD over the Local Area Network (LAN). This type of connection may offer lower latency and faster response times.

* The following URL is the example of the Edge URL:

  * [https://\<serialnumber\>.edge.zerokey.com](https://ECD-%3cserialnumber%3e.zerokey.com)

**ECD Cloud URL**

* Users can connect via the cloud URL when the ECD is exposed to the internet. This type may produce slightly higher latency than an edge connection.

* The following URL is the example of the Cloud URL:

  * [https://\<serialnumber\>.cloud.zerokey.com](https://ECD-%3cserialnumber%3e.cloud.zerokey.com)

## **ECD Connection Details**

To view or copy the URL's along with the ECD serial number and hardware identifier, you must first log in to dashboard. Read our help article [Logging into the ZeroKey Dashboard](https://infocentre.zerokey.com/articles/logging-into-the-zerokey-dashboard) for instructions.

Once you're logged in, navigate to the **System** dropdown on the left side of the screen and click on the **Information** tab. Here, you'll see the details for the ECD including the URL's. An example is shown below:

![image-20241108-213452.png](https://infocentre.zerokey.com/__attachments/a_df3a484fa715e748538a76dbd189f2273f4b15dea7cf34cf9ec73a858b9e12cf/image-20241108-213452.png?cb=52eaea3a28749790206aa06da108bd9a)

---
language: "en"
---
# Establishing an API Connection and Obtaining a Bearer Token using Postman

## **Getting Started**

To begin, make sure that you have Postman installed.

Open Postman and navigate to the Collection tab on the left-hand side. Then, click **New** . A window will open, asking you to choose which type of connection you want to make. Select the **HTTP** option.  
![image-20240711-185526.png](https://infocentre.zerokey.com/__attachments/a_3cf3d1d5659b50f805c86cd8dc7184fefb557f1c15fdeaa9c079d73c34fa98a0/image-20240711-185526.png?cb=0491f7fe1a5b785bdf6379bf855350f4)

## **Making a Connection**

Enter the IP address of the ECD followed by the port number *:11000* in the field named **Enter URL or paste text** . Then, click the **Send** button. If the connection is successful, you will receive a message in the bottom right corner stating **Status: 200 OK**.  
![image-20240711-185659.png](https://infocentre.zerokey.com/__attachments/a_5b93b85bb66e6e298fd3607f26abe7766ec30b3726061a8d37e856d04961bc9b/image-20240711-185659.png?cb=4da25b8ff95b6764c572e0e9fd81c498)

This message indicates that the connection between Postman and ZeroKey API was successfully established.

## **Generating a Bearer Token**

1. Click the **GET** dropdown menu and select **POST**.

![image-20240711-185806.png](https://infocentre.zerokey.com/__attachments/a_6945839f78fc05a2e0e0c539d71288b00992768cc62f600e71e68213b5bc5e45/image-20240711-185806.png?cb=5c5a72c7afa4331e510e2c6514ef0c94)

2. In the URL tab, enter the IP address of your ECD followed by *:5000/v3/auth/token*.

![image-20240711-185942.png](https://infocentre.zerokey.com/__attachments/a_111c4c92c7ac070e830d99f5e43fed54c1035e643978ff25bab3fce8bc356542/image-20240711-185942.png?cb=8a638c74c93b74d99e12e50ad9ca6947)

3. Navigate to the **Body** tab and select**raw** . Enter the following lines of codes in the **Body** tab:

`{`

` "grant_type": "client_credentials",`

` "auth_id": "LocalAdmin",`

` "auth_secret": "DefaultSecret"`

`}`

Your Postman authentication should now look like the following:  
![image-20240711-190129.png](https://infocentre.zerokey.com/__attachments/a_86999f05503f3ac5d98b5b3c38473757e1e6da104c3f1e79b3a6a82d9f2b5a59/image-20240711-190129.png?cb=82c2283f87a19d6b720456851065cef3)

4. Lastly, click the **Send** button.

Clicking **Send** will display the bearer token on the bottom of the Postman app.  
![image-20240711-190217.png](https://infocentre.zerokey.com/__attachments/a_c37122b8d0781faa7be1c8488a5682eacdc0d7aa205cfc164a586dcaec1a020c/image-20240711-190217.png?cb=c92504b265f61cfb33ebb6b40f868b3c)

With a successfully generated bearer token, you can start sending **GET** commands to the ECD and obtain information such as Zone information, Anchor coordinates, and more.

---
language: "en"
---
# Establishing an API Connection with .NET (C#)

## **Getting Started**

To start your integration with ZeroKey, you'll need to connect to the Spatial Intelligence Platform (SIP) API. Here's how to begin:

1. Go to the ZeroKey API webpage and navigate to the .NET section under *Get Started* . The following link will direct you to this page: <https://api.zerokey.com/v3#section/Get-Started/.NET-(C)>

2. Download and install the Blazor app in your Visual Studio.

3. Install the NuGet packages from the [NuGet package manager](https://www.nuget.org/packages/Newtonsoft.Json/13.0.2?_src=template).

4. Create a new **.razor** file under the *Pages* folder and name it **ConnectionTest.razor**.

![image-20240729-203131.png](https://infocentre.zerokey.com/__attachments/a_fc32d782e9e16b4b1969d78391eb29db54f187715507db89e6dfc1d4b70f3921/image-20240729-203131.png?cb=242baace72d813a5c9b2cb84be1e9412)

5. Copy and paste the code located under .NET (C#) on ZeroKey's [API page](https://api.zerokey.com/v3#section/Get-Started/.NET-(C)).

6. Open the **NavMenu.razor** file under the*Layout* folder and insert the following code:

   `<div class="nav-item px-3">`

   ` <NavLink class="nav-link" href="connectionTest">`

   ` <span class="oi oi-list-rich" aria-hidden="true"></span> Connection Test`

   ` </NavLink>`

   `</div>`

![image-20240729-203244.png](https://infocentre.zerokey.com/__attachments/a_4cac6822c562637991183343e688855fc2c74b9401e51245b46833cf9dc030f9/image-20240729-203244.png?cb=c988cbc37eabba8fd0ed9310772ff7cd)

## **Editing the Code**

Once you have your script ready, you can proceed to edit the .NET (C#) code.

1. First, locate the placeholders for the API host. Replace every `{API Host Here}` line with the IP address of the Edge Compute Device (ECD).

   * For example:

     `// Request OAuth token`

     `var oauthTokenResponse = await`

     `httpClient.PostAsync("http://10.22.74.129:5000/v3/auth/token",`

     `new StringContent(authDataJson, Encoding.UTF8,`

     `"application/json"));`

     `var oauthTokenJson = await`

     `oauthTokenResponse.Content.ReadAsStringAsync();`

     `var oauthToken =`

     `JsonConvert.DeserializeObject<AuthResponseData>(oauthTokenJson`

     `);`

   * In this case, the IP address is **10.42.0.1**.

2. Find the `var authDataJson`. Replace the placeholders for the username and password with these credentials, respectively: `LocalAdmin`, `DefaultSecret`.

   * The code in the ZeroKey API webpage looks like the following:

     `var authDataJson =`

     `"{\"grant_type\":\"client_credentials\",\"auth_id\":\"{YOUR USERNAME}\",\"auth_secret\":\"{YOUR PASSWORD}\"}";`

   * Replace *Your Username* and *Your Password* with the following credentials. The revised code should look like the following:

     `var authDataJson =`

     `"{\"grant_type\":\"client_credentials\",\"auth_id\":\"LocalAdm`

     `in\",\"auth_secret\":\"DefaultSecret\"}";`

Note: Ensure to use *LocalAdmin* as your username and *DefaultSecret* as your password.

## **Running the .NET (C#) application**

1. In Visual Studio, open the dropdown menu beside the **Launch** button. Select "*your_project_name*" Debug Properties.

2. In the *APP URL* section, change the address from **https** to **http**.

![image-20240729-203357.png](https://infocentre.zerokey.com/__attachments/a_e986a9786d5eb71b3a7dc87f92f842837688c4cdb48666c47124bafb6cea08f6/image-20240729-203357.png?cb=e27193d12e45e16349d39e604c5905d8)

3. Click the **Play** button next to **http**.

4. The browser will then open.

   * If no errors occur, you'll see `LOCATION_RAW_UPDATE `messages in the text blocks, indicating that the connection is successful.

   * If you do not receive an error, ensure that the entries for the IP address and credentials are correct and retry running the script.

---
language: "en"
---
# Connecting to ZeroKey's API with Python

Establish a connection to ZeroKey's API using Python.

## **Getting Started**

To start your integration with ZeroKey, you'll need to connect to the Spatial Intelligence Platform (SIP) API. Here's how to begin:

1. Go to the ZeroKey API webpage and navigate to the *Python* section under *Get Started* . The following link will direct you to this page:[*https://api.zerokey.com/v3/#section/Get-Started/Python*](https://api.zerokey.com/v3/#section/Get-Started/Python).

2. Copy the code under Step 2 and paste it into your Python IDE.

3. Ensure that you have installed the *signalrcore* library before proceeding.

## **Editing the Code**

Once you have the script ready, you can proceed to edit the Python code.

1. First, locate the placeholders for the API host. Replace `{API Host Here}` with the IP address of the Edge Compute Device (ECD). Ensure that the port numbers remain the same (33001 and 5000).

   * For example:

     `eventHubUrl = "https://10.42.0.1:33001/hubs/eventHub"`

     `apiUrl = "https://10.42.0.1:5000/v3/"`

     * In this case, the IP address is **10.42.0.1**

2. Find the `authenticateConnection()` function. Replace the placeholders for the username and password with these credentials, respectively: **LocalAdmin** , **DefaultSecret**.

   * The modified code should look exactly like the following:

     `"auth_id": "LocalAdmin",`

     `"auth_secret": "DefaultSecret"`

## **Running the Script**

Navigate to the bottom of the script and locate the following lines of code:

`if __name__ == "__main__":`

`main()`

1. First, click the **Play** icon beside the first line.

2. Then, click **Run**.

   * If there are no errors detected and outputted by the system, the connection is successful.

   * If you receive the following error, ensure that the inputted IP address and credentials are correct and retry running the script.

     * `requests.exceptions.ConnectionError: HTTPConnectionPool(host='10.22.74.1', port=5000): Max retries exceeded with url: /v3/auth/token (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000288CAACAD50>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))`

---
language: "en"
---
# Config Tool

Learn how to use the different features and functionalities of the Config Tool.  
![image-20240823-225816.png](https://infocentre.zerokey.com/__attachments/a_422ed844d45d7b0e8e65f762bb2ba3d540487df01de7a4ac068fffd003fb1bda/image-20240823-225816.png?cb=3b332d36fae756998b196db0bd23fda6)

---
language: "en"
---
# Filtering Position Updates by Mobile MAC Address

Filtering logs by device (Mobile and Virtual Mobile) MAC address can be important for managing large amounts of data effectively. Use the **LOCATION_RAW_UPDATE** filter to capture Mobile and Virtual Mobile position updates by MAC address in Python.

## **The Difference Between Mobile and Virtual Mobile MAC Addresses**

**Mobile MAC Address**

The 12-digit identifier assigned to the physical device. This MAC address is referenced in positioning logs and the ZeroKey dashboard.

* Example: D4:66:A0:E6:71:22

**Virtual Mobile MAC Address**

The last 8-digits of the Virtual Device MAC address are assigned by the user. The first 4-digits default to FF:FF for every Virtual Device.

* Example: FF:FF:D4:66:A0:E6

## **Prerequisites**

**LOCATION_RAW_UPDATE_EVENTS**

Refer to our help article [Utilizing Location Raw Update Events in Python](https://infocentre.zerokey.com/articles/utilizing-location-raw-update-events-in-python) for example code. To add MAC address filtering, you'll need to modify the **HANDLE_LOCATION_RAW_UPDATE** function in the example code.

## **Steps to Filter Logs by Mobile MAC Address**

Follow the steps below to filter **LOCATION_RAW_UPDATE** logs based on the MAC address prefix.

1. **Modify the Function to Include MAC Address Filtering**

Update the **HANDLE_LOCATION_RAW_UPDATE** function to filter by MAC address by checking if the MAC field in the Source section of each log starts with the specified prefix. The example below shows how to apply this filter.

**Current code (Without MAC Address Filtering)**

`def handle_location_raw_update(data):`

`json_str = data[0]`

`event_data = json.loads(json_str)`

`if event_data['Type'] == 'LOCATION_RAW_UPDATE':`

`print(f"Received LOCATION_RAW_UPDATE:(event_data)")`

**Updated Code (With MAC Address Filtering)**

`def handle_location_raw_update(data):`

` json_str = data[0]`

` event_data = json.loads(json_str)`

` if event_data['Type'] == 'LOCATION_RAW_UPDATE':`

` if event_data['Source']['MAC'].startswith("Enter Mobile MAC"):`

` mac_address = event_data['Source']['MAC']`

` print(f"Received LOCATION_RAW_UPDATE for device with MAC '{mac_address}': {event_data}")`

2. **Specify the Mobile's MAC Address**

Replace "`Enter Mobile MAC`" with either the full MAC address or the starting portion of the Mobile MAC address.

* For example, if the MAC address is D4:66:A0:E6:71:22, you can either enter the full MAC address or set it to "D4:66" to match any device starting with D4:66.

3. **Save and Execute the Script**

Save the code and run it in your command prompt or terminal. The following is an example of the execution output:

`C:\Users\admin\PycharmProjects\API 4\API\API>python TestingZKAPI.py`

`Connection opened and handshake received; ready to send messages`

`Received LOCATION_RAW_UPDATE for device with MAC 'D4:66:A0:E6:71:22': {'Category': 'POSITION', 'Type': 'LOCATION_RAW_UPDATE', 'Timestamp': '2024-11-07T18:29:02.8031Z', 'Content': {'Position': [1.02906, -0.69719, 0.0166], 'Orientation': [0.74942, 0.09172, -0.11673, 0.64524], 'Sequence': 50739, 'Flag': 0, 'InsState': 4, 'UsState': 3, 'RelativeTimestamp': 5074679472, 'Velocity': [0.00018, 0.00261, 0.00017], 'InsSequence': 0}, 'Source': {'SiteID': 0, 'MAC': 'D4:66:A0:E6:71:22', 'GatewayURI': 'ZK://0::c0ee9f7a-83dc-47f8-94b1-e7f647a4e33e::USB::/dev/ttyACM0'}, 'LocalTimestamp': '2024-11-07T11:29:02.8031'}`

## **Steps to Filter Logs by Virtual Mobile MAC Address**

To filter logs by a virtual MAC Address, modify the MAC filter to include the virtual MAC that starts with "FF:FF:". An example is shown below.

`def handle_location_raw_update(data):`

` json_str = data[0]`

` event_data = json.loads(json_str)`

` if event_data['Type'] == 'LOCATION_RAW_UPDATE':`

` if event_data['Source']['MAC'].startswith("FF:FF:Enter Mobile MAC"):`

` mac_address = event_data['Source']['MAC']`

` print(f"Received LOCATION_RAW_UPDATE for device with MAC '{mac_address}': {event_data}")`

1. **Update the Virtual MAC Preffix**

Replace "`Enter Mobile MAC`" with the Virtual Mobile MAC address.

* For Example "FF:FF:D4:66:A0:E6".

2. **Run the Code**

Save the code and run it in your command prompt or terminal. The following is an example of the execution output:

`C:\Users\admin\PycharmProjects\API 4\API\API>python TestingZKAPI.py`

`Connection opened and handshake received; ready to send messages`

`Received LOCATION_RAW_UPDATE for device with MAC 'FF:FF:D4:66:A0:E6': {'Category': 'POSITION', 'Type': 'LOCATION_RAW_UPDATE', 'Timestamp': '2024-11-07T18:33:03.9545Z', 'Content': {'Position': [1.775990793800354, -0.09460324853897095, 0.2878848897457123], 'Velocity': [0, 0, 0], 'Orientation': [0.93479, 0.01884, -0.14079, 0.32555], 'Sequence': 53150, 'Flag': 0, 'InsState': 4, 'UsState': 3, 'InsSequence': 1}, 'Source': {'SiteID': 1, 'MAC': 'FF:FF:D4:66:A0:E6', 'GatewayURI': 'ZK://0::FF:FF:D4:66:A0:E6::VIRTUAL::100'}, 'LocalTimestamp': '2024-11-07T11:33:03.9545'}`

**NOTE:** The Virtual Device will report in the output after `GatewayURI` which confirms parsing for a Virtual Device is enabled.

---
language: "en"
---
# Generating MQTT Certificates

Add certificates to the MQTT integration, ensuring encrypted and secure communication between the client and the server.

## **Adding a Certificate**

In the ZeroKey Dashboard, navigate to the **Integration** tab on the left side and click **MQTT Certificates** . Then, click the **+ Add Certificate** button on the top right of the page.  
![image-20240823-222353.png](https://infocentre.zerokey.com/__attachments/a_d3d653fa749ae1327ec91b50e2acd2c525bece780facbfcfc3e040c5abd56787/image-20240823-222353.png?cb=93d16d1e87a3e56a28f6f0969e1b27cb)

A window will then pop up, prompting you to enter the following details:

1. **Name**

   * Enter a unique name for the certificate. This name will be used to identify the certificate within the system.

2. **Upload Server Certificate (CA)**

   * This certificate will be used to validate the server certificate and establish the connection.

   * Click the **Upload Server Certificate (CA)** button and select the appropriate CRT file from your PC's file directory.

3. **Upload Client Certificate**

   * This certificate will be used by the server to authenticate the client with the same TLS setup.

   * Click the **Upload Client Certificate** button and select the appropriate PFX file from your PC's file directory.

4. **Password**

   * Enter the password in the **Password** text field if the client certificate is encrypted. Make sure your entry is at least 8 characters long and includes a mix of uppercase letters, lowercase letters, numbers, and special characters. This password is used to decrypt the certificate for use in authentication.

![image-20240527-192657.png](https://infocentre.zerokey.com/__attachments/a_0f10b9434e0321a29b5452384fe20315266f88e85d8657aae73e840e3a2cff49/image-20240527-192657.png?cb=069b5e04efd7465085c8a948ae117019)

## **Submitting and Confirming a Certificate**

Once all details have been entered, click the **Submit** button. This will save the certificates and apply them as needed for the MQTT communication. If you need to exit without saving changes, click the**Cancel** button.

If the certificates are uploaded successfully, you will receive message stating**Successfully uploaded the certificates profile**, followed by the name of the certificate. This confirmation ensures that the certificates were uploaded successfully and are now registered within the system.  
![image-20240823-224658.png](https://infocentre.zerokey.com/__attachments/a_860aada574849dd264d8370bbf2f0c0149a9725ad20b22bca5770b479ca7abc6/image-20240823-224658.png?cb=bc7f08606b5ef2824c9ceb13b45e4276)

## **Deleting a Certificate**

If you want to delete a certificate from the **MQTT Certificate** section, click **Delete** , and the system will prompt you to confirm the action. Click **Cancel** to abandon the deletion process, and the certificate will remain in the system. Conversely, click **Confirm** to permanently delete the certificate from the system. After successfully deleting a certificate, you will see a confirmation notification at the top of the page.

---
language: "en"
---
# Generating the API Key using Postman

## **Getting Started**

1. To begin, make sure that you have Postman installed. Open Postman and navigate to the **Collections** tab on the left-hand side.

2. Click the **New** button.

3. A new window will pop up asking you which type of connection you want to make. Select the **HTTP**option.

## **Obtaining a Bearer Token**

1. In the dropdown menu to the left of the text field, select the **POST** option.

2. In the text field, enter the IP address followed by the port number *5000*.

3. Click **Send**. The image below provides an exmaple of what this may look like.

![image-20240711-192333.png](https://infocentre.zerokey.com/__attachments/a_f111b2e8b11caf30196a125d4be9cb2af1649b935a0ce57b906a23bd3b8cf96d/image-20240711-192333.png?cb=0c3912d1f2a6c110b2f7ae5129374ee1)

4. Navigate to the **Body** tab and select**raw**. Enter the following lines of code:

`{`

` "grant_type": "client_credentials",`

` "auth_id": "LocalAdmin",`

` "auth_secret": "DefaultSecret"`

`}`

Note: Your Postman should now look like the following:  
![image-20240711-192606.png](https://infocentre.zerokey.com/__attachments/a_825ea06352ea77871502cd9decdcf4a367e225030bd006cbccee3c96712e07cb/image-20240711-192606.png?cb=9640d09ef0166572b53c638b32f7bef6)

5. Lastly, click **Send**. You will then get the bearer token displayed at the bottom of the Postman app.

![image-20240711-192659.png](https://infocentre.zerokey.com/__attachments/a_972bc38524bdb4c40e70d30dd0d2ecde24daea51bab85823eff860b5aed4b6bf/image-20240711-192659.png?cb=40c1bffa0405077e384167043d42df90)

You can now obtain and register the API key, which is permanent.

## **Obtaining the API Key**

1. Copy the access token that was obtained during the previous steps. For this example, the following is copied:

   * *Ps1XYvR/B9nEGYxpyGuLiIhQ9ceL1+nPiilG4Pc8xP8=*

2. Under the URL, replace **/token** with **/registerApiKey**. In this case, the URL will look like the following:

   * *http://10.22.74.129:5000/v3/auth/registerApiKey*

3. Navigate to the **Authorization** tab. In the**Auth Type** dropdown menu, select **OAuth 2.0**.

![image-20240711-193647.png](https://infocentre.zerokey.com/__attachments/a_6c58719a4f7f32a0e5e7f8bdf5ae852ed1531c6b82e903d71bd079dd716d5db2/image-20240711-193647.png?cb=7b239146f47c79b8e04371a8aa98798c)

4. On the right-hand side, paste the bearer token previously obtained under **Available Tokens**.

![image-20240711-193731.png](https://infocentre.zerokey.com/__attachments/a_1bd7e766747b99c9f28678cdbaa2344ae1afc4e2e29141d37d787fc38881938b/image-20240711-193731.png?cb=453b787f20017a7fbd3fb28c1025e56f)

5. Click **Send**. On the bottom of the Postman app, you will locate your API key.

![image-20240711-193811.png](https://infocentre.zerokey.com/__attachments/a_5c3db195711614c5e47a6cb3c8272087a76c233044888eac378af75694b6ca91/image-20240711-193811.png?cb=620f24d30b03db99b69f9667b1bae427)

---
language: "en"
---
# Get Zone Information using Postman

Use Postman to retrieve Zone Information from ZeroKey's API. Send an API request, authenticate, and view Zone Information. This provides a comprehensive overview of the zone's configuration which can help you with your application integration, system analysis and troubleshooting.

## **Prerequisites**

**Obtain a Bearer Token**

* Read our help article [Establishing an API Connection and Obtaining a Bearer Token](https://infocentre.zerokey.com/articles/establishing-an-api-connection-and-obtaining-a-bea).

* Copy the token for use in step 3.

## **Request Steps**

1. Navigate to the **Standard Modules** folder and click the**Zone Module** dropdown arrow. Select the **Get Zones** subfolder.

![image-20241118-221120.png](https://infocentre.zerokey.com/__attachments/a_068dfdafcf6b6f1366b8277b8ace544b442f653b8ad30d7c5a32383ab8b44c6e/image-20241118-221120.png?cb=46f1ea6a47e6cdba039369b1e2596201)

2. In the **Authorization** tab, select the **Auth Type** dropdown and click **Bearer Token**.

![image-20241118-221246.png](https://infocentre.zerokey.com/__attachments/a_21d0fdc6907df5dc78db479aa56d0c6a8181c7499b3a074f85a8bda6839b7ecc/image-20241118-221246.png?cb=0bab0285fb3c8b74be14627462563cba)

3. In the **Token**field, paste the bearer token that was copied earlier.

![image-20241118-221326.png](https://infocentre.zerokey.com/__attachments/a_dbc09d6b4083d4dcc90769e5c4f3919671f01ab5169d82f839644aebb2486099/image-20241118-221326.png?cb=33fcf2a7fc215441b471cd276c0d2dc1)

Click the **Send**button located in the top right corner.

4. After clicking Send, the zone information will be displayed under the **Body**tab located at the bottom of the screen similar to the image below.

![image-20241118-221359.png](https://infocentre.zerokey.com/__attachments/a_fb53ffecd4ac633fd8de760ddf5fcef6be4b51175bbe3dd4e9dabc81251e6ffa/image-20241118-221359.png?cb=176913f7fc9e391b196130e550c59fc8)

The API response shows detailed information about a zone that was created in the ZeroKey Dashboard:

* Unique Identifier (ZoneID)

* Zone Name

* Geometry Type

* Geometry Data

---
language: "en"
---
# Getting Position Information using MQTT and Node-Red

## **Prerequisites**

Node-Red must be installed on your system as well as an active MQTT broker.

## **Setup**

1. Ensure your MQTT broker is running and accessible. Read [this article](https://infocentre.zerokey.com/articles/setting-up-the-mqtt-broker-on-windows-using-mosqui) for instructions on setting up an MQTT broker on Windows using Mosquitto.

2. Open Node-Red in your browser and navigate to your Node-Red instance.

   ![image-20240711-164553.png](https://infocentre.zerokey.com/__attachments/a_e4b901c5d012cce8dd039d0ca8f8e69671a061d7314a9b5e721c26314b94e9b6/image-20240711-164553.png?cb=bc97cd04a7c164b691a9ca903d6038e1)

<!-- -->

3. Configuring Node-Red Nodes

   * Drag an **MQTT IN** node from the palette located on the left to the flow.

     ![image-20240711-164649.png](/__attachments/a_4f1886314a25a5c4664560ec8beec17a17463b28fd7492d20d7e841c198b50d2/image-20240711-164649.png?cb=d86f36f31bd50176709ae5cc43e9facb)

   * Double-click the **MQTT IN** node to configure its settings.

   * Click the pencil icon next to the server to add a new MQTT broker configuration.

     ![image-20240711-164748.png](/__attachments/a_293a9b61fb4dee5c84fd2cccbdf5d2845ea7ea1638ade31a0fed48aacf055cc2/image-20240711-164748.png?cb=03afced2054e2bf3bf0820d42e78eb8a)

   * Enter the MQTT broker's IP address (e.g. 10.22.74.163) and port (1883). This IP address is the same as your previous MQTT broker's IP address.

     ![image-20240711-164859.png](/__attachments/a_12abf9a9303745ea7392c3fc9d85aae8d4c96585fcc705f6e97585fc57240ab1/image-20240711-164859.png?cb=427850e4f611cb5e0ae55ee500d8ba94)

   * Click the **Add**button.

   * Set the topic of your choice.

   * Click **Done**.

Note: Ensure that the **MQTT V5** protocol is selected and that the **Keep Alive** value is set to 60.

## **Adding a Debug Node**

* Drag a **Debug** node from the palette to the flow.

* Connect to the output of the **MQTT IN** node to the **Debug** node.

* Ensure that the **Debug** node is set to show the complete message object or the payload.

![image-20240711-165044.png](https://infocentre.zerokey.com/__attachments/a_5daec306666ece18c94d1e0d5d7803fae2243cd6238d4a700965e345b5277b0e/image-20240711-165044.png?cb=d7c8a35c4d658444fc6c517855d39d54)

## **Deploying the Flow**

1. Click the **Deploy** button in the top right corner to save and deploy all changes made.

2. Click the button on the **Debug** node to start receiving the position data.

![image-20240711-165145.png](https://infocentre.zerokey.com/__attachments/a_e25d3e603e908013557ec48659d79c4d43ddb6a688f5716e5e66c32875ed2261/image-20240711-165145.png?cb=1e4681404808dcee721b5dcafe21c4f7)

## **Verifying Data Flow**

1. Navigate to the debug pane on the right side of the Node-Red editor.

2. You should see the positioning data being received in the debug pane, indicating that the messages are successfully being received via the MQTT broker.

The image below is an example of the data that is received in Node-Red.  
![image-20240711-165242.png](https://infocentre.zerokey.com/__attachments/a_0664c16a8c1557fbd63f844caf297a6c39daac87eca3622085240a421aa4777f/image-20240711-165242.png?cb=1508e3defbf3527b4a5dd2b2afdb6853)

---
language: "en"
---
# Getting Started

Set up and optimize your ZeroKey deployment. Check out our setup video for a helpful overview of the contents of your Starter Kit and how to set them up and run positioning:

[How to set up the ZeroKey Quantum RTLS Starter Kit](https://vimeo.com/1024927424?share=copy)

Learn about the coverage area of your starter kit and how to position your Anchors for optimal performance. We'll explain the differences between PoE and Universal Anchors, helping you choose the right type based on your specific needs, whether for permanent or temporary installations.  
![image-20240823-201108.png](https://infocentre.zerokey.com/__attachments/a_ba6825ae066e3f31288af822a5c4370e757286a533db7cdd5c4a0b0c5b102f28/image-20240823-201108.png?cb=b4b5c1aa8706adfd98e60354fe016a2e)

Additionally, you'll find an overview of the ZeroKey SDK installation process, including compatibility and space requirements. For further guidance, our support team is available to assist you.

---
language: "en"
---
# Getting the IP Address of your Edge Compute Device

Before you can access the ZeroKey dashboard, you need to connect to the Edge Compute Device (ECD). When using the ECD's AP Mode, it uses the default hosting IP address **10.42.0.1**. However, if you want to connect the ECD to your network using an Ethernet cable, you can check the IP address once the ECD is connected.

## **AP Mode Instructions**

1. Turn on the ECD.

2. Connect your PC to the ECD's Wi-Fi network:

   * SSID: "**QuantumRTLS**" followed by the ECD's serial number.

   * Password: "**SpatialIntelligence**"

3. Verify the IP address:

   * The default hosting IP address is **10.42.0.1**

   * You can confirm this IP address by connecting a display to the ECD.

## **Connect to a Display - AP Mode**

Power on the ECD and connect a display using an HDMI cable.

The default AP Mode IP address will be shown on the screen in green text.  
![image-20240823-223443.png](https://infocentre.zerokey.com/__attachments/a_5e4bf301c9c388bb14e1e7809da709c06f1a443494da6866229db4d781a9f58d/image-20240823-223443.png?cb=d0b6380c8b2af2c5494d47f3f0ac3991)

## **Ethernet Mode Instructions**

1. Connect the ECD to your network using an Ethernet cable.

2. The ECD will automatically switch to Ethernet Mode.

3. Confirm the new hosting IP address.

## **Connect to a Display - Ethernet Mode**

Power on the ECD and connect a display using an HDMI cable.

The IP address will be shown on the screen in green text.  
![image-20240823-223529.png](https://infocentre.zerokey.com/__attachments/a_e514f52a0c56efbd56aebb88a0e320a464bf6119a3fd6f7896fdc2fecd3416e6/image-20240823-223529.png?cb=926b3711ab0bd5c3789ad32be70f36bb)

## **Log In**

Please disregard the log-in prompt, as this is only used by ZeroKey support.

For instructions on accessing the ZeroKey dashboard, refer to our help article [**Logging into the ZeroKey Dashboard**](https://infocentre.zerokey.com/articles/logging-into-the-zerokey-dashboard).

---
language: "en"
---
# Hardware

Enhance your understanding of how to care for and operate ZeroKey hardware to ensure its maximum lifespan and optimal performance. Learn how to select the appropriate hardware to meet your specific tracking requirements and more.  
![image-20240823-225928.png](https://infocentre.zerokey.com/__attachments/a_9fbf47c95275b8a29eb9150088749c4677a203681b5b46419adc9d950054b944/image-20240823-225928.png?cb=862a03e81fccb066dd5f159ab06106c5)

---
language: "en"
---
# Calibrate Your System with the ZeroKey Calibration Wizard

## **Anchor Deployment**

Before you begin calibration, ensure that you've powered on one Mobile and eight Anchors by briefly pressing the button on each device. A slow-flashing green LED confirms that the device is powered on. For PoE Anchors, make sure they are connected to the power source.

For detailed guidance on optimizing the placement of Anchors for maximum coverage and performance, check out our [Anchor Layouts for Starter Kits](https://infocentre.zerokey.com/articles/anchor-layouts-for-starter-kits) article.

## **Gateway Connection**

Launch the ZeroKey Config Tool and connect the Gateway to your PC using the supplied USB cable. The green LED on the Gateway confirms that it's powered on. Click the **Connect** button in the upper right corner of the screen to establish a connection.

## **Anchor Calibration**

The calibration steps are extremely important as an improperly calibrated system may output erroneous data and compromised positioning outcomes. Additionally, calibration failures may occur if the calibration steps are not closely followed.  
![image-20240823-204815.png](https://infocentre.zerokey.com/__attachments/a_47549cb7c5e8ce389c111dcd09ab828bc65637017e2af5f0a6f40a9e5c3067b1/image-20240823-204815.png?cb=797f5573ae98d3b14be3cdf40afd093e)

With the hardware powered on, the system calibration steps can be performed. The calibration process includes the collection of large amounts of data to achieve precise positioning outcomes.

Click **Anchor Calibration** to launch the calibration wizard. The wizard not only provides detailed steps to follow but will also display the calibration's progress through the percentage of data quality per Anchor.

## **Calibration Wizard Guide**

### **Node Discovery**

**Node Discovery** verifies that the correct number of Anchors and Mobiles are detected. **Node Discovery** can be refreshed by clicking **Refresh Discovery Search**. Note that exactly one Mobile must be turned on to proceed.

### **Calibration Routine**

1. To begin calibration, click **Start**.

2. Allow a small number of measurements to be collected before picking up the Mobile and slowly moving it through the tracked space.

3. Extend the Mobile away from your body. Ensure that your arm is extended at chest height and move the Mobile through the tracked space with the transducer facing the Anchors.

4. Keep the Mobile in motion throughout the tracked space until the data quality indicator for each Anchor reaches 100%. The user must walk through the tracked space and in between the Anchors to enable the wizard to collect the required data.

5. Avoid remaining stationary during the calibration process.

6. Once 100% data quality is achieved for all Anchors, a chime will sound -- notifying the user to place the Mobile back on the floor.

7. The user may proceed to Step 4 in the calibration wizard.

![image-20240823-205003.png](https://infocentre.zerokey.com/__attachments/a_f2177b87eca97347b0d5a518bde6651c64d61de111bc20dae2a6828da1c1b655/image-20240823-205003.png?cb=a44f0be7c3db2a396f039b017ad70b2d)

### **Hold the Mobile with the Hand Closer to the Anchors**

When handling the Mobile during calibration, ensure that your body isn't blocking the Mobile's line of sight to Anchors. This reduces the likelihood of obstruction between the Anchors and the Mobile, leading to improved calibration results. The diagram below illustrates this technique.  
![image-20240527-231521.png](https://infocentre.zerokey.com/__attachments/a_40a724325fb258fd013baf1330201ccd492f894db60acea0b0a355eaedfaaaf9/image-20240527-231521.png?cb=1d882c8af50de27da2eb05151faad03f)

### **Calibration Processing**

The processing time during calibration may vary. However, if the calibration process exceeds 5 minutes, it's best to adjust the Anchor locations in accordance with our help article about Anchor layouts and retry the calibration. The following table provides a quick reference to assess the quality of the calibration after it is completed.  

|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Solve Quality** | **Description**                                                                                                                                           |
| Green             | Calibration was successful. Advance to positioning.                                                                                                       |
| Yellow            | Calibration was successful, but quality metrics indicate that the solve may not meet accuracy requirements. We recommend recalibrating before proceeding. |
| Red               | Calibration was unsuccessful. We recommend reviewing the Anchor layout guidelines and calibration steps before attempting a recalibration.                |

## **Scale Check or Finish Calibration**

You can further verify calibration solve quality by performing a scale check.

Once the calibration processing is complete, you may choose between two options to proceed:

* Finish Calibration: To proceed to positioning, click the **Finish Calibration** button. Then, press the **Close Window** button to conclude the calibration wizard.

* Scale Check (optional): To verify calibration solve quality, perform a scale check. This step is optional and can be skipped if you prefer to go directly to positioning.

---
language: "en"
---
# How to Power ZeroKey Devices On and Off

The Universal Mobile, Universal Anchor, and Wristband all use rechargeable lithium-ion batteries. Properly powering these devices on and off ensures optimal battery usage and device longevity.

## **Summary of Hardware Components**

**Universal Mobiles and Universal Anchors:**  
![image-20240823-203250.png](https://infocentre.zerokey.com/__attachments/a_ebb5122d69be045e8b662d82e060f50dbc0db38e4f0284c896288b4dde3b0eb2/image-20240823-203250.png?cb=773d832b36b94b2adfd683c3b5ce1ecb)

**Wristbands:**  
![image-20240823-203345.png](https://infocentre.zerokey.com/__attachments/a_ea127e1a540dece061e22dd6d56514f33c4feee34c50063fdc3faf376084d012/image-20240823-203345.png?cb=caa5733c77fce8410094add5e75c1c90)

## **Powering On**

1. Quickly press and release the power button.

2. You will see the LED light up briefly, followed by a red LED, which will only remain illuminated unless the device is low on battery.

## **Powering Off**

1. Press the power button.

2. The red LED will light up.

3. Release the power button when the red LED fades. The powering off process should take one second or less.

---
language: "en"
---
# How to Use the Distance Measurement Tool

The ZeroKey Config Tool features a distance measurement function enabling you to measure the distance between two Mobiles. This tool is valuable for validating the calibration scale of your system, measuring features of your environment, and finding areas with poor performance.

## **Getting Started**

Follow these steps to use the **Distance Measurement Tool**:

1. Ensure your system has been successfully calibrated.

2. Power on two Mobiles.

3. Click **Start** under **Positioning**.

![image-20240822-193445.png](https://infocentre.zerokey.com/__attachments/a_6715f0ce71f2202e7fab1db5d8ef9cdaec8275537f49f2c426f7674d6a70a645/image-20240822-193445.png?cb=e489d9c1eca839b065885545c221a75a)

4. Place your Mobiles at two points within the tracked space to measure the distance between them. Ensure that each Mobile remains stationary, with a clear line of sight to at least four nearby Anchors.

5. Click **Distance Measurement Tool** under **Utilities** . This will launch a second window where Mobiles can be added via their MAC address in the dropdown menus under **NODE A** and **NODE B**.

![image-20240822-193525.png](https://infocentre.zerokey.com/__attachments/a_3e8425db7e467b4bb42bf0dc6a870a8369fbf74899260f84eacb3e500213e9f3/image-20240822-193525.png?cb=d1c4424b133b3e3a57a31bed599e704d)

6. In the dropdown menus under **NODE A** and **NODE B** , select the Mobiles. Only Mobiles that are powered on will be displayed in the lists. The distance between these two Mobiles will be calculated and displayed in real-time in the **DISTANCE** box, located in the middle.

![image-20240822-193546.png](https://infocentre.zerokey.com/__attachments/a_62755001b6a8a5edc5b18cabbd337e7f7386f69824d880ceb620b016f5f7dbae/image-20240822-193546.png?cb=63a3474dc74124f7803d0abf31f2aa53)

7. The **Record** button can be clicked at any time -- doing so will print a line of text in the log, showing the distance value at the moment the button was clicked.

   * The output displayed in the log will look like the following:

     `[I] Distance record: 1.0000mm between D3:13:6D:75:65:4D and FF:99:B3:41:5C:63`

---
language: "en"
---
# Logging into the ZeroKey Dashboard

You can log into the ZeroKey dashboard once connected to the Edge Compute Device (ECD) by following these steps. For more information on getting the ECD's IP address, refer to our help article [**Getting the IP Address of your ECD**](https://infocentre.zerokey.com/articles/getting-the-ip-address-of-your-edge-compute-device).

## **Open a Browser**

First, open Google Chrome, as we recommend this browser for optimal system performance.

Then, navigate to the ZeroKey dashboard log-in page by entering the IP address of your ECD followed by the port number **:11000** . For example, if the IP address is **10.42.0.1** , then you should enter **10.42.0.1:11000** into your browser.

Once the dashboard log-in screen appears, enter the following credentials:

* Username: **Admin**

* Password: **ZeroKey_Admin1**

![image-20240722-170856.png](https://infocentre.zerokey.com/__attachments/a_a2a69bc9d25955f0fd80c8774b26a9ed462b28dff7822bf74c3cdb941470c1ef/image-20240722-170856.png?cb=4403035a8fdf153f8af72bf7062d0ea2)

## **Edit Profile**

To edit your profile, you must already be logging in the dashboard. Navigate to the ZeroKey icon at the top right corner of the page and click **Profile** . In this page, you can edit your profile photo, email address, name, phone number, and password. Click **Cancel** to discard changes or **Submit** to save changes.

## **Logging Out**

To log out of the dashboard, navigate to the same icon and click **Log Out**.

---
language: "en"
---
# Migrating from ZeroKey's v2 to v3 API

Make the necessary changes to upgrade ZeroKey API from v2 to v3.

This update is necessary when upgrading the Edge Compute Device (ECD) software from version 0.9 to version 1.0 or higher. Changes in the code must be made to maintain connectivity with the ZeroKey API.

## **Getting Started**

To begin the transition from v2 to v3, follow these steps:

1. Visit the ZeroKey API webpage using this [link](https://api.zerokey.com/).

2. Review the *Introduction* and *What's New* sections for a clear understanding of how to interact with Quantum RTLS hardware using the ZeroKey API. Stay updated on new features, such as our API Quality of Service, MQTT TLS encryption, and certificate profile management. These updates enhance device control, real-time data management, security, and system performance.

## **Editing the Code**

First, navigate to the directory where your API scripts are stored. Any and all scripts using ZeroKey's v2 API must be updated to v3. Follow these steps:

### **Replace**`v2` with `v3`

* Locate the lines beginning with `eventHubUrl` and `apiURL` and replace the value `v2` with `v3`.

**Old version:**

`eventHubUrl = "https://10.42.0.1:33001/hubs/eventHub"`

`apiUrl = "https://10.42.0.1:5000/v2/"`

**Updated version:**

`eventHubUrl = "https://10.42.0.1:33001/hubs/eventHub"`

`apiUrl = "https://10.42.0.1:5000/v3/"`

![image-20240606-185907.png](https://infocentre.zerokey.com/__attachments/a_8fc03bb91d0df5676ffba079271bebc5f22aa405cec4d8a3d0e6a757d305840a/image-20240606-185907.png?cb=fde19c81b3299582d6a096f428424a7a) **NOTE:** Ensure that the port numbers remain the same (33001 and 5000). Replace only the version numbers.

### **Replace**`LOCATION_UPDATE` **with** `LOCATION_RAW_UPDATE`

* Locate the lines containing `LOCATION_UPDATE` and replace this value with `LOCATION_RAW_UPDATE`.

**Old version:**

`def handle_location_update(data):`

`json_str = data[0]`

`event_data = json.loads(json_str)`

`if event_data['Type'] == 'LOCATION_UPDATE':`

`print(f"Received LOCATION_UPDATE:{event_data}")`

**Updated version:**

`def handle_location_raw_update(data):`

`json_str = data[0]`

`event_data = json.loads(json_str)`

`if event_data['Type'] == 'LOCATION_RAW_UPDATE':`

`print(f"Received LOCATION_RAW_UPDATE:{event_data}")`

### **Replace**`BATCH_LOCATION_UPDATE` **with** `LOCATION_BATCH_UPDATE`

* Locate the lines containing `BATCH_LOCATION_UPDATE` and replace this value with `LOCATION_BATCH_UPDATE`.

**Old version:**

`def handle_batch_location_update(data):`

`json_str = data[0]`

`event_data = json.loads(json_str)`

`if event_data['Type'] == 'BATCH_LOCATION_UPDATE':`

`print(f"Received BATCH_LOCATION_UPDATE:{event_data}")`

**Updated version:**

`def handle location_batch_update(data):`

`json_str = data[0]`

`event_data = json.loads(json_str)`

`if event_data['Type'] == 'LOCATION_BATCH_UPDATE':`

`print(f"Received LOCATION_BATCH_UPDATE:{event_data}")`

After making and saving these changes to your scripts, you will be able to access and retrieve data successfully using ZeroKey's API.

---
language: "en"
---
# Mobile Body Frame in the ZeroKey Quantum RTLS

The body frame of a Mobile refers to a coordinate system that is fixed to the device, moving and rotating along with it. This frame is used as a reference point to describe the device's orientation relative to a global frame, such as the ZeroKey Quantum RTLS frame. Orientation parameters, including roll, pitch, and yaw, are defined using this body frame. The transducer lies at the center of the Mobile Body Frame.

![Wristband_Grid-20241016-194442.png](https://infocentre.zerokey.com/__attachments/a_5c06e0e35f3a4183c1084459485bda3dc4bdbb8d70c8b3dbc363539710ccdb74/Wristband_Grid-20241016-194442.png?cb=b4ebd97e9a24fee82dbefe42b0425f2a)
Wristband Mobile Body Frame

![Mobile_Grid-20241016-194436.png](https://infocentre.zerokey.com/__attachments/a_54d83eaaa84773dfaacdbb73e1b8f4f5066cc0b094c5d6f1b033ca5f1127c785/Mobile_Grid-20241016-194436.png?cb=8516007a30c11a5196e319df1ffef434)
Universal Mobile Body Frame

---
language: "en"
---
# Mobile Training and Mounting Steps

This guide outlines the Mobile training and mounting steps necessary for different profiles used in ZeroKey's system for positioning and orientation. The training process is a critical step that must be repeated each time a new navigation run is started. Detailed instructions are provided for **Pedestrian** , **Tooltip** , **Hybrid AGV** and **AGV** , and **Generic** profiles.

When mounting the Mobile to the asset you wish to track, ensure that the Mobile's transducer has maximum visibility to the Anchors and can maintain a clear line of sight to at least four Anchors at all times during both the training and navigation processes. This should be applied in all profiles to obtain accurate Mobile position and orientation.

For more information on the Mobile Body Frame in the context of ZeroKey's Quantum RTLS, visit our help article [Changes in the Mobile Body Frame from Quantum RTLS 1.0 to 2.0.](https://infocentre.zerokey.com/articles/changes-in-the-mobile-body-frame-from-quantum-rtls)

The body frame of a Mobile refers to a coordinate system that is fixed to the Mobile, moving and rotating along with it. This frame is used as a reference point to describe the device's orientation relative to another global or local frame, such as the ZeroKey Quantum RTLS frame. Orientation parameters, including roll, pitch, and yaw, are defined using this body frame.

![Mobile_Grid.png](https://infocentre.zerokey.com/__attachments/a_809d9e96ac256291acc771ac7eceadb281e6b41caa437c2fbaab45aebe92ec9f/Mobile_Grid.png?cb=8516007a30c11a5196e319df1ffef434)

![Wristband_Grid.png](https://infocentre.zerokey.com/__attachments/a_3b231f0d72b5963aa6ebd117de5cbefbc970e21b7bb9525110f781410e25844b/Wristband_Grid.png?cb=b4ebd97e9a24fee82dbefe42b0425f2a)

## **Pedestrian Mode**

**Mounting:** The Mobile should be mounted flat with the transducer facing up.

**Training:** Perform 1-2 laps at a normal walking speed, ensuring that the Mobile's transducer maintains a clear line of sight to a minimum of at least four Anchors at all times.  
![image-20240823-184717.png](https://infocentre.zerokey.com/__attachments/a_c2b23346d016e2584338f8c495ff0c9a030b5b2b1a6d2e067675798dcd6a2601/image-20240823-184717.png?cb=54f9e3463b42c9faca7271d909a41efc)

## **Tooltip Mode**

**Mounting:**The Mobile should be mounted on top of where the tooltip will extend from. The image below displays how a Mobile can be mounted on a power drill.  
![image-20240823-182040.png](https://infocentre.zerokey.com/__attachments/a_b2be187124acc615bc4ef0b263a6253a7ac556424041cf6f76dabc91733afc74/image-20240823-182040.png?cb=daf14092778e49b6a7e29261542d4506)

Ensure the mounting is rigid and includes insulation between the Mobile and the tool to minimize the effect of noise and vibrations on the navigation performance. The Mobile should be mounted on the tool in a position that ensures maximum visibility to the Anchors throughout the workflow. To calculate accurate positions, the Mobile needs a clear line of sight to at least four Anchors.

**Training:**

1. Before starting positioning, hold the Mobile stationary and level within the tracked space. Ensure that it has a clear line of sight to at least four Anchors.

2. Start positioning.

3. Move the Mobile forward by hand, with the button facing in the forward direction at a moderate speed (\>0.25m/s) for at least 0.5 meters. The INS flags in the log will transition to`4: Successful fused positioning and orientation`. In the Gateway log, `pf:##` will be seen with every position update line. The first `#` is the INS flag and the second `#` is the ultrasonic flag. At this point, the heading should point in the correct direction.

`08/16/2024 17:20:17: |I| rf_cmd_update_position: Node: CD:F8:B8:66:5D:3C seq: 359696 ins: 0 pos: -0.64693,-1.78074,-0.66763 vel: 0.05126,0.00339,0.00082 rot: 0.69107,0.15448,0.12433,0.69506 flag: 00 pf: 43 ts: 7729537 toffset: 129470`

4. Next, move the Mobile in a forward and reverse motion by hand, ensuring no angular motion. The heading should point in the correct direction with no drift. Flag 4 should still be reporting in the log. If drift is observed or the heading is incorrect, reboot the Mobile by briefly pressing the grey button and restart from Step 3.

## **Hybrid AGV and AGV Mode**

**Mounting:**The Mobile should be mounted flat on the AGV with the button facing forward. Ensure the mounting is rigid and includes isolation between the Mobile and the AGV to minimize the effect of noise and vibrations on the navigation performance.

**Training:**

* When positioning starts, the first motion should be forward and straight, with a speed greater than 0.3m/s for 5 seconds.

* After this, the AGV can proceed with its designated trajectory or expected route. Training will be live during the AGV navigation. It is recommended to include additional motions in the AGV trajectory (i.e., rotations) after the initial forward motion to ensure accurate training.

## **Generic Profile**

This profile is less restricted, offering flexibility for use cases that don't have the specific requirements of the previous three profiles. However, for better accuracy, it is advised to use one of the specialized profiles if applicable.

**Mounting and Training**: Follow the mounting and training steps that closely resemble the applicable profile. The first motion should adhere to the initial motion requirements for the AGV case outlined above.

---
language: "en"
---
# MQTT Setup

We'll walk you through the process of adding a new connection and how to manage each one. Ensure encrypted and secure communication between client and server by adding certificates. As well, you'll learn how to submit, confirm, and delete existing certificates.  
![image-20240823-213952.png](https://infocentre.zerokey.com/__attachments/a_5a85b22547dcef3a1c0dbd50eb20a6c82360f7004b226f144a17f44287cbfbb2/image-20240823-213952.png?cb=d30f566fc32fd77733ac086ab69b59af)

---
language: "en"
---
# Dashboard

Customize ZeroKey's dashboard to visualize your assets movement throughout your facility. Analyze positioning and collision data, adjust network settings and use MQTT to integrate with your systems.  
![image-20240823-193736.png](https://infocentre.zerokey.com/__attachments/a_303871135e196118b9f996e47f6bb33d11380f86f35b66604e12fd3769a8c853/image-20240823-193736.png?cb=36d8e0bd13e15b8233ea894e108ff9d9)

---
language: "en"
---
# Network Configuration

Connecting to the ZeroKey ECD (Edge Compute Device) is an essential step to maximize the benefits of your positioning system. Learn how to establish a direct connection to your ECD or integrate it into your network for added convenience.  
![image-20240823-213952.png](https://infocentre.zerokey.com/__attachments/a_d1c91445f4f8a66e6a29247f27a8c9a7d9c7151c81265e894968ea6a59ba2dc8/image-20240823-213952.png?cb=d30f566fc32fd77733ac086ab69b59af)

[Next Page](https://infocentre.zerokey.com/llms-full.txt/1)
