Skip to main content

configure any iDotMatrix compatible 16x16 or 32x32 pixel display without the chinese iDotMatrix android / iOS app.

Project description


Logo

Pixel Display Library

control all your 16x16 or 32x32 iDotMatrix Pixel Displays

Explore the docs »

Report Bug . Request Feature

Downloads Contributors Forks Stargazers Issues License

Table Of Contents

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

  1. Clone the repo
git clone https://github.com/derkalle4/python3-idotmatrix-library.git
  1. 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

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU GENERAL PUBLIC License. See LICENSE for more information.

Authors

Acknowledgements

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

idotmatrix-0.0.7-py2.py3-none-any.whl (34.9 kB view details)

Uploaded Python 2 Python 3

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

Hashes for idotmatrix-0.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a3bdfcc23e7a46cd36d64d68b1f1fccd2059fab2dc32c721e7aa114b9b179a22
MD5 a3d33eeb528ca0699011f8c0afbf031a
BLAKE2b-256 2e558347c25670412ac797b213bc883430da6a02da96339865f46b8e3b026829

See more details on using hashes here.

Supported by

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