LEAPS Docker

This page provides:

  • The LEAPS Docker package.

  • Information about system requirements.

  • Instructions on how to install LEAPS Docker.

The installation is fast and easy and only needs to be done once.

Disclaimer

The LEAPS Docker installation is for professionals only. For demo purpose the LEAPS VMWare is much better option.

Visit the official Docker to learn more about Docker.

System requirements

  • System requirements follow Docker Desktop on Linux or Docker Desktop on Windows.

  • A desktop device: Requires 2 GB of free memory.

  • On windows, the installation of WSL consumes 2GB of RAM permanently. It is assigned to the Ubuntu WSL.

  • Recommended: A set of UDK1 (At least five devices) to verify.

  • Recommended: Batteries or USB-C cables for powering the devices.

  • Recommended: LEAPS Manager to configure devices.

Setup instructions

The system is compatible with AMD64, ARM64, and ARM32 architectures.

  1. Download LEAPS UDK1 Docker

  1. Extract the LEAPS UDK1 Docker Archive

  • Type in a terminal: $ unzip LEAPS-DOCKER-LINUX-v0.16.x.zip -d /path/to/directory

  1. Install Docker on your operating system.

  • Run the leaps_docker_install.sh script to install Docker on your operating system.

For example, on Ubuntu (Linux):

source leaps_docker_install.sh
  • After the installation, and reboot your OS to ensure Docker is properly configured.

  • For detailed instructions, you can refer to the official Docker documentation.

  1. Update the correct configuration with IP Address.

  • Use the update_configuration_ip.sh script to update the system’s configuration with your PC’s IP address.

For example, on Ubuntu (Linux):

source update_configuration_ip.sh
  • Running this script ensures that the system is correctly configured for communication.

  1. Run all LEAPS Docker containers.

For example, on Ubuntu (Linux):

source leaps_docker_run_all.sh
  • Execute the docker ps command, make sure all containers start successfully and are ready for use.

For example, on Ubuntu (Linux):

docker ps

CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                              NAMES
6f2ae0c87d65   leapslabs/leaps_mosquitto:udk1   "/docker-entrypoint.…"   9 seconds ago    Up 9 seconds    0.0.0.0:1883->1883/tcp, 0.0.0.0:15675->15675/tcp   leaps_mosquitto
3d84cad7a913   leapslabs/leaps_server:udk1      "/app/leaps-server -…"   10 seconds ago   Up 9 seconds    0.0.0.0:7777->7777/tcp, 0.0.0.0:7777->7777/udp     leaps_server
633c97e96f6e   leapslabs/leaps_center:udk1      "sh -c 'cd /app &&  …"   10 seconds ago   Up 10 seconds   80/tcp, 0.0.0.0:80->8080/tcp                       leaps_center
sudo docker ps

CONTAINER ID   IMAGE                     COMMAND                  CREATED              STATUS                          PORTS     NAMES
6bb3bf42cb63   leapslabs/leaps_gateway:udk1   "/app/leaps-gateway …"   About a minute ago   Up About a minute                         leaps_gateway
  1. Connect the gateway board to your PC use a USB-C Data Cable.

  • Plug the USB-C Data Cable into the USB-C Data Port 1 on your PC. Ensure a stable connection.

../../../_images/leaps-connect-usb-port1.gif
  1. Mosquitto and check messages (optional)

  • Use mosquitto_sub on your system.

  • To check for messages, use the following command in your terminal (This command will connect to the Mosquitto MQTT broker and display all messages received).

    mosquitto_sub -p 1883 -d -v -t '#'
    
  1. Access the LEAPS Center via IP address.

  • Use your computer’s web browser.

  • Enter the IP address or localhost to access the LEAPS Center.

../../../_images/docker_leaps_center_login.png
  1. Login the LEAPS Center.

  • Logging in with Username as admin and Password as admin.

  1. Use LEAPS Manager to prepare network.

../../../_images/docker_network_demo01.jpg
  1. Configure the network on the LEAPS Center.

  • Check the network settings in LEAPS Center to match the network ID of the gateway board you have connected.

  • Check the correct host configured as the PC’s IP address.

  • For this example, the network ID is 0x1234 and host is 192.168.1.12.

    ../../../_images/docker_leaps_center_config_network.png
  • Please refer to the LEAPS Center and LEAPS Manager for more details on how to use the application to configure and visualize the nodes and network.

../../../_images/docker_leaps_center_network.png

Now the system has been successfully set up and configured the system. Enjoy using it!

  1. Download LEAPS UDK1 Docker.

  1. Extract the LEAPS UDK1 Docker Archive.

  • Use a program like WinZip or 7-Zip to extract the downloaded LEAPS UDK1 Docker zip file.

  1. Install Docker Desktop on Windows.

  • Follow the instructions provided in the Docker documentation for Docker Windows Installation.

  • Once the installation is complete, restart your Windows system to ensure all changes take effect.

  1. Install the USBIPD-WIN project using Command Prompt as Administrator.

  • Follow the instructions: Install the USBIPD-WIN project.

  • For example install the usbipd-win project using Windows Package Manager (winget):

    winget install --interactive --exact dorssel.usbipd-win
    
    ../../../_images/docker-install-usbipd-win.png
  • If you leave out --interactive, winget may immediately restart your computer if that is required to install the drivers.

  • Restart your computer and use usbipd-win version command to verify installation.

    ../../../_images/docker-usbipd-version.png
  1. Install Ubuntu 20.04 WSL using PowerShell.

    wsl --install -d Ubuntu-20.04
    
    ../../../_images/docker-wsl-install-buntu.png
  • Use exit to logout.

  1. Set Ubuntu 20.04 as default WSL distribution using PowerShell.

    wsl --set-default Ubuntu-20.04
    
  • List all of the installed WSL distributions, run wsl --list.

    Windows Subsystem for Linux Distributions:
    Ubuntu-20.04 (Default)
    docker-desktop-data
    docker-desktop
    
  1. Update the correct configuration with IP Address using PowerShell.

  • Use the update_configuration_ip.bat script to update the system’s configuration with your PC’s IP address.

    ./update_configuration_ip.bat
    
  • Running this script ensures that the system is correctly configured for communication.

  • For this example, the IP Address is 192.168.1.12.

    ../../../_images/docker-update-configuration-ip.png
  1. Docker Desktop WSL 2.

../../../_images/docker_desktop_wsl2.png
  1. Run all LEAPS Docker containers using PowerShell.

  • Execute the leaps_docker_run_all.bat script, which will pull and run the required Docker containers for LEAPS Center, LEAPS Server, LEAPS Gateway, and Mosquitto (MQTT broker).

    ./leaps_docker_run_all.bat
    
  • Make sure all containers start successfully and are ready for use.

    CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                              NAMES
    6f2ae0c87d65   leapslabs/leaps_mosquitto:udk1   "/docker-entrypoint.…"   9 seconds ago    Up 9 seconds    0.0.0.0:1883->1883/tcp, 0.0.0.0:15675->15675/tcp   leaps_mosquitto
    6bb3bf42cb63   leapslabs/leaps_gateway:udk1     "/app/leaps-gateway …"   10 seconds ago   Up 10 seconds                                                      leaps_gateway
    3d84cad7a913   leapslabs/leaps_server:udk1      "/app/leaps-server -…"   11 seconds ago   Up 11 seconds    0.0.0.0:7777->7777/tcp, 0.0.0.0:7777->7777/udp    leaps_server
    633c97e96f6e   leapslabs/leaps_center:udk1      "sh -c 'cd /app &&  …"   12 seconds ago   Up 12 seconds   80/tcp, 0.0.0.0:80->8080/tcp                       leaps_center
    
  1. Connect the gateway board to your PC use a USB-C Data Cable.

  • Plug the USB-C Data Cable into the USB-C Data Port 1 on your PC. Ensure a stable connection.

../../../_images/leaps-connect-usb-port1.gif
  1. Attach a USB device using Command Prompt as Administrator.

  1. Check and get the device’s bus ID information. List all the USB devices connected.

For example, on Windows:

usbipd list
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
1-4    1915:e8e3  LEAPS API USB, USB Serial Device (COM24)                      Not attached
...
  1. In this example the device’s bus ID is 1-4.

  2. Share the device, allowing it to be attached to WSL.

    For example, on Windows:

usbipd bind --busid 1-4
  1. Select the bus ID of the device you’d like to attach to WSL. Repeat if not attached successfully.

    For example, on Windows:

usbipd attach --wsl --busid 1-4
  1. Verify the USB device is connected.

    For example, on Windows:

usbipd list
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
1-4    1915:e8e3  LEAPS API USB, USB Serial Device (COM24)                      Attached
...
../../../_images/docker-attach-a-USB-device.png
  1. Access the LEAPS Center via IP address.

  • Use your computer’s web browser.

  • Enter the IP address or localhost to access the LEAPS Center.

../../../_images/docker_leaps_center_login.png
  1. Login the LEAPS Center.

  • Logging in with Username as admin and Password as admin.

  1. Use LEAPS Manager to prepare network.

../../../_images/docker_network_demo01.jpg
  1. Configure the network on the LEAPS Center.

  • Check the network settings in LEAPS Center to match the network ID of the gateway board you have connected.

  • Check the correct host configured as the PC’s IP address.

  • For this example, the network ID is 0x1234 and host is 192.168.1.12.

    ../../../_images/docker_leaps_center_config_network.png
    • Please refer to the LEAPS Center and LEAPS Manager for more details on how to use the application to configure and visualize the nodes and network.

    ../../../_images/docker_leaps_center_network.png

Now the system has been successfully set up and configured the system. Enjoy using it!

Caution

Repeat the USB/IP attach WSL 2 steps to connect the USB device.