Relay APK Setup
The U300 Relay APK is an Android app that runs on a tablet at the venue. It acts as a bridge between the Chainway U300 RFID reader (on the local network) and the Parlevel cloud app.
How it works
Chainway U300 ──(LAN)──► Android Tablet (Relay APK) ──(HTTPS)──► Parlevel AppThe relay:
- Connects to the U300 reader's built-in HTTP API
- Polls for live tag inventory on a configurable interval
- POSTs new tag reads to Parlevel's
/api/rfid/u300/ingestendpoint
Requirements
- Android tablet on the same local network as the U300 reader
- U300 reader's IP address and port (default port:
5000) - The Parlevel ingest endpoint URL and key
Installation
- Download the latest
.apkfile from the Parlevel releases page - Enable Install from unknown sources on the tablet (Settings → Security)
- Install the APK
- Open the app and enter the configuration:
| Field | Value |
|---|---|
| U300 Web API URL | http://<reader-ip>:5000 |
| Relay Token | Your U300_RELAY_TOKEN value |
| Ingest Endpoint URL | https://your-app.vercel.app/api/rfid/u300/ingest |
| Ingest Key | Your RFID_INGEST_KEY value |
| Poll Interval (ms) | 1000 (recommended) |
Starting and stopping ingest
Once the relay is running, you control it from the Parlevel UI:
- Locations → [Location Name] → RFID tab → Start RFID — starts polling and forwarding
- Stop RFID — pauses ingest without closing the relay app
The relay app itself must remain open on the tablet. If the tablet screen locks or the app is closed, ingest stops.
APK versions
The relay API evolves with new APK builds. Key endpoint differences:
| Feature | Old APK | New APK (bankReadLock) |
|---|---|---|
| Bank reads | Sequential, may crash inventory | Serialized via ReentrantLock |
| Batch bank reads | /banks/read/batch may be absent | Supported |
| Antenna mask | /antennas/mask may be absent | Supported |
Always use the latest APK build. The Parlevel API degrades gracefully when a relay endpoint returns 404.
Network considerations
- The tablet must have a stable LAN connection to the U300 reader
- The Parlevel ingest endpoint must be reachable from the tablet (HTTPS)
- For local development, use an ngrok tunnel:
ngrok http 3000and setU300_INGEST_ENDPOINT_URLto the ngrok HTTPS URL
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
scanning: false in status | Old APK or bank read crash | Update to latest APK |
| 502 error on Start RFID | Reader unreachable | Check reader IP and LAN connection |
| Tags appear then disappear | Relay stopped | Check tablet screen lock / keep-awake setting |
No match for target EPC | Tag moved out of range between inventory and bank read | Normal for moving tags — will retry next poll |