Skip to main content

CLI utilities for the Turing Smart Screen 8.8" V1.1 device.

Project description

Turing Smart Screen CLI

Warning: This is an unofficial implementation; use at your own risk.

Overview

Turing Smart Screen CLI provides command-line utilities for managing the Turing Smart Screen 8.8" V1.1 USB display. All operations run on-demand—no background daemon is left running—and lower level USB/HID errors are surfaced directly to aid scripting.

Supported Hardware

  • Turing Smart Screen 8.8" V1.1 (USB VID 0x1CBE, PID 0x0088)

Features

  • Send sync, restart, and configuration commands to the device.
  • Adjust brightness, frame rate, and persist settings to flash.
  • Upload PNG/H264 assets to on-device storage and list or delete them.
  • Stream PNG frames directly to the panel or play MP4 videos via FFmpeg conversion.
  • Trigger playback of stored PNG or H264 assets and stop active playback.

Installation

pip install turingscreencli

python -m venv .venv
source .venv/bin/activate
pip install -e .
# or grab tooling extras
pip install -e .[dev]

On macOS/Linux you may need to install FFmpeg separately (e.g., brew install ffmpeg).

Usage Examples

# Enumerate and sanity check device connectivity
turing-screen sync

# Adjust device state
turing-screen brightness --value 64
turing-screen save --brightness 96 --rotation 2

# Send media directly to the panel
turing-screen send-image --path assets/sample.png
turing-screen send-video --path demo.mp4 --loop

# Work with on-device storage
turing-screen refresh-storage
turing-screen upload --path demo.png
turing-screen list-storage --type image
turing-screen delete --filename demo.png
turing-screen play-select --filename demo.png
turing-screen stop-play

Installing the package provides a turing-screen console script.

Command Summary

  • sync – Ping the panel to keep it responsive.
  • restart – Reboot the panel.
  • refresh-storage – Display SD card usage statistics.
  • clear-image – Push a transparent frame to clear the panel.
  • stop-play – Stop any active playback.
  • brightness --value – Set LCD brightness.
  • save – Persist brightness/startup/rotation/offline settings.
  • list-storage --type image|video – List files on the device.
  • send-image --path – Stream a PNG to the screen.
  • send-video --path [--loop] – Stream MP4/H264 video.
  • upload --path – Upload PNG/MP4 assets to storage.
  • delete --filename – Delete PNG/H264 assets.
  • play-select --filename – Play a stored PNG/H264 asset.

Development & Testing

Install the dev extras and run the automated checks before submitting changes:

pip install -e .[dev]
python -m compileall src
python -m pytest
python -m pytest --cov=turingscreencli
python -m ruff check src tests  # if you have ruff installed
black src tests
flake8 src tests
mypy src

Tests under tests/ rely on pytest and exercise CLI argument parsing and dispatch logic with USB communication stubbed out.

Troubleshooting

  • "USB device not found" – confirm the panel is connected and powered. On Linux detach the kernel driver with dev.detach_kernel_driver(0) or configure udev rules.
  • Permission errors on Linux – create matching udev rules granting access to VID 0x1CBE/PID 0x0088 or run the CLI with elevated privileges.
  • FFmpeg not found – ensure FFmpeg is installed and on your PATH for video encoding.
  • Playback glitches – verify assets meet the device requirements (PNG 480×1920, H264 video when stored on the device).

Device Storage Structure

  • Images: /tmp/sdcard/mmcblk0p1/img/
  • Videos: /tmp/sdcard/mmcblk0p1/video/

License

Released under the MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

turingscreencli-0.1.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

turingscreencli-0.1.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file turingscreencli-0.1.0.tar.gz.

File metadata

  • Download URL: turingscreencli-0.1.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for turingscreencli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 490b1e741ef6312492f1213666a7e8b066a88d2d53b8f70530ea023be1112ce0
MD5 6b2a5f6e80cd82f55179b013335234f5
BLAKE2b-256 86ff82464321716c63a7626ee421024faa9502ad983d48c983211cbf6ef497aa

See more details on using hashes here.

File details

Details for the file turingscreencli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for turingscreencli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5716583f0a6dbff55dc7171502ce2c1cdbda8e468bf91b24ea7b005dab30e527
MD5 693a082923234c175072d7500f94b31c
BLAKE2b-256 4a42b4219ee5d93163eee42fabae3dc12370adf2ae193f267f69f577316b6ee7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page