All pages
Powered by GitBook
1 of 6

Virtual Perception Box

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

Systemanforderungen für unser Softwareangebot.

Für den VPX-Agent müssen die nachfolgenden Hardware- sowie Softwareanforderungen erfüllt werden.

NVIDIA Jetson

  • Hardware

    • Unterstützte NVIDIA Jetson-Geräte

      • Nano 4 GB, TX2 NX, Xavier NX, AGX Xavier

      • 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

    • IotEdge 1.4

  • Netzwerkanforderungen

NVIDIA Grafikprozessor (GPU)

  • 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

  • Netzwerkanforderungen

Die Benchmark-Ergebnisse finden Sie hier. Sollten Sie unsicher sein, kontaktieren Sie bitte unseren Support.

VPX Agent auf NVIDIA Jetson (Jetpack 4.6) installieren

Wie Sie unsere Software auf Ihrer eigenen NVIDIA-Hardware installieren.

Installation von JetPack 4.6.0

Ü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.

Optional: Festplattenspeicher auf dem Jetson-Gerät freigeben

Einige Jetson-Geräte verfügen nicht über ausreichend Festplattenplatz für den VPX-Agenten. Sie können das nachfolgende Script ausführen (auf eigenes Risiko), das nicht benötigte Anwendungen entfernt.

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

Installation des VPX-Agenten

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

Das Herunterladen von curiosity kann eine Weile dauern.

Danach sehen Sie im Swarm Control Center ein Unnamed Device mit der entsprechenden Registrierungs-ID:

Bei dieser ID handelt es sich um ein Beispiel.

Nutzen Sie JetsonStats um Ihr Jetson-Gerät zu überprüfen sowie zu steuern.

Nächste Schritte: Konfigurieren Sie Ihren Use-Case.

Jetpack-Upgrade von 4.4.1 auf 4.6.0

Dieser Vorgang ist von NVIDIA dokumentiert.

Fehlerbehebung

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

VPX Agent auf NVIDIA Jetson Orin (Jetpack 5.1.x) installieren

Installation unserer Software auf Ihrer eigenen NVIDIA Jetson Orin Hardware

Installationsgröße

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.

JetPack 5.1 installieren

Ü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.

Installation des VPX-Agenten

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

Das Herunterladen von curiosity kann eine Weile dauern.

Danach sehen Sie im Swarm Control Center ein Unnamed Device mit der entsprechenden Registrierungs-ID:

VPX Agent auf X86/NVIDIA Server installieren

Installation der NVIDIA-Drivers und der Docker-Engine

Ü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 Azure IoTEdge

Installation von IotEdge 1.4 (lediglich das Paket aziot-edge wird benötigt).

Überspringen Sie die Installation der Container-Engine (die haben Sie bereits durchgeführt).

Konfiguration von Azure IotEdge

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.

IotEdge von 1.1 auf 1.4 upgraden

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.

Bitte lesen Sie zunächst die Anweisungen in der Dokumentation von Microsoft, da diese Schritte erforderlich sind. Hinweis: Das Package defender-iot-micro-agent-edge wird nicht benötigt.

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