Zebra Zebra Bluetooth Low Energy Devices MPACT Integration with Receivers

MPACT
Integration With Receivers
MN-003968-01EN
Integration with Receivers

Copyright

© 2020 ZIH Corp. and/or its affiliates. All rights reserved. ZEBRA and the stylized Zebra head are trademarks of ZIH Corp., registered in many jurisdictions worldwide. All other trademarks are the property of their respective owners.
COPYRIGHTS & TRADEMARKS: For complete copyright and trademark information, go to www.zebra.com/copyright.
WARRANTY: For complete warranty information, go to www.zebra.com/warranty.
END USER LICENSE AGREEMENT: For complete EULA information, go to www.zebra.com/eula.

Terms of Use

Proprietary Statement

This manual contains proprietary information of Zebra Technologies Corporation and its subsidiaries (“Zebra Technologies”). It is intended solely for the information and use of parties operating and maintaining the equipment described herein. Such proprietary information may not be used, reproduced, or disclosed to any other parties for any other purpose without the express, written permission of Zebra Technologies.

Product Improvements

Continuous improvement of products is a policy of Zebra Technologies. All specifications and designs are subject to change without notice.

Liability Disclaimer

Zebra Technologies takes steps to ensure that its published Engineering specifications and manuals are correct; however, errors do occur. Zebra Technologies reserves the right to correct any such errors and disclaims liability resulting therefrom.

Limitation of Liability

In no event shall Zebra Technologies or anyone else involved in the creation, production, or delivery of the accompanying product (including hardware and software) be liable for any damages whatsoever (including, without limitation, consequential damages including loss of business profits, business interruption, or loss of business information) arising out of the use of, the results of use of, or inability to use such product, even if Zebra Technologies has been advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you.
2
Integration with Receivers

Table of Contents

Copyright - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2 Terms of Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2
Proprietary Statement - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 Product Improvements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2 Liability Disclaimer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2
Limitation of Liability - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2 Table of Contents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -3 Receiver Bootstrapping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4
Sample Badge_Config.JSON - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 Bootstrap Process - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5 Receiver Filter Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5 Sample Simple Receiver Filter Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5 Sample Response From Server For Time Request By Receiver - - - - - - - - - - - - - - - - - - - - - -8 Sample HeartBeat Event Sent By Receiver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8 Sample Asynchronous Event Sent By Receiver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8 Sample Beacon Data Sent by Receiver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -9 Sample Receiver Filter Configuration With Support For SuperBeacons - - - - - - - - - - - - - - - - -10 Sample Beacon Data Sent By Receiver With SuperBeacons - - - - - - - - - - - - - - - - - - - - - - - - -12
3
Integration with Receivers

Receiver Bootstrapping

If a receiver has not been configured before then it tries to initialize itself.
Receiver acts as a WIFI client. It uses the following WIFI connection details to join the network.
SSID: mpact_init Security Type: wpa2 Security Key: mpact123
Upon joining the network the receiver continues with its initialization process.
The network settings and the gateway or endpoint-server way settings are needed for the receiver to complete its initialization process. The receiver expects it to be available from a machine with following details:
IP: 192.168.1.100 Port: 8005
The receiver expects a JSON configuration file called the bootstrap JSON file is available in the schema document [
badge_config.json
JSON Schema for Receivers.doc
to be served from this location. The schema for
].

Sample Badge_Config.JSON

{
"wifiProfiles": [{
"ssid": "wifinetwork123",
"securityKey": "abcd1234",
"securityType": "wpa2",
"wpaEnterpriseUser": "",
"wpaEnterprisePassword": "",
"wpaEnterpriseOuterIdentity": "",
"eapType": "",
"enable": true
}],
"gatewayConfigs": [{
"user": "superuser",
"password": "mpact123",
"receiverConfigURL": "http://192.168.1.100:8005/gateway-client/config/v1/receiver",
"configPullFrequencyInMins": 5,
"enable": true
}]
}
4

Bootstrap Process

Integration with Receivers
badge_config.json has network. The end point server connection details are provided in the
The receiver would validate the badge_config.json store the details and reboot itself and join the WIFI network provided in the
wifiProfiles
JSON file by making a GET request to the URL specified in 64 authentication, the username and password provided in the Receiver would periodically pull the beacon filter configuration from the server with the frequency specified in the
section. After successfully joining the WIFI network the receiver would try to pull a beacon filter configuration
configPullFrequencyInMins
wifiProfiles
section that tells the receiver how to the authenticate itself and connect to the WIFI
gatewayConfigs
receiverConfigURL
user
and
attribute and use changes to beacon filter configuration if any.
JSON attribute. If the server requires basic
password
section.
sections would be used by the receiver.

Receiver Filter Configuration

The beacon filtering details as well as the event, health endpoint details are to be provided to the receiver in the JSON file. The schema for the beacon filter JSON file is available in the schema document [ server should implement the endpoints for the following:
1. Provide beacon filter configuration requested by receiver using HTTP GET [Mandatory]
2. Provide time data
3. requested by receiver using HTTP GET [Mandatory]
4. Accept health events sent by receiver using HTTP POST [Mandatory]
5. Accept beacon data events sent by receiver using HTTP POST [Mandatory]
6. Provide firmware requested by receiver using HTTP GET [Optional]
JSON Schema for Receivers.doc
]. The

Sample Simple Receiver Filter Configuration

{
"scanIntervalInMilliseconds": 500,
"wifiTransmissionInterval": 8,
"heartbeatIntervalInSeconds": 30,
"timePullIntervalInMinutes": 5,
"bootTimeWaitInSeconds": 4,
"beaconWhiteList": [{
"uuid": "FE913213-B311-4A42-8C16-47FAEAC938AB",
"type": "mpact"
},
{
"uuid": "FE913213-B311-4A42-8C16-47FAEAC938EF",
"type": "mpact"
}
],
"profiles": [{
"name": "Location Beacons",
"profileLow": 1,
5
Loading...
+ 9 hidden pages