12/13/2024 - Document Created for FXR90 (Merged from FX7500/9600) - KS
5/27/2025 - Updated firwmare for FXR90 - KS
2/3/2026 - Updated firmware for FXR90 - KS
Make sure the devices are on the latest tested firmware. 3.0.16 (as of 2/3/2026)
Copy the tenantId. In this document we’ll assume tenantId abcd12345678901234567890
Gather the hostnames of the devices you need to stage (in lowercase)
Go to the MQTT page, on the Users tab:
If there is no userName for the tenant yet, add a new MQTT User:
UserName: tenantId
Description: Tenant Name
Password: Create something good, but keep a copy somewhere securely
Confirmation: Repeat password
Tenant: Select the tenant from the dropdown menu
Save
Got to the Access Tab add a new entry:
Username: tenantId
Description: Tenant Name
Permission “allow”
Action: “all”
Tenant: Select the tenant from the dropdown menu
Topics: Add the following 4 values exactly (including $s and curly brackets):
dataCollection/tagHistory/${username}/${clientid}
deviceManagement/device/${username}/${clientid}/+
+/dataCollection/tagHistory/${username}/${clientid}
+/deviceManagement/device/${username}/${clientid}/+
Save
This creates a user account on MQTT that will allow posting JUST to the device’s tenant only.
Add each device you are going to add:
IP address: doesn’t matter
Hostname: required: all lowercase
Type: recommended
Description: recommended
Max # antennas: 2, 4, 8 or 13
You can add the actual antenna configurations later. When you do, set the cooldown as high as possible. IoT Connector will treat this value slightly differently: IF the tag is in range when that cooldown ends, it will send another read. Regardless of whether the tag has left the antenna range or not. For conveyor belt setups, where the tag is not expected to return, set this to something very high like 2 hours.
Note: The default login for a device is “admin/change” for anything in production that should have been changed. Change the timezone to the correct timezone, update the time/date, and use an NTP server if available. If the device is new (or factory reset) you are required to set the region (US FCC)
Login on the device
Go to “Settings" in the bottom right
This should dump you to the ENDPOINT tab
Fill in the following information:
For Management:
Endpoint type: 'MQTT'
Endpoint name: 'Tenant Name - Environment' (IE: Duke Energy - Prod)
Endpoint Description: <blank>
Server: Production is app-emqx.sstid.com
Protocol: Secure Web Socket
Client Id: hostname (all lowercase!)
Clean Session: Unchecked
Debug: Unchecked
BASIC Authentication: Checked
User: MQTT
Password: MQTT
Keep Alive 60
QOS: 1
-Click the Topic Tab
Command Topic: deviceManagement/device/{tenantId}/{deviceName}/mgmt
IE: deviceManagement/device/675b45ded853781441c057/fxr90c60982/mgmt
Response Topic: deviceManagement/device/{tenantId}/{deviceName}/mgmtResponse
IE: deviceManagement/device/675b45def4d8781441c057/fxr90c60982/mgmtResponse
-Click the Certificates Tab
Use Installed Certs: Checked
Certificate: Server
USA CA Certs from Store: Checked
Cert Algorithm: RS256
Cert Format: PEM
Verify Server Certificate: Unchecked
Verify Host Name: Checked
-Click the Control Bubble:
Endpoint type: 'MQTT'
Endpoint name: 'Tenant Name - Environment' (IE: Duke Energy - Prod)
Endpoint Description: <blank>
Server: Production is app-emqx.sstid.com
Hostname: dev-emqx.sstid.com (for dev)
Hostname: staging-emqx.sstid.com (for staging)
Port: 8084
Protocol: Secure Web Socket
Client Id: hostname (all lowercase!)
Clean Session: Unchecked
Debug: Unchecked
BASIC Authentication: Checked
Keep Alive 60
QOS:
-Click the Topic Tab
Command Topic: deviceManagement/device/{tenantId}/{deviceName}/control
IE: deviceManagement/device/675b45f4d853781441c057/fxr90c60982/control
Response Topic: deviceManagement/device/{tenantId}/{deviceName}/controlResponse
IE: deviceManagement/device/675b45d4d853781441c057/fxr90c60982/controlResponse
-Cick the Tag Data 1 Bubble
Endpoint type: 'MQTT'
Endpoint name: 'Tenant Name - Environment' (IE: Duke Energy - Prod)
Endpoint Description: <blank>
Server: Production is app-emqx.sstid.com
Hostname: dev-emqx.sstid.com (for dev)
Hostname: staging-emqx.sstid.com (for staging)
Protocol: Secure Web Socket
Client Id: hostname (all lowercase!)
Clean Session: Unchecked
Debug: Unchecked
BASIC Authentication: Checked
Keep Alive 60
QOS:
-Click the Topic Tab
Response Topic: dataCollection/tagHistory/{tenantId}/{deviceName}
IE: dataCollection/tagHistory/675b45def4d3781441c057/fxr90c60982
-Click the Certificates Tab
Use Installed Certs: Checked
Certificate: Server
USA CA Certs from Store: Checked
Cert Algorithm: RS256
Cert Format: PEM
Verify Server Certificate: Unchecked
Verify Host Name: Checked
-Click the Batching and Retention tab
Reporting Interval:1000
Max Payload Size (in bytes): 256000
Throttle(in events per second): 10
No. of Events: 150000
Event Retention Time(in minutes): 1440
-Click the Management Events Bubble
Endpoint type: 'MQTT'
Endpoint name: 'Tenant Name - Environment' (IE: Duke Energy - Prod)
Endpoint Description: <blank>
Server: Production is app-emqx.sstid.com
Hostname: dev-emqx.sstid.com (for dev)
Hostname: staging-emqx.sstid.com (for staging)
Protocol: Secure Web Socket
Client Id: hostname (all lowercase!)
Clean Session: Unchecked
Debug: Unchecked
BASIC Authentication: Checked
Keep Alive 60
QOS:
-Click the Topic Tab
Response Topic: deviceManagement/device/{tenantId}/{deviceName}/events
IE: deviceManagement/device/675b45def4d853781441c057/fxr90c60982/events
-Click the Certificates Tab
Use Installed Certs: Checked
Certificate: Server
USA CA Certs from Store: Checked
Cert Algorithm: RS256
Cert Format: PEM
Verify Server Certificate: Unchecked
Verify Host Name: Checked
-Click the Batching and Retention tab
Reporting Interval:1000
Max Payload Size (in bytes): 256000
Throttle(in events per second): 10
No. of Events: 150000
Event Retention Time(in minutes): 1440
-Click Publish
After publishing, you should see the something like the following in the logs:
Dec 13 16:27:24 FXR90C60982 cloud_agent[93074]: [MGMT, CTRL, EVENTS, DATA#1]: connection success (connect onSuccess called)
Dec 13 16:27:24 FXR90C60982 cloud_agent[93074]: [MGMT, CTRL, EVENTS, DATA#1]: subscribing to topic (deviceManagement/device/675b45def4d853781441c057/fxr90c60982/mgmt)
Dec 13 16:27:24 FXR90C60982 cloud_agent[93074]: [MGMT, CTRL, EVENTS, DATA#1]: subscribing to topic (deviceManagement/device/675b45def4d853781441c057/fxr90c60982/control)
Dec 13 16:27:24 FXR90C60982 cloud_agent[93074]: [MGMT, CTRL, EVENTS, DATA#1]: successfully subscribed to topic (deviceManagement/device/675b45def4d853781441c057/fxr90c60982/mgmt)
Dec 13 16:27:24 FXR90C60982 cloud_agent[93074]: [MGMT, CTRL, EVENTS, DATA#1]: successfully subscribed to topic (deviceManagement/device/675b45def4d853781441c057/fxr90c60982/control)
If you now check in Strategic RFID, the device should show as “online”
EMXQ Server
IP: 34.75.222.188 (don’t use for configuration of readers!)
Hostname: dev-emqx.sstid.com
Management endpoint: http://35.229.95.19:18083/
IP: 35.185.5.26 (don’t use for configuration of readers!)
Hostname: staging-emqx.sstid.com
Management endpoint: http://34.73.96.156:18083/
IP: 34.138.140.245 (don’t use for configuration of readers!)
Hostname: app-emqx.sstid.com
Management endpoint: http://34.138.40.92:18083/