Files
bytetrack-counter-dashboard/DEPLOY.md
T
2026-07-29 14:04:26 +07:00

123 lines
2.4 KiB
Markdown

# Edge Jetson Deploy
Production counter: **direct LAN RTSP** + **YOLO11n TensorRT** + SQLite batch store.
Replaces MQTT `frigate-counter` on the edge Jetson.
## Quick install
```bash
# 1. Copy this folder to Jetson
sudo mkdir -p /opt/jetson-counter
sudo cp -r jetson-counter/* /opt/jetson-counter/
sudo chown -R jetson:jetson /opt/jetson-counter
# 2. Configure
cd /opt/jetson-counter
cp config.env.example .env
nano .env # SOURCE, MODEL_PATH, CAMERA_NAME, etc.
sed -i 's/\r$//' .env
# 3. Venv + services
chmod +x setup-venv.sh install-services.sh
sudo ./setup-venv.sh
sudo ./install-services.sh
```
Dashboard: `http://<jetson-ip>:5000`
---
## YOLO11n TensorRT engine (one-time)
On the Jetson (must match `IMGSZ` / `HALF` in `.env`):
```bash
source /opt/jetson-counter/venv/bin/activate
export PYTHONNOUSERSITE=1
yolo export model=/media/jetson/DATA/yolo11n.pt format=engine half=True imgsz=416 device=0
```
Verify classes:
```bash
PYTHONNOUSERSITE=1 python -c "
from ultralytics import YOLO
m = YOLO('/media/jetson/DATA/yolo11n.engine')
print(m.names)
"
```
Expect `ayam` and `talenan`.
---
## Direct camera RTSP
Set in `.env`:
```env
SOURCE=rtsp://user:pass@192.168.x.x:554/stream1
```
Test before install:
```bash
ffplay -rtsp_transport tcp -t 5 "$SOURCE"
nc -zv <camera-ip> 554
```
---
## Cutover from MQTT frigate-counter
`install-services.sh` automatically:
1. Disables `frigate-counter` and `frigate-counter-dashboard`
2. Enables `jetson-counter` + `jetson-counter-dashboard`
Archive old DB (optional):
```bash
sudo cp /opt/frigate-counter/frigate_counter.db ~/frigate_counter.db.backup
```
---
## Validation checklist
```bash
sudo systemctl is-active jetson-counter jetson-counter-dashboard
PYTHONNOUSERSITE=1 /opt/jetson-counter/venv/bin/python -c "import torch; print('cuda', torch.cuda.is_available())"
sudo journalctl -u jetson-counter -n 20 --no-pager
```
Good signs:
- `Stream ready!`
- `Loaded engine size: ... MiB`
- `Frame 100 | Batch ...`
---
## Logs & restart
```bash
sudo journalctl -u jetson-counter -f
sudo systemctl restart jetson-counter # after .env change
```
---
## JetPack 6.0 torch wheel
If `setup-venv.sh` fails on torch URL, list wheels:
```bash
curl -s https://developer.download.nvidia.com/compute/redist/jp/v60/pytorch/ | grep cp310
```
Set `TORCH_WHEEL_URL=...` when running `setup-venv.sh`.
See also [jetson-counter-dev/GO_LIVE_TROUBLESHOOT.md](../jetson-counter-dev/GO_LIVE_TROUBLESHOOT.md) for torchvision and RTSP issues.