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
PATHfor 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
490b1e741ef6312492f1213666a7e8b066a88d2d53b8f70530ea023be1112ce0
|
|
| MD5 |
6b2a5f6e80cd82f55179b013335234f5
|
|
| BLAKE2b-256 |
86ff82464321716c63a7626ee421024faa9502ad983d48c983211cbf6ef497aa
|
File details
Details for the file turingscreencli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: turingscreencli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5716583f0a6dbff55dc7171502ce2c1cdbda8e468bf91b24ea7b005dab30e527
|
|
| MD5 |
693a082923234c175072d7500f94b31c
|
|
| BLAKE2b-256 |
4a42b4219ee5d93163eee42fabae3dc12370adf2ae193f267f69f577316b6ee7
|