configure any iDotMatrix compatible 16x16 or 32x32 pixel display without the chinese iDotMatrix android / iOS app.
Project description
Pixel Display Library
control all your 16x16 or 32x32 iDotMatrix Pixel Displays
Explore the docs »
Report Bug
.
Request Feature
Table Of Contents
- About the Project
- Built With
- Getting Started
- Usage
- Roadmap
- Contributing
- License
- Authors
- Acknowledgements
About The Project
This repository aims to reverse engineer the iDotMatrix Android App for pixel screen displays like this one on Aliexpress. The goal is to provide a simple library which you can use to connect to your display(s).
Built With
Getting Started
To get a local copy up and running or use the latest pypi package follow these simple example steps:
Prerequisites
Please install the following for your distribution (Windows may work but it is untested):
- latest Python3
- Python3 Virtual Env
Installation
use latest github source code
- Clone the repo
git clone https://github.com/derkalle4/python3-idotmatrix-library.git
- Install the latest version locally
cd python3-idotmatrix-library/
pip install .
install latest public version via pypi
pip install idotmatrix
Usage
If you want to use the integrated bleak library to talk to your device, you have to initialize the ConnectionManager first. If you omit this step all classes will return the bytecode which you then can send to the device with your own bluetooth implementation.
import asyncio
from idotmatrix import ConnectionManager
async def main():
# connect to first found iDotMatrix Pixel Display
conn = ConnectionManager()
await conn.connectBySearch()
# do something with this connection afterwards
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
quit()
Chronograph
The Chronograph has 4 different modes. Using mode 1 will automatically open the Chronograph on the device and start the countdown. This should be the first mode used or otherwise the device may does not respond properly.
- 0 = reset
- 1 = (re)start
- 2 = pause
- 3 = continue after pause
from idotmatrix import Chronograph
chronograph = Chronograph()
await chronograph.setMode(1)
Roadmap
If you want to contribute please focus on the reverse-engineering part because my personal skills are not that good. Many thanks for all contributions! If you want to dive deep into other issues please check for "#TODO" comments in the source code as well.
- Reverse Engineering
- Chronograph
- Clock
- Countdown
- Graffiti Board
- DIY-Mode
- Animated Images
- Display Text
- Alarm & Buzzer (available according to issue #18)
- Cloud-API to download images
- Cloud-API to upload images to device
- Cloud-Firmware Update possible?
- Eco-Mode
- Fullscreen Color
- MusicSync
- Scoreboard
- bluetooth password protection
- understand the returned byte arrays of the device for better error logs
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
- Please also read through the Code Of Conduct before posting your first idea as well.
Creating A Pull Request
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the GNU GENERAL PUBLIC License. See LICENSE for more information.
Authors
- Kalle Minkner - Project Founder
- Jon-Mailes Graeffe - Co-Founder
Acknowledgements
- Othneil Drew - README Template
- LordRippon - Reverse Engineering for the Displays
- 8none1 - Reverse Engineering for the Displays
- schorsch3000 - smaller fixes
- tekka007 - code refactoring and reverse engineering
- inselberg - Reverse Engineering for the Displays
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file idotmatrix-0.0.7-py2.py3-none-any.whl
.
File metadata
- Download URL: idotmatrix-0.0.7-py2.py3-none-any.whl
- Upload date:
- Size: 34.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3bdfcc23e7a46cd36d64d68b1f1fccd2059fab2dc32c721e7aa114b9b179a22 |
|
MD5 | a3d33eeb528ca0699011f8c0afbf031a |
|
BLAKE2b-256 | 2e558347c25670412ac797b213bc883430da6a02da96339865f46b8e3b026829 |