02 Carrier Board Client Tutorial

Learn how to build a C++ application that subscribes to telemetry data from the Sol3 carrier board.

Prerequisites

Overview

This tutorial shows how to build and deploy a carrier board telemetry client that runs on Sol3 hardware to monitor carrier board status and health data.

Important

This application runs on the Sol3 device, not on your development machine. It requires deploying the application container to Sol3 hardware following the deployment workflow.

Tutorial Code

The SDK includes a complete carrier board client tutorial at:

sol3-sdk/apps/tutorials/02_carrier_board_client.cpp

How It Works

The carrier board client application subscribes to telemetry data published by the sol3_carrier_board_server.

The client:

  1. Connects to the sol3_carrier_board_server’s telemetry shared memory endpoint

  2. Polls for telemetry messages at 1 Hz

  3. Logs telemetry data when new frames are received

Build and Deploy

Step 1: Build Application Image

Build the ARM64 container image for Sol3:

sol3_build_app_image tutorial_02_carrier_board_client arm64 --cmake-preset arm64 --tag latest

Step 2: Deploy to Sol3 Device

Deploy the image to your Sol3 device:

sol3_deploy_app_image tutorial-02-carrier-board-client-arm64:latest <USER@HDK_IP>

Step 3: Run on Sol3 Device

SSH to the Sol3 device and run the application. The client will log telemetry frames as they arrive. Press Ctrl+C to stop.

ssh <USER@HDK_IP>
docker run --rm \
  -v /run/sol3:/run/sol3 \
  -v /dev:/dev \
  --privileged \
  localhost:5000/tutorial-02-carrier-board-client-arm64:latest