Working with Edge Devices

Edge devices are small, lightweight, devices on which a computer vision application can be deployed and run. Many edge devices today even have a Graphical Processing Unit (GPU), or Visual Processing Unit (VPU), which enable usage of a greater range of models and application complexity. This has many benefits, including reduced cost, reduced latency, and improved security. When you use alwaysAI to develop computer vision applications, you can easily run any your applications on a variety of different edge devices with minor changes to configuration.

To meet the minimum requirements, your edge device needs to be running a Linux-based OS with Docker installed. We’ve tested the following operating systems with the edgeIQ Docker images:

  • Debian Bookworm or Bullseye

  • Ubuntu 22.04, 20.04, or 18.04

  • Raspberry Pi OS Bookworm or Bullseye

Your device also needs to have SSH access set up (SSH is required for the alwaysAI CLI to communicate with the device), and must be USB-camera or ribbon-camera capable (for apps that will be using a real-time video feed from a connected camera).

To set up your NVIDIA Jetson device, first download the appropriate JetPack OS image (which has the drivers alwaysAI is expecting) for your device:

AGX Orin, Orin NX, Xavier NX


Nano

Next, flash the image onto a micro SD card using a tool such as balena Etcher. Once the image is done flashing, pop it into the micro SD slot found on the back underside of the removable device module. Your Jetson device is now ready to go.

AGX Xavier

To set up your Jetson AGX Xavier device, NVIDIA SDK Manager is required. First, download and install the NVIDIA SDK Manager:

Next, select the Jetson AGX Xavier modules as the Target Hardware and JetPack 5.1 as the Target Operating System. Finally, download and flash the device by selecting Jetson OS and Jetson SDK Components as Target Components.

Note: Some Jetson devices don’t include a WiFi module, in which case you can either connect your Jetson device directly to your laptop using an ethernet cable and share your network, or you can add a USB WiFi adapter and connect the device to the same WiFi network that your laptop is using.

Download and install the Raspberry Pi Imager from the official Raspberry Pi website: https://www.raspberrypi.com/software/.

Use the Raspberry Pi Imager to select the OS from the list. We recommend Raspberry Pi OS 64 bit. When prompted about OS customization settings, select edit settings and configure the following:

  • Set hostname to the hostname of your choice.

  • Set the username and password to the settings of your choice.

  • If desired, configure wireless LAN to your settings.

  • Set the local timezone.

  • Under the “services” tab enable SSH

Once the image is flashed to the SD card, insert it into your Pi and power it up. Test the SSH connection from your host computer:

$ ssh <username>@<hostname or IP address>

Note: If you’re having trouble locating your device on the network, mDNS can be used on Mac and Linux systems, enabling you to use <hostname>.local as the hostname. Installation on Windows is possible but tricky. Another option is to find and use the IP address of the device in place of the hostname.

Next, install Docker following the official Docker guides:

Make sure to follow the Linux postinstall guide to enable Docker for non-root users.

Now that your Raspberry Pi is set up, you can see how you can run the starter applications from your terminal: Run a Starter Application.

For other single board computers that require you to flash an OS image on the board, we recommend choosing a Debian-based image. On Debian installs, SSH and camera support are usually enabled out of the box, so the remaining task is to install Docker. Just follow these steps to install Docker:

From your development machine, SSH into your device using the device credentials:

$ ssh <username>@<hostname or IP address>

Install Docker following the official Docker guide. Make sure to follow the Linux postinstall steps to enable Docker for non-root users.

Note: If Docker fails to start during the install, follow the steps outlined on the troubleshooting page.

Your Debian device is now ready to go!

Learn More

Tutorials