Package: idotmatrix
Pixel Display Librarycontrol all your 16x16 or 32x32 iDotMatrix Pixel DisplaysExplore the docs »Report Bug.Request FeatureTable Of ContentsAbout the ProjectBuilt WithGetting StartedPrerequisitesInstallationUsageRoadmapContributingLicenseAuthorsAcknowledgementsAbout The ProjectThis repository aims to reverse engineer theiDotMatrixAndroid App for pixel screen displays likethis one on Aliexpress. The goal is to provide a simple library which you can use to connect to your display(s).Built WithPython 3asynciobleakpillowGetting StartedTo get a local copy up and running or use the latest pypi package follow these simple example steps:PrerequisitesPlease install the following for your distribution (Windows may work but it is untested):latest Python3Python3 Virtual EnvInstallationuse latest github source codeClone the repogitclonehttps://github.com/derkalle4/python3-idotmatrix-library.gitInstall the latest version locallycdpython3-idotmatrix-library/
pipinstall.install latest public version via pypipipinstallidotmatrixUsageIf 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.importasynciofromidotmatriximportConnectionManagerasyncdefmain():# connect to first found iDotMatrix Pixel Displayconn=ConnectionManager()awaitconn.connectBySearch()# do something with this connection afterwardsif__name__=="__main__":try:asyncio.run(main())exceptKeyboardInterrupt:quit()ChronographThe 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 = reset1 = (re)start2 = pause3 = continue after pausefromidotmatriximportChronographchronograph=Chronograph()awaitchronograph.setMode(1)RoadmapIf 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 EngineeringChronographClockCountdownGraffiti BoardDIY-ModeAnimated ImagesDisplay TextAlarm & Buzzer (available according to issue #18)Cloud-API to download imagesCloud-API to upload images to deviceCloud-Firmware Update possible?Eco-ModeFullscreen ColorMusicSyncScoreboardbluetooth password protectionunderstand the returned byte arrays of the device for better error logsContributingContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make aregreatly appreciated.If you have suggestions for adding or removing projects, feel free toopen an issueto discuss it, or directly create a pull request after you edit theREADME.mdfile with necessary changes.Please make sure you check your spelling and grammar.Create individual PR for each suggestion.Please also read through theCode Of Conductbefore posting your first idea as well.Creating A Pull RequestFork the ProjectCreate 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 RequestLicenseDistributed under the GNU GENERAL PUBLIC License. SeeLICENSEfor more information.AuthorsKalle Minkner-Project FounderJon-Mailes Graeffe-Co-FounderAcknowledgementsOthneil Drew-README TemplateLordRippon-Reverse Engineering for the Displays8none1-Reverse Engineering for the Displaysschorsch3000-smaller fixestekka007-code refactoring and reverse engineeringinselberg-Reverse Engineering for the Displays