Hoq Vision
Turn a Linux box with USB cameras or barcode guns into a shared scanner.
What it does
You install the Vision client on a Linux box with one command. It finds its own USB cameras, USB barcode guns and serial scanners, then shows a six-digit code on its screen. You type the code into the Vision console and the box is yours.
An app that needs scans takes a lease on the box. A session lease lasts 120 seconds and renews with each heartbeat, so a scanner frees itself when the app goes away. A permanent lease is for a scanner that lives at one station and ends only when you release it.
Every scan is written to the log before it is pushed live to the lease holder, and a scan that arrives with no lease is still recorded. If the network drops, the box queues scans on disk and sends them when the link returns, even after a restart.
Vision does not decide what a code means. Your app does, so a second app can use the same scanners without any change to Vision.
In numbers
Specifications
| Install | One command: curl -fsSL https://vision.hoq.app/install | sudo sh. The box enrolls itself; no secret is typed on it. |
|---|---|
| Pairing | A six-digit code that expires after 15 minutes and allows 5 tries. The box collects its credential once. |
| Inputs | USB cameras, USB barcode guns that type like a keyboard, and USB-serial scanners. Each scan records which input it came from. |
| Camera codes | Cameras read QR codes. A barcode gun passes on whatever it reads. |
| Leases | Session leases last 120 seconds and renew on heartbeat. Permanent leases last until released. |
| Offline | Scans queue in a bounded on-disk SQLite spool and replay when the link returns, including after a restart. |
| Self-healing | The client runs under a systemd watchdog with a 60-second timeout and is restarted if it stops responding. |
| Box health | Each heartbeat reports disk, CPU temperature, load, memory, uptime, pending security updates and whether a reboot is needed. |
| Access keys | Apps use API keys with the vision:use scope. Boxes use vision:device. Wildcard keys are refused. |
Features
15 features, all shipped. Listed from the product's code and documentation; each row shows the day it was last checked.
| One-line install | Installs the client as an unprivileged user with root-owned code. | |
| Hardware discovery | Lists cameras with their modes and manual exposure and focus, barcode guns and serial ports. | |
| Late hardware | A gun plugged in after pairing appears without pairing again. | |
| Aim readout | Shows pixels per code module and the belt speed that implies, to help you place a camera. | |
| Watchdog | systemd restarts the client if it stops responding for 60 seconds. |
| Camera QR reading | Reads QR codes from live video across several cameras, counting a code seen by two cameras once. | |
| Barcode guns | Takes exclusive hold of USB guns so scans do not leak into other windows. | |
| Serial scanners | Reads USB-serial scanners when switched on per port. | |
| Durable spool | Queues scans on disk through outages and restarts, bounded by count and size. |
| Leases | Take a box for a session or permanently; renew, release and list scans. | |
| Live scans | Scans push to the lease holder over a socket scoped to that one lease. | |
| Catch-up | After a reconnect, fetch every scan since the last id you saw. | |
| Unclaimed scans kept | A scan with no live lease is still recorded. |
| Claim by code | Type the six digits a box shows to make it yours. | |
| Appliance list | See each box, its inputs, whether it is online and who holds it. |
Works with
- Hoq DevicesHoq Devices has a vision role, so a paired appliance can be given the scanning job.
- Hoq ID and platformApps reach Vision with Hoq ID API keys scoped to vision:use.
Your data
| Where it is kept | Scans, leases and box records are in Hoq Vision's database. Unsent scans wait in a SQLite file on your box. |
|---|---|
| Getting it out | GET /v1/scans returns scans as JSON. No file export is documented. |
| If you leave | Not documented yet. |
APIs and standards
- REST: /v1/appliances, /v1/leases, /v1/scans with a Bearer key (scope vision:use)
- Appliance REST: /v1/device/register, /v1/device/heartbeat, /v1/scans (scope vision:device)
- Live push over WebSocket, one room per lease
- Standard: QR Code
- Standard: USB HID
- Standard: V4L2
Compared
| Checked 2026-11-01 | Hoq Vision | Scandit Smart Data Capture SDK | Cognex DataMan | Datalogic Matrix |
|---|---|---|---|---|
| Price | Not published yet | Quote only1 | Quote only2 | Quote only3 |
| What reads the codes | Your Linux box with USB cameras, USB guns or serial scanners | Software SDK on phones, tablets and handhelds4 | Cognex fixed-mount readers5 | Datalogic Matrix fixed imagers3 |
| Uses existing USB barcode guns | Yes | Not supported6 | No, Cognex hardware only7 | No, Datalogic hardware only3 |
| Symbologies from a camera | QR Code | About 33, 1D and 2D (count of the SDK list; no total published)8 | 1D, stacked and 2D including direct part marks9 | 1D, stacked, 2D, postal, direct part marks, Digimarc10 |
| Fleet management | Hosted console: pair by code, leases, box health | Account dashboard for licences and scan counts11 | Edge Intelligence, run on site12 | DL.CODE Windows tool; cloud Connect for handhelds13 |
| Offline buffering | On-disk queue, survives restarts, replays on reconnect | Scanning works offline on the device4 | Reader image buffer; Edge Intelligence keeps days of results14 | Not published3 |
| Integration | REST leases and scans, live WebSocket push | SDKs for iOS, Android, Web, Linux, .NET, React Native, Flutter and more15 | DataMan SDK (.NET) and industrial protocols16 | Fieldbus and OPC UA3 |
- https://www.scandit.com/pricing/
- https://www.cognex.com/en/products/fixed-mount-barcode-scanners
- https://www.datalogic.com/eng/manufacturing-transportation-logistics-healthcare-gs1-digital-link/stationary-industrial-scanners/matrix-220-pd-841.html
- https://www.scandit.com/products/barcode-scanner-sdk/
- https://www.cognex.com/en/products/fixed-mount-barcode-scanners/dataman-390
- https://docs.scandit.com/sdks/web/add-sdk/
- https://cmbdn.cognex.com/handheld-terminal-sdk
- https://docs.scandit.com/data-capture-sdk/dotnet.ios/barcode-capture/api/symbology.html
- https://www.cognex.com/products/barcode-readers/fixed-mount-barcode-readers/dataman-370/symbologies
- https://cdn.datalogic.com/Download?iddwnfile=25790
- https://support.scandit.com/hc/en-us/articles/4417758844178-What-can-you-do-in-your-Account-dashboard
- https://www.cognex.com/en/products/edge-intelligence
- https://www.datalogic.com/eng/retail-manufacturing-transportation-logistics-healthcare-gs1-digital-link-other-applications/software-solutions/datalogic-connect-pd-1138.html
- https://docs.cognex.com/EI_100/EN/Edge_Intelligence_Reference_Manual.pdf
- https://www.scandit.com/developers/
- https://docs.cognex.com/dmst_2541/EN/CommunicationsAndProgramming.pdf