Preset: Deploy Security Monitor {#default}
Deploy an AI-powered industrial security monitoring system to your Jetson device. This solution provides real-time person detection, zone intrusion alerts, line crossing detection, and loitering monitoring — all processed locally on the edge.
| Device | Purpose |
|---|
| NVIDIA Jetson Orin NX (reComputer J40 / Industrial J401) | Runs TensorRT-accelerated YOLO detection + tracking + rules engine |
What you'll get:
- Real-time person detection with YOLO26n (TensorRT FP16, ~3.7ms latency)
- Multi-person centroid tracking
- Zone intrusion, line crossing, and loitering detection
- Web dashboard with MJPEG streaming at
http://<jetson-ip>:8080
- Event logging with snapshots and REST API access
- Interactive zone/line configuration via browser
Requirements: Jetson with JetPack 6.x · SSH access · RTSP camera or USB camera · Internet to pull Docker image (~500MB)
Step 1: Deploy Security Monitoring Service {#security_service type=docker_deploy required=true config=devices/jetson.yaml}
Deploy the containerized security monitoring service to your Jetson device. The pre-built image includes all dependencies — just pull and run.
Target: Remote Deployment (Jetson) {#jetson_remote type=remote config=devices/jetson.yaml default=true}
Deploy to your Jetson over SSH with one click.
Wiring
- Connect your Jetson to the same network as your camera
- Enter the Jetson's IP address and SSH credentials
- Configure your camera source (RTSP URL or USB camera index)
- Click Deploy — the system will pull the Docker image and start the service automatically
What you'll get:
- Real-time person detection with YOLO26n (TensorRT FP16, ~3.7ms latency)
- Multi-person centroid tracking
- Zone intrusion, line crossing, and loitering detection
- Web dashboard with MJPEG streaming at
http://<jetson-ip>:8080
- Event logging with snapshots and REST API access
Deployment Complete
Service is running at http://<jetson-ip>:8080. Quick verification:
# Check service health
curl http://<jetson-ip>:8080/api/stats
# Expected: {"fps": 30.0, "detections": 0, "tracks": 0, "total_events": 0}
# View event log
curl http://<jetson-ip>:8080/api/events
# Check available models
curl http://<jetson-ip>:8080/api/models
Open your browser to http://<jetson-ip>:8080 to view the live monitoring dashboard.
Troubleshooting
| Issue | Solution |
|---|
| SSH connection failed | Verify the IP address and credentials. Try ssh username@ip from your computer first |
| Image pull slow | The image is ~500MB. Ensure stable internet on the Jetson |
| Service not starting | Check logs: ssh user@ip "docker logs industrial-security-demo" |
| TensorRT fallback to CPU | Ensure JetPack 6.x is installed and NVIDIA runtime is configured |
| Camera not detected | Verify RTSP URL is accessible or USB camera is connected to /dev/video* |
| Web dashboard not accessible | Check firewall: sudo ufw allow 8080/tcp on Jetson |
| Port 8080 already in use | Stop existing services on port 8080 or change port in config |
Target: Local Deployment {#jetson_local type=local config=devices/jetson_local.yaml}
Deploy directly on the current machine (requires NVIDIA GPU and Docker).
Wiring
- Ensure Docker and NVIDIA Container Toolkit are installed
- Click Deploy to start installation
Note: First startup may take 5-10 minutes for Docker image download and TensorRT engine generation.
What you'll get:
- All features from remote deployment
- Local HTTP access at
http://localhost:8080
- Direct container log access without SSH
Deployment Complete
Service is running at http://localhost:8080. Quick verification:
# Check service health
curl http://localhost:8080/api/stats
# View live stream (open in browser)
# http://localhost:8080
Troubleshooting
| Issue | Solution |
|---|
| NVIDIA runtime not found | Install NVIDIA Container Toolkit: sudo apt install nvidia-container-toolkit && sudo systemctl restart docker |
| Port 8080 already in use | Stop existing services on port 8080 |
| Container keeps restarting | Check logs: docker logs industrial-security-demo |
| TensorRT init failed | Ensure JetPack 6.x and CUDA 12.x are installed |
Step 2: Configure Detection Zones {#configure_zones type=manual required=false}
Configure detection zones and lines through the web dashboard.
Wiring
- Open
http://<jetson-ip>:8080 in your browser
- Click on the video feed to draw detection zones
- Draw lines for line crossing detection
- Configure dwell time for loitering detection
Configuration Tips
- Restricted Area: Draw polygons around areas where unauthorized personnel should not enter
- Gate Line: Draw lines at entry/exit points to track movement
- Dwell Time: Set how long a person can stay in a zone before triggering loitering alert
Troubleshooting
| Issue | Solution |
|---|
| Cannot access web dashboard | Check Jetson IP address, ensure container is running: docker ps |
| Video feed not showing | Verify camera is connected and accessible: ls /dev/video* |
| Detection zones not saving | Clear browser cache and reload the page |
| No detection boxes appearing | Check model is loaded: curl http://localhost:8080/api/stats |
Deployment Complete
Your security monitoring system is now fully configured and actively monitoring.
Deployment Complete
Congratulations! Your industrial security monitoring system is running.
Quick Verification
- Open
http://<jetson-ip>:8080 in your browser — you should see the live video feed
- Walk in front of the camera — detection boxes should appear around people
- Check the event log at
http://<jetson-ip>:8080/api/events
API Reference
| Endpoint | Method | Description |
|---|
/api/stream | GET | MJPEG video stream |
/api/events | GET | Event list (add ?date=YYYYMMDD to filter) |
/api/stats | GET | Real-time statistics |
/api/config | GET/POST | Read/update configuration |
/api/models | GET | Available model list |
/api/model/switch | POST | Switch detection model |
Event Types
| Event | Description |
|---|
zone_enter | Person entered a restricted zone |
line_cross | Person crossed a virtual line |
loitering | Person stayed in a zone longer than dwell time |
Next Steps