Praesens.io

Edge Setup Guide

Sign in, download the runtime, mint one enrollment code, configure the edge node, and verify live output.

Before You Begin

Access identity Your email must be allowed in Cloudflare Access.
Camera streams Have your camera's high-quality (main) and low-latency (sub) RTSP URLs ready for the setup wizard.
Local runtime Use a Windows host with Docker Desktop and Python/Tkinter.
Scene measurements Prepare at least five anchor points with known latitude and longitude.

Credential Roles

Cloudflare Access Human sign-in for the map and provisioning UI.
Enrollment code Single-use, time-limited setup code for one sensor.
Sensor bearer key Publisher credential returned once to the edge runtime.

Field users do not need Cloudflare control-plane access. The edge runtime stores the publisher credential locally and uses it only to publish validated sensor state and diagnostics.

Setup Steps

Five phases from sign-in to live validation. Phases 4 and 5 group the detailed wizard steps.

  1. 1

    Sign In

    Open the map site and complete Cloudflare Access sign-in with the operator email that was added to the allow policy.

    https://map.praesens.io
  2. 2

    Download The Runtime

    Use the map setup panel or the link above to download the edge runtime ZIP. Extract it into one folder and keep the package layout intact.

    praesens-edge-runtime/START_HERE.md
  3. 3

    Enroll — Mint One Code

    Open provisioning from the map or this page. Mint one code for one sensor node, then copy it into the setup wizard before it expires.

    Single use. Expires after 15 minutes.
  4. 4

    Configure & Calibrate

    Start the setup wizard, then enter the sensor, streams, position, and calibration.

    • Start the no-terminal setup app in the extracted package. If Windows blocks script launchers, use the PowerShell fallback from the package root. Praesens Edge Setup.pyw
    • Enter the sensor name, the high-quality (main) and low-latency (sub) stream URLs, and the enrollment code. The wizard checks stream host and port reachability before enrollment. Use placeholders in notes. Do not paste RTSP URLs into shared docs.
    • Enter camera site coordinates, select emitted classes, tune smoothing only when needed, upload a current screenshot, place at least five anchors, and draw the ROI polygon. ROI accepts in-mask detections and drops objects outside the mask.
  5. 5

    Validate Live

    Confirm real inference and that the same validated position reaches every output.

    • Let the wizard start Docker, or use the runtime scripts. The strict health check should show real inference and avoid stub mode before field validation. .\edge\scripts\health.ps1 -Strict
    • Watch for accepted tracks in the map and verify the expected operational output path, such as TAK, receives the same stable live position without noticeable delay. Map track, Validation Inspector, and TAK should agree.

Troubleshooting

Access page does not load Confirm the operator email is in the Access allow policy.
Mint is denied Access may be valid but the identity may not be owner/admin.
Enrollment fails Mint a fresh code and check for mistyped, expired, or used codes.
Stream preflight fails Check IP, port, network path, and whether the camera is online.
No map tracks Check class selection, confidence, ROI, movement gates, and publish auth.
Stub mode appears Fix runtime/model or camera availability before live validation.
"Error constructing the frame RPS" log spam Harmless H.265 decode noise while joining the stream mid-keyframe-interval; fine if frames and detections keep flowing.