Our step-by-step guide to configure the reader to forward data for processing by Pareto Anywhere.
Configure readers as IoT infrastructure using reelyActive's open source middleware
A Zebra FX9600 Series reader.
Connect to the FX9600 to create log in credentials and configure networking.
First note the six last digits of the MAC on the reader label (C47DCC123456) and then:
The login page should appear in the browser.
If the admin password has already been changed, simply log in with that password and skip ahead to Step 2.
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:
If the reader is switched to HTTPS mode, browse to https://FX9600123456 and log in to the reader again.
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.
Configure the onboard Zebra IoT Connector to read tags and forward formatted data to Pareto Anywhere.
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.
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 |
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 |
Edit the Certificates tab only if using secure MQTT.
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.
Parameter | Value | Notes |
---|---|---|
Secure | Select only if reader is in HTTPS mode |
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.
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.
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.
Set the Report filter duration to 1 second. Adjust the Environment and Filters if/as required.
Property | Value | raddec equivalent |
---|---|---|
RSSI | rssi | |
SEEN_COUNT | numberOfDecodings | |
ANTENNA | receiverAntenna | |
MAC | receiverId |
Inventory is the recommended operating mode for common applications.
Set the Reporting interval to 1 second. Adjust the Environment and Filters if/as required.
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.
Click Set Properties to save the Operating Mode configuration.
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.
The Connection Status table should reflect the state of the endpoint(s):
Run the Pareto Anywhere open source middleware to observe the forwarded data.
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.
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.Continue exploring our open architecture and all its applications.