What is IoT Connector?¶
Zebra IoT Connector
is a standard built-in feature inside RFID readers (FX9600
, FX7500
, and ATR7000
) that makes reader deployment easy. It provides easy-to-use interface to manage, control readers as well as to extract tag data and events from readers. The interface is built on web-friendly protocols such as MQTT, REST and JSON-formatted data structures that can be leveraged by any web applications running on the cloud or on-premise.
Readers can push tag data and events to the cloud via MQTT. To push data to a local webserver, reader can also stream using HTTP Post. Applications can manage and control readers using either MQTT or REST interface.
System Overview¶
Interfaces¶
The Zebra IoT Connector
feature provides four different interfaces as below, each can be configured to use a different endpoint of choice.
Management
Health
Control
Data
Management Interface¶
This interface is used to perform management actions on reader (e.g firmware update, getting and setting reader configuration). This is a synchronous interface, i.e. the reader accepts commands on this interface and sends response to those commands.
This interface can be configured to use either MQTT (for cloud deployments) or REST APIs (for on-premise deployments).
When configured to use a MQTT endpoint, command and response topics must be specified to perform management functions. Refer RAW MQTT Payload Schemas on how to perform these operations over MQTT.
When using Local REST for management, please refer Local Deployment REST API Guide.
Management Events Interface¶
Unlike the Management interface, this is an asynchronous interface, i.e the reader sends asynchronous messages on this interface. This interface is used to monitor health events from the reader (e.g Heartbeats (reader temperature, CPU, RAM, etc.), GPIO events, Errors and Warnings (CPU, RAM, Flash utilizations)).
This interface can be configured to use either MQTT (for cloud deployments) or HTTP Post (for on-premise deployments).
When configured for an MQTT endpoint, the management events topic must be used to consume the health events from the reader. Refer Health Events Format schema to get health events over MQTT or HTTP Post.
The health events can be configured at the time of deployment via configuration file or at run time using the Management Interface (e.g heartbeat fields and interval, errors and warnings limits and reporting interval, etc).
When Management Interface is configured to use a MQTT endpoint
get_config
andset_config
commands are used for retrieving and updating health events configuring. Refer RAW MQTT Payload Schemas on how to perform these operations over MQTT.When Management Interface is configured for Local REST
GET/PUT config
APIs are used for retriving and updating health events configuring, please refer Local Deployment REST API Guide.
Control Interface¶
This Interface is used to perform control actions on the reader (for example, configuring the radio mode, starting/stopping the tag reads). This interface is a synchronous interface, similar to Management Interface.
This interface can be configured to use either MQTT (for cloud deployments) or REST APIs (for on-premise deployments).
When configured to use a MQTT endpoint, command and response topics must be specified to perform control functions. Refer RAW MQTT Payload Schemas on how to perform these operations over MQTT.
When using Local REST for control, please refer Local Deployment REST API Guide.
Data Interface¶
This interface is used to consume RFID tag events from the reader. IoT Connector supports sending data events to two separate data endpoints. The endpoints can be any of the endpoint types supported.
When configured for an MQTT endpoint, the tag events topic must be used to consume the RFID tag data from the reader.
The Management Interface can be used to configure the Operating Mode at run time. Refer Operating Modes Schema for supported configuration options.
When Management Interface is configured to use a MQTT endpoint
get_mode
andset_mode
commands are used for retrieving and updating tag identification mode settings. Refer RAW MQTT Payload Schemas on how to perform these operations over MQTT.When Management Interface is configured for Local REST
GET/PUT mode
APIs are used for retrieving and updating tag identification mode settings, please refer Local Deployment REST API Guide.
The data interface additionally supports following features.
Retention
Batching
Retention¶
Enables reader to buffer the tag events and stream data back to server in case of network issues or server failures. By default retention will be enabled and reader can retain most recent 150000 tag events and can stream data back to server at 500TPS.
Batching¶
Enables reader to group multiple tag events into single event based on the configuration. Batching reduces network usage as well as reader CPU usage.
The Retention and Batching features can be configured at the time of deployment via configuration file or at run time using the Management Interface.
When Management Interface is configured to use a MQTT endpoint
get_config
andset_config
commands are used for retrieving and updating retention and batching configuring. Refer RAW MQTT Payload Schemas on how to perform these operations over MQTT.When Management Interface is configured for Local REST
GET/PUT config
APIs are used for retrieving and updating retention and batching configuring, please refer Local Deployment REST API Guide.
Important
Depending on how the Zebra IoT Connector
interfaces are configured, there are three possible deployment modes as described in the chapter Introduction.
Reader Components¶
The reader contains a number of software components that enable Cloud Connect for RFID.
Reader Gateway¶
The Reader Gateway is the component responsible for connecting to the outside world. The Management and Control requests are received by the Reader Gateway and passed along to be handled by the appropriate component. The Reader Gateway also collects the tag data from the Radio Control and pushes them out on the Data interface.
Radio Control¶
The Radio Control component configures, controls, and maintains a connection to the RFID radio. Radio control receives the tag read events from the radio and sends them to the Reader Gateway which in turn passes it onto the Data interface.
Reader Manager¶
The Reader Manager is the component responsible for performing all reader configuration and management operations.
Reader Webserver¶
The Reader Webserver presents a web console to control the reader. When Cloud Connect Management and Control Interfaces are configured for Local REST mode, the Reader Webserver handles the REST requests before passing the requests to the Reader Gateway.