{ "info": { "author": "Mark Murnane", "author_email": "mark@hackafe.net", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only" ], "description": "# DMX485\n## Requirements\nThis script requires pyserial.\n```\npip install --user pyserial\n```\n\n## Installation\nInstall from pip:\n```\npip install --user dmx485\n```\nInstall from source:\n```\npython setup.py install\n```\n\n## Hardware Compatibility\nThis should work with any FTDI RS485 dongle or any of the similar knock-offs.\n\nFTDI to RS485 cheap dongle:\n\nhttps://fr.aliexpress.com/item/USB-to-TTL-RS485-Serial-Converter-Adapter-FTDI-Module-FT232RL-SN75176-double-function-double/32771847720.html?spm=a2g0w.search0104.3.15.63586239S7KSon&ws_ab_test=searchweb0_0,searchweb201602_2_10065_10068_319_10892_317_10696_453_10084_454_10083_10618_10304_10307_10820_10821_538_537_10302_536_10843_10059_10884_10887_100031_321_322_10103,searchweb201603_51,ppcSwitch_0&algo_expid=6957aa39-4868-4f8d-ac7f-b10f610a4a24-2&algo_pvid=6957aa39-4868-4f8d-ac7f-b10f610a4a24\n\n\n## Hardware Example\nhttps://stevenbreuls.com/2013/05/diy-usb-dmx-dongle-interface-for-under-10/\n\n## Usage\nFirst create an instance of dmx.DMX_Serial(), then start the background thread. Once that is running the dongle will begin sending a full DMX universe.\nTo change the value of a channel use set_data(). This function takes a bytes() object with 512 bytes, each representing a single DMX channel. It will be sent on the next DMX refresh.\n```\nimport time\nimport dmx\n\nsender = dmx.DMX_Serial()\nsender.start()\nfor i in range(200):\n if i % 2:\n sender.set_data(bytes((255,)*512))\n else:\n sender.set_data(bytes((0,)*512))\n time.sleep(1)\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bitbyt3r/dmx", "keywords": "dmx", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "dmx485", "package_url": "https://pypi.org/project/dmx485/", "platform": "", "project_url": "https://pypi.org/project/dmx485/", "project_urls": { "Homepage": "https://github.com/bitbyt3r/dmx" }, "release_url": "https://pypi.org/project/dmx485/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "Simple DMX driver using an RS485 adapter", "version": "1.2.1" }, "last_serial": 5925048, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "bb3c7edbe733c0cd374e7d05d3e33d5d", "sha256": "18a05731e0091fdedc7ec6e1b617274bb695b3207dd3825e133959ed45bc8c9e" }, "downloads": -1, "filename": "dmx485-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bb3c7edbe733c0cd374e7d05d3e33d5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2436, "upload_time": "2018-05-17T06:06:51", "url": "https://files.pythonhosted.org/packages/29/f7/ec7cb13aadf9e694a72c72145d5f2938ec6a7ece24c68888cc12cf090388/dmx485-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d4e3e68f4568612749bcbdccf84031c", "sha256": "6ee05b7c429c463e628a82757ed18fd06ebb5a2082df1d51b4ed3737d9c713d0" }, "downloads": -1, "filename": "dmx485-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6d4e3e68f4568612749bcbdccf84031c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2431, "upload_time": "2018-05-17T06:06:52", "url": "https://files.pythonhosted.org/packages/23/a5/3d554c500454abf681e6ddcf07af9682c07d75e9afe53a51c16f297a607b/dmx485-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c7612ba74db607f12282e17b5be80fd", "sha256": "98fd0334e957ad94d07e84d4701edc450ef3227ac3e09b8ba1683e18895517b9" }, "downloads": -1, "filename": "dmx485-1.1.tar.gz", "has_sig": false, "md5_digest": "0c7612ba74db607f12282e17b5be80fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2152, "upload_time": "2018-05-17T05:58:25", "url": "https://files.pythonhosted.org/packages/e6/2b/fa3727b2fa1ab18bae26a55ac2935d0a248546a68822402c94904a008fb1/dmx485-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "9fa3bc24e15b58daad7535c542672fea", "sha256": "f2f7e3361c5c28508f44ccdd3e899ddb9f53d3d0b1282607d6c94bef00d22fcc" }, "downloads": -1, "filename": "dmx485-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9fa3bc24e15b58daad7535c542672fea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1834, "upload_time": "2018-05-17T06:11:03", "url": "https://files.pythonhosted.org/packages/cf/21/b42f4bc400ada8519b7833dc4e3e02a1dfb0fcb1a6aadb4c567380fec0f1/dmx485-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c7bb54ce0b3c796061bd70b24a9d3a3", "sha256": "6734bfe0db7b62fdc16ec232d8615cfc581245e43a72b8452e8ee48dbee2bfba" }, "downloads": -1, "filename": "dmx485-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0c7bb54ce0b3c796061bd70b24a9d3a3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1831, "upload_time": "2018-05-17T06:10:53", "url": "https://files.pythonhosted.org/packages/65/ee/4e01cb97a7007ef1d00a9a85ccd5e9483340153acf35a58e3d37d2c9f7e9/dmx485-1.1.1-py3-none-any.whl" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "4fd680f9ef404bd46b613fcfe77eceda", "sha256": "cff1476cee3cbeeb42f0bcca06fe840a4dfec33e98f271ee5693ffa1e50f4e91" }, "downloads": -1, "filename": "dmx485-1.2-py3.7.egg", "has_sig": false, "md5_digest": "4fd680f9ef404bd46b613fcfe77eceda", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 3759, "upload_time": "2019-10-03T19:47:36", "url": "https://files.pythonhosted.org/packages/8e/67/c942e11f32dcf7c141df728209c32c8d346a8c5d6002e1bcef2eeafa5059/dmx485-1.2-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "89c88a6877d8225fdb560d64d4c753b8", "sha256": "953e87b4dd1a15ad5d171158035f4ac97d7c8d16114741c0a3dddd462d30911a" }, "downloads": -1, "filename": "dmx485-1.2.tar.gz", "has_sig": false, "md5_digest": "89c88a6877d8225fdb560d64d4c753b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2515, "upload_time": "2019-07-17T00:51:48", "url": "https://files.pythonhosted.org/packages/b0/1c/fea5505439d9b2a563cf893e39db0695b660bff413566f877cb44af00159/dmx485-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "62ff8fd9a0330a41db3f79a5f1140a38", "sha256": "ac51cb3892625427408a59f03f5da73f77c6aa9fb6189507f305c72428dada11" }, "downloads": -1, "filename": "dmx485-1.2.1.tar.gz", "has_sig": false, "md5_digest": "62ff8fd9a0330a41db3f79a5f1140a38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2483, "upload_time": "2019-10-03T19:47:35", "url": "https://files.pythonhosted.org/packages/61/cd/9a40d67cac651448d86bf6e8e3a13df5d08c1a7b3980f47945628a14e807/dmx485-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "62ff8fd9a0330a41db3f79a5f1140a38", "sha256": "ac51cb3892625427408a59f03f5da73f77c6aa9fb6189507f305c72428dada11" }, "downloads": -1, "filename": "dmx485-1.2.1.tar.gz", "has_sig": false, "md5_digest": "62ff8fd9a0330a41db3f79a5f1140a38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2483, "upload_time": "2019-10-03T19:47:35", "url": "https://files.pythonhosted.org/packages/61/cd/9a40d67cac651448d86bf6e8e3a13df5d08c1a7b3980f47945628a14e807/dmx485-1.2.1.tar.gz" } ] }