Skip to content
sstreamzet/docs
xSpan SDK 0.2.1Open console
Developer docs / xSpan SDK
API and integration guide · Updated 2026-09-23

Quickstart: test a reader

Prepare a unique installation directory on a trusted computer, install it on one xSpan, and verify the connection.

1. Prerequisites

  • An xSpan R660 matching the qualified environment, with authorized SSH or OEM factory provisioning access.
  • The evaluation ZIP, a separately supplied enrollment key file and a StreamZet operator account.
  • Python 3 on the provisioning computer; correct reader time, DNS and outbound TCP 443. Python is not required on the reader.

2. Extract and verify

sh
shasum -a 256 -c streamzet-xspan-evaluation-0.2.1-20260922.zip.sha256
unzip streamzet-xspan-evaluation-0.2.1-20260922.zip -d xspan-evaluation
cd xspan-evaluation
shasum -a 256 -c SHA256SUMS

On Linux, sha256sum -c can replace shasum. Obtain the checksum file together with the ZIP.

3. Provision one device

sh
umask 077
mkdir -p ./provisioning
python3 device/prepare-device.py \
  --registration-key /secure/JCI-production-key.txt \
  --output ./provisioning/reader-001 \
  --name 'xSpan R660 001'

The new directory contains the engine, CA bundle, lifecycle scripts, enrollment key and a unique 64-byte entropy seed. The tool refuses an existing output directory. First startup creates state/identity containing the device UUID and secret.

4. Transfer and start

Use verified SSH or approved factory provisioning. This example assumes /mnt/spp/streamzet-jci does not already exist on the test reader. Adapt the installation location to the OEM’s persistent-storage policy.

sh
# On the provisioning computer
scp -pr ./provisioning/reader-001 root@READER_HOST:/mnt/spp/streamzet-jci

# In the reader's authorized shell
cd /mnt/spp/streamzet-jci
chmod 700 . state streamzet-embedded start.sh stop.sh
chmod 600 registration.key cacert.pem device-name state/entropy.seed
./start.sh

5. Verify the connection

  1. Sign in to StreamZet and confirm that the named reader appears online in Devices.
  2. Open the terminal and run the read-only commands below. The output should match the actual reader.
  3. In Fleet → Linux → sh · xSpan / embedded, select only this test reader and run the same command. Check its result and exit code.
sh
printf 'STREAMZET_TEST_OK\n'
uname -m
uptime

The agent checks the Fleet queue approximately every 30 seconds. Enrollment is asynchronous; successful process startup does not by itself confirm online status.