Die Virtual Perception Box (VPX) ist ein rein softwarebasiertes Produkt, das als Docker-Container bereitgestellt wird. Das bedeutet folgendes:
Sie sind alleinig verantwortlich für die Einrichtung und Wartung der Hardware sowie Software (Betriebssystem, Treiber, Netzwerk, Systemanwendungen, usw.)
Checkliste für Geräte mit VPX (von Swarm Analytics empfohlen)
Integrieren von Remote-Management (z.B. VPN/SSH)
Integrieren von Update-Management (z.B. Ansible) zur Aktualisierung von Systempaketen wie IoTEdge, Jetpack, Docker
Gerätekontrolle
Ständiges Überprüfen der Sicherheit (Firewall, angewendete Sicherheitspatches, starke Passwörter/Zertifikate)
Systemanforderungen für unser Softwareangebot.
Für den VPX-Agent müssen die nachfolgenden Hardware- sowie Softwareanforderungen erfüllt werden.
Hardware
Unterstützte NVIDIA Jetson-Geräte
Orin Nano 4GB/8GB, Orin NX 8GB/16GB, Orin AGX 32GB/64GB
Speicher: es müssen mindestens 4 GB verfügbar sein
Speicherplatz: es müssen mindestens 6 GB frei sein
Software
JetPack 4.6 oder Jetpack 5.1.1
Hardware
CPU: X86-64bit
Speicher: es müssen mindestens 4 GB verfügbar sein
Speicherplatz: es müssen mindestens 15 GB frei sein
NVIDIA Workstation GPUs
RTX-Serie (z.B. RTX A2000)
Quadro-RTX-Serie (z.B. Quadro RTX 4000)
Software
Ubuntu 20.04 LTS
NVIDIA Driver Version 470 (oder neuer)
Docker 19.0.1+
IotEdge 1.4
Wie Sie unsere Software auf Ihrer eigenen NVIDIA-Hardware installieren.
Übertragen Sie JetPack 4.6.0 (L4T 32.6.1) auf Ihr Jetson-Gerät. Folgen Sie der von NVIDIA bereitgestellten Dokumentation. Abhängig von Ihrer Hardware haben Sie die Möglichkeit, eine SD-Karte oder den internen Speicher zu verwenden.
Achten Sie darauf, dass Sie die exakt diese JetPack-Version nutzen. Verwenden Sie bitte keine neueren, bzw. älteren Versionen.
sudo apt update && sudo apt install curl -y
curl http://get-vpx.swarm-analytics.com/clean_jetson.sh > clean_jetson.sh && chmod +x clean_jetson.sh
./clean_jetson.sh
Mit unserem Installationsskript ist die Installation des VPX-Agenten denkbar einfach. Vergewissern Sie sich vorab, dass Sie die Seriennummer(n) bereits von uns erhalten haben.
sudo apt update && sudo apt install curl -y
curl http://get-vpx.swarm-analytics.com/install.sh > install.sh && chmod +x install.sh
./install.sh
Nachdem das Installationsskript abgeschlossen ist, zieht die IoT-Edge-Runtime vier Docker-Container wie nachfolgend beschrieben.
Der Gerätetyp muss im Swarm Control Center eingestellt werden. Derzeit kann das ausschließlich von unserem Support durchgeführt werden, erstellen Sie daher bitte ein Supportticket.
Stellen Sie sicher, dass der Container curiosity-arm64-tensorrt
verwendet wird.
swarm@VPX:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57eec104e917 swarm.azurecr.io/curiosity-arm64-tensorrt:5.3.0 "./curiosity" 2 weeks ago Up 5 minutes curiosity
82b106f9d3d7 swarm.azurecr.io/azure-module-arm64:1.1.0 "java -jar app.jar" 6 weeks ago Up 10 days azure-module
27ffd61ab021 mcr.microsoft.com/azureiotedge-hub:1.0.10.3 "/bin/sh -c 'echo \"$…" 6 weeks ago Up 10 days 0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp edgeHub
5e96e96eb440 mcr.microsoft.com/azureiotedge-agent:1.0.10.3 "/bin/sh -c 'exec /a…" 6 weeks ago Up 10 days edgeAgent
Danach sehen Sie im Swarm Control Center ein Unnamed Device mit der entsprechenden Registrierungs-ID:
Nächste Schritte: Konfigurieren Sie Ihren Use-Case.
Dieser Vorgang ist von NVIDIA dokumentiert.
Stellen Sie sicher, dass die folgenden Software-Pakete und Versionen installiert sind:
NVIDIA Jetson Nano
L4T 32.6.1 [ JetPack 4.6 ]
Ubuntu 18.04.5 LTS
Kernel Version: 4.9.253-tegra
CUDA 10.2.300
CUDA Architecture: 5.3
OpenCV version: NOT_INSTALLED
OpenCV Cuda: NO
CUDNN: 8.2.1.32
TensorRT: 8.0.1.6
Vision Works: NOT_INSTALLED
VPI: NOT_INSTALLED
Vulcan: NOT_INSTALLED
Installation unserer Software auf Ihrer eigenen NVIDIA Jetson Orin Hardware
Jetpack 5.1 benötigt mindestens 32GB oder mehr an Speicherplatz. Um mehr Speicherplatz für zusätzliche Software freizugeben, verwenden Sie entweder ein größeres Speichermedium oder folgen Sie dieser Referenz von NVIDIA.
Übertragen Sie JetPack 5.1 auf Ihr Jetson-Gerät. Folgen Sie dabei der von NVIDIA bereitgestellten Dokumentation. Abhängig von Ihrer Hardware können Sie eine SD-Karte oder den internen Speicher verwenden.
Mit unserem Installationsskript ist die Installation des VPX-Agenten denkbar einfach. Vergewissern Sie sich vorab, dass Sie die Seriennummer(n) bereits von uns erhalten haben.
sudo apt update && sudo apt install curl -y
curl http://get-vpx.swarm-analytics.com/install-2.0.sh > install.sh && chmod +x install.sh
./install.sh
Nachdem das Installationsskript abgeschlossen ist, zieht die IoT-Edge-Runtime vier Docker-Container wie nachfolgend beschrieben.
Der Gerätetyp muss im Swarm Control Center eingestellt werden. Derzeit kann das ausschließlich von unserem Support durchgeführt werden, erstellen Sie daher bitte ein Supportticket.
Stellen Sie sicher, dass der Container curiosity-arm64-jetpack5
verwendet wird.
swarm@VPX:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57eec104e917 swarm.azurecr.io/curiosity-arm64-jetpack5:6.9.1 "./curiosity" 2 weeks ago Up 5 minutes curiosity
82b106f9d3d7 swarm.azurecr.io/azure-module-arm64:1.1.0 "java -jar app.jar" 6 weeks ago Up 10 days azure-module
27ffd61ab021 mcr.microsoft.com/azureiotedge-hub:1.0.10.3 "/bin/sh -c 'echo \"$…" 6 weeks ago Up 10 days 0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp edgeHub
5e96e96eb440 mcr.microsoft.com/azureiotedge-agent:1.0.10.3 "/bin/sh -c 'exec /a…" 6 weeks ago Up 10 days edgeAgent
Danach sehen Sie im Swarm Control Center ein Unnamed Device mit der entsprechenden Registrierungs-ID:
Überprüfen Sie zunächst unsere Systemanforderungen.
Installation der Docker-Engine
Installation der NVIDIA-Drivers und CUDA
Installation des Container-Toolkits von NVIDIA
Nachdem Sie die Installationsschritte durchgeführt haben, sollten Sie einen ähnlichen Output erhalten:
docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
Installation von IotEdge 1.4 (lediglich das Paket aziot-edge wird benötigt).
Sie erhalten eine Zip-Datei von uns, die Konfigurationsdateien enthält. Ersetzen Sie $ID mit der Geräte-ID, die Sie von uns bekommen haben.
ID=<DEVICE-ID>
sudo mkdir /opt/swarm/
sudo mkdir /opt/swarm/config
sudo mkdir -p /etc/iotedge/
sudo cp $ID/VPX-$ID/config.yaml /etc/iotedge/config.yaml
sudo chown iotedge:iotedge /etc/iotedge/config.yaml
sudo cp $ID/VPX-$ID/config.toml /etc/aziot/config.toml
sudo mkdir -p /var/lib/iotedge/hsm/
sudo cp $ID/all/azure-production-certificates/* /var/lib/iotedge/hsm/
sudo chown aziotcs:aziotcs /var/lib/iotedge/hsm/iot-edge-device-SwarmEdgeDeviceCA-full-chain.cert.pem
sudo chown aziotcs:aziotcs /var/lib/iotedge/hsm/swarm-iot.root.ca.cert.pem
sudo chown aziotks:aziotks /var/lib/iotedge/hsm/iot-edge-device-SwarmEdgeDeviceCA.key.pem
sudo iotedge config apply -c '/etc/aziot/config.toml'
An dieser Stelle empfehlen wir, die IoTEdge-Protokolle auf Fehler zu überprüfen.
iotedge system logs -- -f
Im Swarm Control Center sehen Sie Ihr Gerät nun als Unnamed Device mit der entsprechenden ID:
Nun zieht die IoTEdge-Runtime die Docker-Images. Sobald dies abgeschlossen ist, kann das Gerät im Control Center konfiguriert werden.
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
118c96889ec7 swarm.azurecr.io/curiosity-x64-tensorrt:6.6.33 "/usr/local/bin/nvid…" 6 days ago Up 6 days 0.0.0.0:8090->8090/tcp, :::8090->8090/tcp curiosity
95d63beb336e swarm.azurecr.io/azure-module-x64:1.7.1 "java -jar app.jar" 6 days ago Up 6 days azure-module
3003fd8db258 mcr.microsoft.com/azureiotedge-hub:1.1.15 "/bin/sh -c 'echo \"$…" 3 months ago Up 4 weeks 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:5671->5671/tcp, :::5671->5671/tcp, 0.0.0.0:8883->8883/tcp, :::8883->8883/tcp edgeHub
6f469d38d91d mcr.microsoft.com/azureiotedge-metrics-collector:1.0.9 "/bin/sh -c 'echo \"$…" 3 months ago Up 3 months azure-monitor
88d10c824af0 mcr.microsoft.com/azureiotedge-agent:1.1.15 "/bin/sh -c 'exec /a…" 3 months ago Up 3 months edgeAgent
Nächste Schritte: Konfigurieren Sie Ihren Anwendungsfall.
Für die Version 2023.1 und alle nachfolgenden wird IotEdge 1.4 benötigt. Für neue Geräte übernimmt unser Installer den Installationsprozess. Bestehende VPX-Geräte müssen selbst upgegradet werden. P10X- sowie OP10X-Geräte werden von uns im Zuge der Version 2023.1. upgegradet.
apt remove iotedge libiothsm-std
apt update
apt install aziot-identity-service=1.4.1-1 aziot-edge=1.4.3-1
chown aziotcs:aziotcs /var/lib/iotedge/hsm/iot-edge-device-SwarmEdgeDeviceCA-full-chain.cert.pem
chown aziotcs:aziotcs /var/lib/iotedge/hsm/swarm-iot.root.ca.cert.pem
chown aziotks:aziotks /var/lib/iotedge/hsm/iot-edge-device-SwarmEdgeDeviceCA.key.pem
iotedge config import
iotedge config apply -c /etc/aziot/config.toml