{ "info": { "author": "dhrone", "author_email": "ron@ritchey.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Software Development :: Embedded Systems" ], "description": "# pyIOT\n![pyIOT Diagram](https://raw.githubusercontent.com/dhrone/pyIOT/master/doc/source/_static/pyIOT_System.jpg)\n\nA python module to simplify writing device drivers for the Amazon AWS IOT service\n\npyIOT abstracts the AWS IOT-Core service handling all of the communications between it and our device. To implement a pyIOT application, you only need to specify how to convert from the protocol of your device into the properties that you want to expose to IOT-Core and vice-versa. This enables IOT-Core applications to be written in a handful of lines of code.\n\nHere's an example pyIOT application for a simple relay...\n\n```python\n\nimport serial\nimport pyIOT\n\nclass Relay(Component):\n @Component.componentToProperty('relayState', '^RELAY(ON|OFF)$')\n def toRelayState(self, property, value):\n val = { 'ON': True, 'OFF': False }.get(value)\n if val: return val\n raise ValueError('{0} is not a valid value for property {1}'.format(value, property))\n\n @Component.propertyToComponent('relayState', 'RELAY{0}')\n def fromRelayState(self, value):\n val = { True: 'ON', False: 'OFF' }.get(value)\n if val: return val\n raise ValueError('{0} is not a valid relayState'.format(value))\n\n def queryStatus(self):\n return 'RELAY?\\n'\n\ntry:\n ser = serial.Serial('/dev/ttyUSB0',9600, timeout=0.5)\n relayComponent = Relay(name = 'RelayComponent1', stream = ser, synchronous=True)\n\n relayThing = Thing(endpoint='', thingName='relayOne', rootCAPath='root-CA.crt', certificatePath='relayOne.crt',\n privateKeyPath='relayOne.private.key', region='us-east-1', components=relayComponent)\n relayThing.start()\nexcept KeyboardInterrupt:\n relayComponent.exit()\n```\n# Features\n\n* Handles all communications between AWS IOT-Core and your device\n* Optionally allows several components to be combined into a single IOT device\n* Supports synchronous and asynchronous components\n* Easily interfaces with serial and network driven components\n* Allows custom communication methods including GPIO driven applications\n\n# Documentation\n\nFor more details on pyIOT and its usage, please consult the documenation at https://pyiot.readthedocs.io\n\n\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/dhrone/pyIOT", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyIOT", "package_url": "https://pypi.org/project/pyIOT/", "platform": "", "project_url": "https://pypi.org/project/pyIOT/", "project_urls": { "Homepage": "https://github.com/dhrone/pyIOT" }, "release_url": "https://pypi.org/project/pyIOT/0.1.1/", "requires_dist": [ "pyserial", "awsiotpythonsdk" ], "requires_python": "", "summary": "Simplifies driver development for Amazon's IOT-Core service", "version": "0.1.1" }, "last_serial": 4188108, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "2fd628223ddb0efd8214f2afc922c67c", "sha256": "b29ce343dfcd14945fb8d410128a222df41143400a6ea4ee06fdf1300915151e" }, "downloads": -1, "filename": "pyIOT-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2fd628223ddb0efd8214f2afc922c67c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18718, "upload_time": "2018-08-20T11:55:09", "url": "https://files.pythonhosted.org/packages/38/08/fde36803f3e77cddae02c16aa941a09d55024dff62660b5faec255e7fac0/pyIOT-0.1.1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2fd628223ddb0efd8214f2afc922c67c", "sha256": "b29ce343dfcd14945fb8d410128a222df41143400a6ea4ee06fdf1300915151e" }, "downloads": -1, "filename": "pyIOT-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2fd628223ddb0efd8214f2afc922c67c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18718, "upload_time": "2018-08-20T11:55:09", "url": "https://files.pythonhosted.org/packages/38/08/fde36803f3e77cddae02c16aa941a09d55024dff62660b5faec255e7fac0/pyIOT-0.1.1-py3-none-any.whl" } ] }