Industrial Security on Jetson - 1
Industrial Security on Jetson - 2

Industrial Security on Jetson

TensorRT-accelerated person detection on Jetson — RTSP cameras, restricted-zone / line-cross / dwell rules, real-time browser dashboard.

Intermediate15minvision_ai
JetsonSecurityintrusion-detectionedge-aitensorrtrtsp

What This Solution Does

Industrial sites need eyes on restricted zones around the clock — but cloud-based AI surveillance means video leaves the premises, latency spikes, and a dropped network connection blinds the whole system. This solution runs AI person detection and rule-checking entirely on a reComputer Industrial (Jetson Orin) at the edge: video never leaves the local network, alerts fire in under a second, and it keeps working when the internet doesn't.

Core Benefits

BenefitDetails
Data stays on-siteVideo frames are processed locally on the reComputer — nothing is uploaded, no cloud account, no data egress
Sub-second alertsThe Jetson GPU analyzes every frame at 15-30 FPS, intrusions are flagged within ~1 second
Flexible safety rulesDraw restricted zones, virtual fence lines, and dwell-time triggers directly in the browser — no code
Works offlineOnce deployed, the system runs without internet — perfect for remote sites, factories, mines
Standard camerasPlug in any RTSP IP camera (Hikvision, Dahua, ONVIF generic) — no proprietary hardware lock-in

Use Cases

ScenarioWhat It Catches
Factory floor safety zonesWorkers entering machinery exclusion areas during operation
Warehouse restricted areasAfter-hours intrusion into chemical / high-value storage zones
Construction site perimetersUnauthorized people crossing fence lines or entering excavation pits
Mining hazard zonesPersonnel entering blast areas or unstable ground
Substation / utility yardsTrespassing in high-voltage equipment areas

What You Need

Hardware

DevicePurposeRequired
reComputer Industrial (Jetson Orin NX / Nano)Runs the detection model with Jetson GPU accelerationYes
RTSP IP cameraProvides the live video feed (Hikvision, Dahua, or any ONVIF-compatible)Yes
Local network switch / PoE switchConnects the Jetson and the cameraYes

Software

  • Jetson with JetPack 6.x (L4T 36.x) flashed
  • Docker + NVIDIA Container Runtime (pre-installed on Seeed reComputer Industrial)
  • SSH access from your computer to the Jetson

Notes Before You Deploy

  • The first deployment pulls a ~3-5 GB Docker image — keep an eye on disk space
  • The first run builds a Jetson GPU-optimized detection engine (1-2 minutes) and caches it for subsequent restarts
  • Test your camera RTSP URL with VLC or ffprobe before deploying — most issues come from a wrong URL
  • One Jetson handles one camera in this configuration — for multi-camera sites, deploy one instance per Jetson

Usage Requirements

rtsp

IP camera RTSP stream (Hikvision / Dahua / ONVIF)

Deployment Options

Download & Install

Preset: Deploy to Jetson {#default}

Run AI-accelerated person intrusion detection on your reComputer Industrial (Jetson Orin), with live video and configurable safety rules in a browser dashboard.

DevicePurpose
reComputer Industrial (Jetson Orin NX / Nano)Runs the AI detection pipeline with GPU acceleration
RTSP IP cameraProvides the live video feed

What you'll get:

  • Live annotated video stream (bounding boxes + zones + lines) in the browser
  • Configurable restricted zones, fence lines, and dwell-time rules
  • Event log with snapshots when rules trigger
  • HTTP API for stats / events / live MJPEG (/api/stats, /api/events, /api/stream)

Requirements: Jetson with JetPack 6.x · Docker + NVIDIA runtime · SSH access · Working RTSP camera URL

Step 1: Initialize Camera {#init_camera type=manual required=false}

Set up your IP camera and grab its RTSP URL.

  1. Connect the IP camera and the Jetson to the same network (or PoE switch)
  2. Find the camera's IP — check your router's DHCP list, or use the camera vendor's discovery tool
  3. Log into the camera's web UI, make sure RTSP streaming is enabled (it usually is by default)
  4. Note down the RTSP URL — you'll paste it in Step 2

Common RTSP URL formats:

  • Hikvision: rtsp://admin:password@<ip>:554/Streaming/Channels/101 (main) or /102 (sub)
  • Dahua: rtsp://admin:password@<ip>:554/cam/realmonitor?channel=1&subtype=0 (main) or &subtype=1 (sub)
  • Generic ONVIF: Use the vendor's ONVIF tool to discover the stream URL

Tip: Test the URL in VLC first (Media → Open Network Stream → paste URL). If VLC can't play it, the deployment won't work either.

Troubleshooting

IssueSolution
Cannot reach camera web UIping <camera-ip>. Verify the camera and your computer are on the same subnet
RTSP stream fails in VLCRe-check username/password. Some cameras need RTSP enabled in settings explicitly
Don't know the RTSP pathTry the vendor defaults above, or look it up in the camera's user manual
Stream stutters or freezes in VLCSwitch to the sub-stream URL (lower resolution / bitrate) — main streams may exceed your network capacity

Step 2: Deploy Industrial Security Service {#deploy type=docker_deploy required=true config=devices/docker_remote.yaml}

Deploy the detection service to your Jetson. The deployer pulls the prebuilt image, writes your RTSP URL into the config, and starts the container.

Target: Local Deployment {#deploy_local type=local config=devices/docker_local.yaml default=true}

Deploy on this machine directly (only works when SenseCraft Solution app is running on the Jetson itself).

Wiring

  1. Confirm Docker + NVIDIA runtime are installed on this Jetson
  2. Paste the RTSP URL from Step 1
  3. Click Deploy

Note: First start takes 1-2 minutes to compile a Jetson GPU-optimized detection engine. The compiled engine is cached, subsequent restarts are instant.

Deployment Complete

The dashboard is at http://localhost:8080. You should see:

  • Live annotated video on the main panel
  • A yellow restricted zone and a magenta fence line drawn on the frame (defaults — edit them in the browser)
  • Stats (FPS, detection count) updating in real time

Quick API check:

curl http://localhost:8080/api/stats
# Expected: JSON with current FPS, detection count, recent events

curl http://localhost:8080/api/events
# Expected: JSON list of triggered events (empty on first deploy)

Troubleshooting

IssueSolution
Docker pull is slowImage is ~3-5 GB. In China, configure a Docker registry mirror first
Detection engine build fails on first startConfirm JetPack 6.x is installed and /usr/src/tensorrt exists. Check docker logs industrial-security-demo for details
RTSP cannot be openedRun ffprobe rtsp://... from the Jetson to test. Verify the camera and Jetson are on the same network
Container keeps restartingdocker logs industrial-security-demo — most often the RTSP URL is wrong or the camera is unreachable
Dashboard shows blank videoOpen browser DevTools → Console / Network. The MJPEG stream is at /api/stream — make sure it loads
nvidia-smi style errors / GPU not foundNVIDIA Container Runtime not installed. Run sudo apt install nvidia-container-toolkit && sudo systemctl restart docker

Target: Remote Deployment {#deploy_remote type=remote config=devices/docker_remote.yaml}

Deploy to a remote Jetson over SSH.

Wiring

  1. Make sure the Jetson is on the network and reachable via SSH
  2. Enter the Jetson IP, SSH username, and password
    • reComputer Industrial defaults: user nvidia / password nvidia (factory) — change if you've already updated
  3. Paste the RTSP URL from Step 1
  4. Click Deploy — the system will pull the image and start the service

Note: First start takes 1-2 minutes to compile a Jetson GPU-optimized detection engine. The compiled engine is cached, subsequent restarts are instant.

Deployment Complete

The dashboard is at http://<jetson-ip>:8080. You should see:

  • Live annotated video on the main panel
  • A yellow restricted zone and a magenta fence line drawn on the frame (defaults — edit them in the browser)
  • Stats (FPS, detection count) updating in real time

Quick API check:

curl http://<jetson-ip>:8080/api/stats
# Expected: JSON with current FPS, detection count, recent events

curl http://<jetson-ip>:8080/api/events
# Expected: JSON list of triggered events (empty on first deploy)

Troubleshooting

IssueSolution
SSH connection failedTry ssh user@ip from your computer first. Check IP, username, password
Docker pull is slowImage is ~3-5 GB. In China, configure a Docker registry mirror first
Detection engine build fails on first startConfirm JetPack 6.x is installed and /usr/src/tensorrt exists. Check docker logs industrial-security-demo for details
RTSP cannot be openedRun ffprobe rtsp://... from the Jetson to test. Verify the camera and Jetson are on the same network
Container keeps restartingdocker logs industrial-security-demo — most often the RTSP URL is wrong or the camera is unreachable
Dashboard shows blank videoOpen browser DevTools → Console / Network. The MJPEG stream is at /api/stream — make sure it loads
nvidia-smi style errors / GPU not foundNVIDIA Container Runtime not installed. Run sudo apt install nvidia-container-toolkit && sudo systemctl restart docker

Step 3: Verify in Browser {#dashboard type=manual required=true}

Open the dashboard and tune the safety rules to fit your scene.

  1. Open http://<jetson-ip>:8080 in any modern browser on the same network
  2. You'll see the annotated live feed with default zones / lines
  3. Use the configuration panel (right side) to:
    • Redraw the restricted zone by clicking points on the frame
    • Move the fence line to where you want intrusion alerts
    • Adjust the dwell-time threshold (how long someone has to stand in the zone before it counts)
    • Tune the detection confidence (lower = more sensitive, higher = fewer false positives)
  4. Save — changes take effect immediately

Troubleshooting

IssueSolution
Dashboard not loadingVerify port 8080 is open on the Jetson firewall: sudo ufw status
Video frame is frozenRTSP feed dropped — check camera, then docker restart industrial-security-demo
Events never triggerConfidence threshold too high, or zone doesn't cover the actual person path. Lower confidence to 0.25 and re-test
Multiple cameras neededCurrent config supports 1 camera. Multi-camera support is on the roadmap — for now, deploy one instance per Jetson

Deployment Complete

Congratulations! Your industrial security monitoring system is running on the edge.

Quick Verification

  1. Walk into the restricted zone in front of the camera — within ~1 second a bounding box should turn red and an event should appear in the event log
  2. Cross the fence line — a line-cross event should fire
  3. Stand still in the zone past the dwell threshold — a dwell event should fire
  4. Hit http://<jetson-ip>:8080/api/events in your browser — the events should be listed there

API Reference

EndpointMethodDescription
/GETWeb dashboard
/api/statsGETRealtime FPS, detection counts, last event
/api/eventsGETEvent history (?date=YYYYMMDD to filter)
/api/configGET / POSTRead or update zones / lines / detector thresholds
/api/streamGETAnnotated MJPEG video stream

Next Steps

  • Hook the /api/events endpoint into your existing alarm / SCADA / WeChat-Work bot
  • Pipe events to a central log aggregator (Loki / ELK) for multi-site monitoring
  • For multi-camera sites, deploy one instance per Jetson — each one is independent
  • Industrial Security Demo on GitHub
Contact Us
We Are Glad to Be Your Hardware Partner !
Next