A Python library for interacting with Gicisky E-Ink display tags via Bluetooth Low Energy
Project description
🏷 Gicisky Python Library
A Python library for interacting with Gicisky electronic ink display tags via Bluetooth Low Energy (BLE).
ℹ️ Features
- Advertisement parsing: Discover compatible devices and get their info (battery level, model, hardware and software version)
- Image uploading: Upload images to your ESL, with all the features it supports (including third color and compression!)
- Bluetooth library independent: Use the provided Bleak backend or implement the BLE Interface to use any other Bluetooth library.
- Image conversion: Provide any image and let the library convert it for you to the device's format.
📱 Supported Devices
- EPD 2.1" BWR (0x0B)
- EPD 2.9" BWR (0x33)
- EPD 4.2" BWR (0x4B)
- EPD 7.5" BWR (0x2B)
- TFT 2.1" BW (0xA0)
⬇️ Installation
pip install gicisky
Or install from source:
git clone https://git.massive.box/massivebox/gicisky
cd gicisky
pip install -r requirements.txt
▶️ Quick Start
Check out the examples!
python3 examples/send_bleak.py ~/path/to/image.png
python3 examples/send_bleak.py --no-optimize ~/path/to/image.png # Without dithering
⚙️ Components
- BLE Interface (ble/): Handles Bluetooth Low Energy communication
- Core Protocol (core/): Implements the Gicisky communication protocol, independent of the Bluetooth library
- Image Processing (image/):
conversionformats images to the Gicisky format,optimizer(optional) uses dithering and letterboxing for better results - Logging (logger/): Provides detailed logging capabilities
🧱 Requirements
- Python 3.7+
- bleak (for BLE communication)
- PIL/Pillow (for image processing)
- numpy (for image manipulation)
Install all requirements:
pip install -r requirements.txt
❤️ Credits
- For much of the original work on the protocol: atc1441/ATC_GICISKY_ESL
- For most of the advertisement parsing logic: eigger/hass-gicisky
🤝 Support the Project
Thanks for your interest in supporting the project.
- Help me by opening issues and creating pull requests: all contributions are welcome!
- If you want to contribute financially, take a look here. Thanks a lot!
- If you haven't bought your Gigisky ESL yet, please buy it through my AliExpress affiliate link. I will earn a small commission from your order, but it will not cost you anything. Thanks!
📚 License
MIT License
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 gicisky-0.1.1.tar.gz.
File metadata
- Download URL: gicisky-0.1.1.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1759197897b5f99b3b413986b6be1461585271e10f228bac8e877cef9a41ff0
|
|
| MD5 |
1bf3cd86c5dddfaead6997edd21f6a73
|
|
| BLAKE2b-256 |
d504bb8c336d66d8aa0541896e2fa4438679e0e41ee9e5499f2a3092bcd06a4a
|
File details
Details for the file gicisky-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gicisky-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
526988651bc2071f24319f7cb29e23449d48e1e63adcd6b66ace6af4bb82e907
|
|
| MD5 |
2de83937f49db66ae4b29cddbc444ef0
|
|
| BLAKE2b-256 |
cc3c24d4d3592146d8ff89ebd2483d353a05cc93bdbb78e5d0862d4994e5a068
|