- Print
Connect with sub-millimeter precision trackers to streamline operations effectiveness with Tulip and ZeroKey.
Getting Started with ZeroKey
ZeroKey Inc. is a rapidly rising technology company that designs, engineers, and manufactures the world’s most accurate, large-scale, 3D real-time location system (RTLS). ZeroKey and Tulip partnered to offer an integrated solution that combines ZeroKey’s Quantum RTLS technology with Tulip’s Frontline Operations Platform. Traditional location technologies cannot precisely digitize human-centric processes on a large scale, resulting in significant untapped value in production efficiency, worker safety, quality control, and more. With the ZeroKey and Tulip integration, customers gain complete visibility of any process, from human-centric manufacturing to facility-wide order tracking.
The purpose of the ZeroKey Widgets are to provide you with ready to use widgets that can serve as a usable widget in an app or be the starting place for more customized widgets that leverage Zerokey. These custom widget plugins are coded widgets that sit on top of the Tulip platform and leverage Zerokey’s spatial intelligence platform, making it easy to get started with Zerokey in Tulip.
Zerokey Location Widget
The Zerokey Location widget is a visual ZeroKey device location tracker. This widget updates in real-time to display the location of devices relative to the drawing canvas. This widget can be laid over an image, such as a shop floor map, in an App to provide accurate real-world location information.
Video Walkthrough
Setup
Custom Widget Plugins provide a powerful tool for adding customized widgets to your application. Widgets allow you to write Javascript to extend and customize the functionality of a widget. The Zerokey widgets leverage Javascript and Zerokeys APIs to provide a wide range of features. The Tulip Zerokey widgets also provide system “mocking” behavior, so you can start testing the widgets immediately. The following are required for Zerokey widgets:
- Your Zerokey Event Hub URL.
- Your Zerokey API token
- Location width in meters
- Location height in meters
- Device ID name map
- Mock data
With respect to the Zerokey Event Hub URL and API token we refer you to Zerokey documentation. The Zerokey information is added directly to the code of the The Location width and height refer to the physical width and height of the space that you have deployed your Zerokey spatial system. The Device ID name map is optional. This allows you to provide a human readable name to map to a device ID. For example the Device ID D8:FC:ED:EA:53:1C can be mapped to “Connector Widget Bin.” You can provide a JSON string object as a prop to your widget to map IDs. The following is an example:
{
“D8:FC:ED:EA:53:1C”: “Connector Widget Bin”,
“AA:BB:CC:12:34:56”: “Operator X Station”,
}
One final step is to ensure that the widget canvas size is set to have the same aspect ratio as your physical space. This will ensure that the widget outputs the locations to match your physical space.
In the widget Javascript code you can set the mock data variable to true to receive mock data, or false to receive only real data.
How it Works
Once you have set up your widget you can test it in the widget editor or add it directly to an App. In either case you will need to have Zerokey devices active in your Zerokey spatial area. Any device that is active in your Zerokey spatial area will display in your widget as a circle with the device ID or mapped name included. Typically, you will have an image that maps your physical space that you will place your widget over. In this case, the location of the device will be drawn accurately on your map. Note that your map image must have the same aspect ratio as your physical space and the widget canvas.
Zerokey Zone Widget
The Zone widget provides a visual list output of any zones that have reported a zone entered, zone exited, or zone occupied event. The visual list displays the same ID or name and the device ID or name for any devices associated with the zone.
Video Walkthrough
Setup
Custom Widget Plugins provide a powerful tool for adding customized widgets to your application. Widgets allow you to write Javascript to extend and customize the functionality of a widget. The Zerokey widgets leverage Javascript and Zerokeys APIs to provide a wide range of features. The Tulip Zerokey widgets also provide system “mocking” behavior, so you can start testing the widgets immediately. The following are required for Zerokey widgets:
- Your Zerokey Event Hub URL.
- Your Zerokey API token
- Zone ID name map
- Device ID name map
- Wire events to an App
- Mock data
With respect to the Zerokey Event Hub URL and API token we refer you to Zerokey documentation.
Zone and Device ID Maps
The Zone ID name map is optional. This allows you to provide a human readable name to map to a zone ID. For example the Device ID “aae876a0-cb98-4c12-a16c-a56764aea4r”can be mapped to “Vision station.” You can provide a JSON string object as a prop to your widget to map IDs. The following is an example:
{
“ffe434a0-cb29-4d22-a16c-70f764aedbcb”: “Parts room”,
“aae876a0-cb98-4c12-a16c-a56764aea4r”: “Vision station”,
}
The Device ID name map is optional. This allows you to provide a human readable name to map to a device ID. For example the Device ID D8:FC:ED:EA:53:1C can be mapped to “Connector Widget Bin.” You can provide a JSON string object as a prop to your widget to map IDs. The following is an example:
{
“D8:FC:ED:EA:53:1C”: “Connector Widget Bin”,
“AA:BB:CC:12:34:56”: “Operator X Station”,
}
One final step is to ensure that the widget canvas size is set to have the same aspect ratio as your physical space. This will ensure that the widget outputs the locations to match your physical space.
Wire events to an App
The Zerokey Zone widget fires events for zone entered, zone occupied, and zone empty. You can create triggers that listen to these events and respond in your App.
Mock Data
In the widget Javascript code you can set the mock data variable to true to receive mock data, or false to receive only real data.
How it Works
Once you have set up your widget you can test it in the widget editor or add it directly to an App. In either case you will need to have Zerokey devices active in your Zerokey spatial area and you will need to have configured zones. The widget will fire list zone information for zone events and will fire zone events for your app to respond. Note that you can hide the zone list in your app by either covering it with a shape, or commenting out the following code in the HTML of the widget:
<div id="surface"></div>
Zerokey Request-Response Widget
The Zerokey Request-Reponse widget provides an example of using other non-eventlistener elements of the Zerokey API. The widget will automatically get a Bearer token, and refresh it as needed. The widget provides a dashboard UI that allows the user to request information on devices seen today, zones, and specific device details. While this widget is immediately usable in a Tulip app, it is primarily used for examples and building other custom widgets from it.
Video Walkthrough
Setup
Custom Widget Plugins provide a powerful tool for adding customized widgets to your application. Widgets allow you to write Javascript to extend and customize the functionality of a widget. The Zerokey widgets leverage Javascript and Zerokeys APIs to provide a wide range of features. The Tulip Zerokey widgets also provide system “mocking” behavior, so you can start testing the widgets immediately. The following are required for Zerokey widgets:
- Your Zerokey API URL
- Your Zerokey username and password for API authentication
- Mock data
With respect to the Zerokey Event Hub URL and API token we refer you to Zerokey documentation.
Mock Data
In the widget Javascript code you can set the mock data variable to true to receive mock data, or false to receive only real data.
How it Works
Once you have set up your widget you can test it in the widget editor or add it directly to an App. In either case, if you are not mocking data, you will need to have Zerokey devices active in your Zerokey spatial area and you will need to have configured zones. The widget UI dashboard provides buttons that allow you to request devices seen today, zone status, and specific device information. If there are results they will be listed below the buttons.
Zerokey Tool Tracker Widget
The Zerokey Tool Tracker (Zerokey device tracker) widget checks if a specific device is in a user defined location. This is similar to checking if a device is in a user defined zone. The user can define the zone via the widget props. This could be used to track the most recent use of a torque driver with a Zerokey device attached to it. In this case you could check that the “right” screw was tightened. When the torque driver reports “done” to a Tulip App we use that signal to check the location of the device to ensure that the “correct” screw was just tightened.
Video Walkthrough
Setup
Custom Widget Plugins provide a powerful tool for adding customized widgets to your application. Widgets allow you to write Javascript to extend and customize the functionality of a widget. The Zerokey widgets leverage Javascript and Zerokeys APIs to provide a wide range of features. The Tulip Zerokey widgets also provide system “mocking” behavior, so you can start testing the widgets immediately. The following are required for Zerokey widgets:
- Your Zerokey API URL
- Your Zerokey username and password for API authentication
- Center x of user defined zone
- Center y of user defined zone
- Width of user defined zone
- Height of user defined zone
- Wire events to an App
- Mock data
With respect to the Zerokey Event Hub URL and API token we refer you to Zerokey documentation.
User Defined Zone
The Zerokey Tool Tracker widget lets you create a two dimensional zone via the widget props. You will need to know the center x,y location and the width and height of the zone in meters. You can get the center x,y location by using a Zerokey device and placing it in the desired center location. Once you have configured the user defined zone you can check if a Zerokey device is within the zone area.
Wire events to an App
For use in a Tulip App you will want to have a hardware device or Machine trigger an event. On that event it should write the device ID string to a Variable. That variable should be the input to the Zerokey Tool Tracker widget prop “device_id.”
Mock Data
In the widget Javascript code you can set the mock data variable to true to receive mock data, or false to receive only real data.
How it Works
Once you have set up your widget you can test it in the widget editor or add it directly to an App. After configuring your widget in an App you will be able to trigger the widget by updating its “device_id” prop. Typically this would be done via a trigger with a device (physical tool). On the device trigger it will write the device ID to a variable that is assigned to the “device_id” prop of the widget. This will make the widget request the device IDs information from the Zerokey API. If the location information for the device is within the area of the user defined zone it will send the event “valid_tool_location,” true if within the user defined area and false otherwise.