CreatorCreator
Home
Getting Started
  • 中文简体
  • English
Home
Getting Started
  • 中文简体
  • English
  • Creator

    • Getting Started
  • Stream Dock

    • Plugin SDK
    • Icon Pack

      • Overview
      • Terminology
      • Creating an Icon Pack
      • Icon Specifications
    • Scene Configuration

      • What is a Scenario Configuration?
      • Exporting
      • Use Cases
  • mPanel

    • Plugin SDK
  • Cpp SDK

    • Overview
    • Dependency Installation
    • Device Manager
    • StreamDock Base Class
    • Communication Transport
    • Example
    • API Reference
    • Source Code
  • Python SDK

    • Overview
    • Dependency Installation
    • Device Manager
    • StreamDock Base Class
    • API Reference
    • Examples
    • Source Code
  • Windows-WebSocket SDK

    • Overview
    • Getting Started
    • Events Sent
    • Events Received
    • Source Code
  • Support

    • Help and Bug Reporting

Overview

The Python StreamDock SDK is an SDK for directly controlling StreamDock devices across multiple platforms (including Windows, macOS, and Linux) by bypassing software. You can easily achieve direct device control through this SDK.

Python StreamDock SDK

SDK Architecture

The Python StreamDock SDK adopts a layered architecture design, mainly including the following components:

  • Device Management Layer: The DeviceManager class is responsible for device enumeration, detection, and monitoring
  • Transport Layer: The LibUSBHIDAPI class is responsible for low-level communication with devices
  • Device Abstraction Layer: The StreamDock base class defines common interfaces for all devices
  • Specific Device Implementations: Specific implementations for various device models, such as StreamDock293, StreamDockN3, etc.
  • Image Processing Layer: The PILHelper class provides image conversion and processing functions

Supported Device Models

The SDK supports the following StreamDock device models:

  • StreamDock 293 series: 293, 293s, 293V3
  • StreamDock N series: N1, N3, N4, N4Pro
  • StreamDock M series: M3, M18 (including multiple versions)
  • StreamDock XL
  • K1 Pro

How Python StreamDock SDK Communicates with Devices

The Python StreamDock SDK uses HIDAPI to communicate with devices. HIDAPI is a simple cross-platform library for communicating with HID devices, view details

The SDK interacts with devices in the following ways:

  1. Device Enumeration: Uses USB Vendor ID and Product ID to identify connected StreamDock devices
  2. Data Transfer: Sends commands and receives device feedback through HID interface
  3. Image Processing: Converts images to device-compatible formats and transfers them to the device
  4. Event Listening: Listens for key events and device status changes

Main Features

  • Device Management: Automatically detects connected devices, supports hot-plugging
  • Screen Control: Set background images, adjust brightness, wake screen
  • Key Control: Set key icons, clear key icons, listen for key events
  • Image Processing: Automatically converts image formats to adapt to different devices
  • Multi-threading Support: Supports asynchronous event processing and callback functions

TIP

System Requirements:

  • Python version: Recommended 3.7 or higher
  • Supported operating systems: Windows, macOS, Linux (Ubuntu 20.04+ recommended)
  • USB port: For connecting StreamDock devices
Last Updated:
Contributors: JKWTCN
Next
Dependency Installation