Skip to content

avnet-iotconnect/iotc-python-lite-sdk-demos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,384 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This repository contains various guides and demos that utilize the /IOTCONNECT Python Lite SDK to connect devices to the Avnet /IOTCONNECT platform and showcase telemetry reporting and cloud-to-device command functionality. The Python Lite SDK may be used to enable /IOTCONNECT on a wide variety of development boards/platforms. Avnet has completed this work for a subset of boards as outlined in the following section.

Pre-Enabled Development Boards

The following development boards are pre-enabled with /IOTCONNECT in this repository:

Getting Started

To get started connecting your board to /IOTCONNECT, first follow the Quickstart Guide within your board's specific directory in this repository. This guide will help you flash any required images, get access to your device's console, and set up basic /IOTCONNECT onboarding for your device.

AWS Greengrass Demos Enablement

To explore setting up AWS Greengrass Lite on some of these same devices and deploying Python demos through pre-built or custom components, check out the /IOTCONNECT Python Greengrass Demos repo.

Going Further with Expansion Demos

If you want to modify or add onto the basic /IOTCONNECT starter application, you can do so by sending a software package to your device.

Within the common directory is a starter-demo directory with instructions on how to do this.

Some devices also include directories for pre-built expansion demos. Inside of the directories for those demos you will find instructions on how to use a software package to deliver and install the pre-built demo. The available expansion demos are described in the sections below.

EIQ Vision AI Driver Monitoring System (DMS)

The EIQ DMS demo uses the NXP eIQ Vision AI stack to analyze a live camera feed for driver safety indicators. It detects facial attributes such as eye state, head pose, and drowsiness, and streams the results to /IOTCONNECT in real time. An HDMI display can optionally be connected to view the annotated video feed with AI overlay directly on the board.

Supported on:

X-LINUX-AI Object Detection

The X-LINUX-AI vision demo runs an on-device object detection model using ST's X-LINUX-AI software stack. It recognizes 80 common object categories from a connected USB camera and streams detected object names with confidence percentages to /IOTCONNECT approximately once per second.

Supported on:

MKBOXPRO BLE Sensor Pack

The MKBOXPRO demo streams live BLE sensor telemetry from a SensorTile.box PRO (MKBOXPRO) sensor pack to /IOTCONNECT. The SensorTile.box PRO connects wirelessly to the host board over Bluetooth Low Energy and provides multi-axis motion, environmental, and audio sensor data, all visible in real time on the /IOTCONNECT platform's Live Data tab.

Supported on:

PROTEUS Sensor Pack

The PROTEUS demo streams environmental sensor telemetry from a PROTEUS sensor pack to /IOTCONNECT. The PROTEUS pack provides temperature, humidity, pressure, and other environmental readings that appear in real time under the Live Data tab of your device in the /IOTCONNECT platform.

Supported on:

File Upload Demo

The file upload demo captures still pictures and fixed-length video clips from a USB camera, stores them locally on the board, and uploads the completed media files to the device's S3-backed /IOTCONNECT file-support bucket via the SDK. On-demand picture capture and rolling video clip recording are both triggered through /IOTCONNECT commands.

Supported on:

FPGA ML Acceleration (Microchip PolarFire SoC)

These demos leverage the FPGA fabric on Microchip PolarFire SoC boards to accelerate machine learning inference on waveform classification tasks. Each demo compares software vs. FPGA-hardware performance by running the same inference in both modes and reporting timing and prediction telemetry to /IOTCONNECT. Three demos are available with increasing model complexity:

Template Correlation Classifier

A deterministic classifier with no neural network or training step. Classification works by correlating 256-sample input waveforms against hand-crafted reference templates using dot products. Because the algorithm is lightweight, this demo establishes a clear performance baseline before introducing learned models.

Supported on:

Simple Neural Network Accelerator

Introduces a compact fixed-point neural network in FPGA fabric (256 inputs → 12-node hidden layer → 6 classes, int8/int32 arithmetic). Hardware speedup over software is modest at small batch sizes but increases with larger batches, making it a focused demonstration of the neural network acceleration pipeline.

Supported on:

Complex Neural Network Accelerator

The deepest model in the series — two hidden layers (~11K trained weights) with a batch-aware FPGA interface using DMA transfers. Hardware acceleration advantage is most measurable and consistent here, especially at moderate to large batch sizes.

Supported on:

Renesas DRP-AI Inference Demo

The DRP-AI Inference demo integrates with the Renesas RZ/V2H EVK's on-board DRP-AI hardware accelerator to run AI inference at the edge. Python OpenCV-based face and body detection runs on the USB camera, while any of 14 pre-built Renesas AI SDK demos can be launched and controlled from the cloud via C2D commands. Detection counts, inference timing, and system performance metrics stream to /IOTCONNECT in real time.

Supported on:

Tria Vision AI Demo

The Vision AI demo integrates with the Vision AI-KIT 6490's on-device AI inference pipeline to stream inference results and system status telemetry to /IOTCONNECT in real time. Supported AI tasks include Pose Detection, Object Detection, and Image Classification, with confidence scores reported per inference. The board can run two simultaneous AI demos when two cameras are connected.

Supported on:

Keyword Spotting Demo

The Keyword Spotting demo captures one-second audio clips from a USB microphone, runs a TensorFlow Lite DS-CNN speech-command classifier on-device, and publishes the top prediction and confidence score to /IOTCONNECT in real time. Ready-made model packages let you swap in different Arm ML Zoo models via OTA without redeploying the app.

Supported on:

Voice Blackjack (KWS Game)

The Voice Blackjack demo runs a browser-hosted blackjack game on the board using the same USB microphone keyword spotting pipeline as the Keyword Spotting Demo. Voice commands (deal, hit, stand, double, reset) control gameplay, while game state and inference results are streamed as telemetry to /IOTCONNECT. Cloud commands let operators trigger game actions and update runtime settings remotely.

Supported on:

PAC1934 Power Monitoring Demo

The PAC1934 demo reads voltage, current, and power measurements from the on-board Microchip PAC1934 four-channel DC power monitor IC over I2C and publishes them to /IOTCONNECT. No additional hardware is required — the PAC1934 is already wired to the board's internal power rails. Four app variants are included for monitoring all channels or individual subsets.

Supported on:

AWS Kinesis Video Streams (KVS)

AWS Kinesis Video Streams (KVS) is an AWS service for streaming video from devices to the cloud. The /IOTCONNECT platform integrates with KVS to enable live and recorded video directly from your device's dashboard. KVS expansion demos are available for a subset of the boards in this repository and are delivered as OTA software packages that patch on top of the basic /IOTCONNECT starter demo.

There are two types of KVS streaming, each suited to different use cases:

KVS PutMedia

PutMedia streams video from the device to a KVS stream where it is stored and can be played back through the /IOTCONNECT dashboard. Because video is stored as fragments on AWS before playback begins, there is typically 5–15 seconds of end-to-end latency, but the footage is retained and can be reviewed after the fact. PutMedia is well-suited for security camera and recording use cases.

Supported on:

KVS WebRTC

WebRTC establishes a direct peer-to-peer connection between the device and the viewer's browser, brokered through a KVS signaling channel. This delivers sub-second latency, making it suitable for real-time monitoring. Unlike PutMedia, WebRTC video is not stored — it is only viewable while actively streaming.

Supported on:

Licensing

This library is distributed under the MIT License.

About

Various demos with different hardware platforms utilizing the /IOTCONNECT Python Lite SDK.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors