Configure a Zebra FX9600 Reader

Our step-by-step guide to configure the reader to forward data for processing by Pareto Anywhere.

Configure a Zebra FX9600 reader with Pareto Anywhere

The TL;DR (Too Long; Didn't Read)

Configure readers as IoT infrastructure using reelyActive's open source middleware


What will this accomplish?
The FX9600 will forward ambient RAIN RFID decodings to a server running Pareto Anywhere.
What's Pareto Anywhere?
Pareto Anywhere is open source IoT middleware that makes the data from just about anything usable.
What's the interface?
This integration uses the Zebra IoT Connector which runs on recent firmware versions of the FX9600 (as well as FX7500 and ATR7000) readers.

Prerequisites

A Zebra FX9600 Series reader.

Zebra FX9600
Zebra FX9600

Learn more from the manufacturer:

  Zebra

Connect and log in   Step 1 of 3

Connect to the FX9600 to create log in credentials and configure networking.


How to power?
The FX9600 can be powered via PoE (Power over Ethernet), either from a PoE switch or a PoE injector.
How to connect?
The FX9600 accepts connections on the local network to which it is connected by Ethernet.
Zebra FX9600 power and connectivity

Connect to the FX9600 Part 1

First note the six last digits of the MAC on the reader label (C47DCC123456) and then:

  • apply power to the reader by connecting it to PoE power sourcing equipment (PSE) using a standard network cable
  • from a laptop connected to the same network as the reader, browse to http://FX9600123456, replacing the 123456 with the digits from the label
  • if the browser warns of a potentially unsafe HTTPS connection, follow the necessary steps to proceed

The login page should appear in the browser.

Log in to the reader Part 2

If the admin password has already been changed, simply log in with that password and skip ahead to Step 2.

Zebra FX9600 initial log in

If this is the first ever log in on the FX9600, enter change as the admin password and click Login.

A popup dialog may appear, proposing to switch the reader from HTTP to HTTPS mode:

  • Cancel to remain in HTTP mode
    (recommended for sandbox deployments)
  • OK to switch to HTTPS mode
    (recommended for production deployments)
HTTPS switch dialog

If the reader is switched to HTTPS mode, browse to https://FX9600123456 and log in to the reader again.

Change password (OPTIONAL) Part 3

The password can only be changed when the reader is in HTTPS mode.

If not automatically redirected to the password change page after login, from the Reader Administration Console, select Change Password from the menu at left.

Change the password to one which respects the length and characters criteria described in the helper text at right (ex: ZebraFX9600!) and click Change Password.

If prompted, log in again with the new password.

Change password

Configure Zebra IoT Connector   Step 2 of 3

Configure the onboard Zebra IoT Connector to read tags and forward formatted data to Pareto Anywhere.


How is data collected?
The FX9600 supports several configurable modes which specify how/when to read tags.
How is data forwarded?
The FX9600 supports MQTT, Web Socket, Webhook and more. MQTT is natively supported by the barnowl-zebra module of Pareto Anywhere.
Zebra IoT Connector configuration

Configure endpoints Part 1

Zebra IoT Connector configuration

From the Reader Administration Console, browse to the Zebra IoT Connector - Configuration page from the menu at left.

Click Add Endpoint to add a new endpoint for relaying data, and select and configure a MQTT or Web Socket endpoint type as indicated in the tabs below.

This is the recommended interface when using Pareto Anywhere with a MQTT server.

Connection
Parameter Value Notes
Server xxx.xxx.xxx.xxx IP address (or hostname) of MQTT server
Port 1883 Secure MQTT instead uses port 8883
Protocol TCP Secure MQTT instead uses TLS
Client id ziotc Use as required
Clean session Start up with a clean session
Debug Do not publish raw MQTT broker messages
Basic authentication Use as required
Keep alive 60 Heartbeat every minute to maintain connection
Topics
Type Topic Notes
Management events Do not publish
Tag data events ziotc/data Publish with QoS 0, without retention
Management Do not publish
Control Do not publish
Certificates

Edit the Certificates tab only if using secure MQTT.

Batching & Retention
Parameter Value Notes
Reporting interval Ignored
Max payload size Ignored
Throttle 100 Maximum events per second
No. of events 0 Do not retain events
Event retention 0 Report real-time events only

This interface facilitates direct connection between the barnowl-zebra module of Pareto Anywhere and the reader.

Connection
Parameter Value Notes
Secure Select only if reader is in HTTPS mode
Batching & Retention
Parameter Value Notes
Reporting interval Ignored
Max payload size Ignored
Throttle 100 Maximum events per second
No. of events 0 Do not retain events
Event retention 0 Report real-time events only

Click Update to save the endpoint.

Once the endpoint(s) are configured and saved, map a Tag Data Interface to each and click Update.

Zebra IoT Connector interface configuration

Connect Part 2

Zebra IoT Connector connection

From the Reader Administration Console, browse to the Zebra IoT Connector - Connection page from the menu at left.

Enable Auto Connect so that the Zebra IoT Connector is automatically enabled after any restart.

Click Connect to enable the Zebra IoT Connector. Wait on the page until the operation completes 1 min, entering the admin password if prompted.

Select operating mode Part 3

Zebra IoT Connector operation

From the Reader Administration Console, browse to the Zebra IoT Connector - Operating Mode page from the menu at left.

Select and configure Inventory or Simple operation mode as indicated in the tabs below.

Simple mode is similar to Inventory mode.

Simple operating mode

Set the Report filter duration to 1 second. Adjust the Environment and Filters if/as required.

Recommended Tag Metadata properties
Property Value raddec equivalent
RSSI rssi
SEEN_COUNT numberOfDecodings
ANTENNA receiverAntenna
MAC receiverId

Inventory is the recommended operating mode for common applications.

Inventory operating mode

Set the Reporting interval to 1 second. Adjust the Environment and Filters if/as required.

Recommended Tag Metadata properties
Property Value raddec equivalent
RSSI rssi
SEEN_COUNT numberOfDecodings
ANTENNA receiverAntenna
MAC receiverId

Complete the Antenna Configuration by enabling Ports with connected antennas and adjusting the Transmit Power as required.

Zebra IoT Connector antenna configuration

Click Set Properties to save the Operating Mode configuration.

Read tags Part 4

Zebra IoT Connector connection

From the Reader Administration Console, again browse to the Zebra IoT Connector - Connection page from the menu at left.

Click Start to begin reading tags.

Zebra IoT Connector running

The Connection Status table should reflect the state of the endpoint(s):

  • MQTT connected indicates that the reader successfully connected with the remote MQTT broker.
  • Web Socket connected indicates that the remote client has successfully connected with the reader.
Zebra IoT Connector connection status

Observe data in Pareto Anywhere   Step 3 of 3

Run the Pareto Anywhere open source middleware to observe the forwarded data.


How to run Pareto Anywhere?
We provide friendly tutorials to install on a laptop, a Pi, etc.
Is there a quick and dirty way?
Yes. Our barnowl-zebra package provides a simple means to receive reader data and log to the console (see below).
Zebra FX9600 data in Pareto Anywhere

Observing data in Pareto Anywhere requires no additional action if an instance based on the pareto-anywhere package is running, or, for quick-and-dirty validation, run barnowl-zebra as described below.

If a Pareto Anywhere installation based on the pareto-anywhere package is already present and running on the target computer on the host network, the data forwarded by the reader to a MQTT broker running on the same target should be available in both the web apps and APIs.

To quickly collect real-time tag data directly from the reader, it is possible to run barnowl-zebra standalone to connect via Web Socket as follows:

git clone https://github.com/reelyactive/barnowl-zebra.git
cd barnowl-zebra
npm install
npm run websocket FX9600123456*

* change FX9600123456 with the hostname or IP address of the reader

If the reader is correctly configured, and at least one RAIN RFID tag is in range, raddec data should appear in the console.

Enjoy the real-time data stream

Our cheatsheet details the raddec JSON output from the Pareto Anywhere open source middleware.

Tutorial prepared with by jeffyactive.

You can reelyActive's open source efforts directly by contributing code & docs, collectively by sharing across your network, and commercially through our packages.

Where to next?

Continue exploring our open architecture and all its applications.