{ "info": { "author": "Tino de Bruijn", "author_email": "tinodb@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Other Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Home Automation", "Topic :: Utilities" ], "description": "=========\npyFirmata\n=========\n\npyFirmata is a Python interface for the `Firmata`_ protocol. It is fully\ncompatible with Firmata 2.1, and has some functionality of version 2.2. It runs\non Python 2.7, 3.3 and 3.4.\n\n.. _Firmata: http://firmata.org\n\nTest & coverage status:\n\n.. image:: https://travis-ci.org/tino/pyFirmata.png?branch=master\n :target: https://travis-ci.org/tino/pyFirmata\n\n.. image:: https://coveralls.io/repos/github/tino/pyFirmata/badge.svg?branch=master\n :target: https://coveralls.io/github/tino/pyFirmata?branch=master\n\nInstallation\n============\n\nThe preferred way to install is with pip_::\n\n pip install pyfirmata\n\nYou can also install from source with ``python setup.py install``. You will\nneed to have `setuptools`_ installed::\n\n git clone https://github.com/tino/pyFirmata\n cd pyFirmata\n python setup.py install\n\n.. _pip: http://www.pip-installer.org/en/latest/\n.. _setuptools: https://pypi.python.org/pypi/setuptools\n\n\nUsage\n=====\n\nBasic usage::\n\n >>> from pyfirmata import Arduino, util\n >>> board = Arduino('/dev/tty.usbserial-A6008rIF')\n >>> board.digital[13].write(1)\n\nTo use analog ports, it is probably handy to start an iterator thread.\nOtherwise the board will keep sending data to your serial, until it overflows::\n\n >>> it = util.Iterator(board)\n >>> it.start()\n >>> board.analog[0].enable_reporting()\n >>> board.analog[0].read()\n 0.661440304938\n\nIf you use a pin more often, it can be worth it to use the ``get_pin`` method\nof the board. It let's you specify what pin you need by a string, composed of\n'a' or 'd' (depending on wether you need an analog or digital pin), the pin\nnumber, and the mode ('i' for input, 'o' for output, 'p' for pwm). All\nseperated by ``:``. Eg. ``a:0:i`` for analog 0 as input or ``d:3:p`` for\ndigital pin 3 as pwm.::\n\n >>> analog_0 = board.get_pin('a:0:i')\n >>> analog_0.read()\n 0.661440304938\n >>> pin3 = board.get_pin('d:3:p')\n >>> pin3.write(0.6)\n\nBoard layout\n============\n\nIf you want to use a board with a different layout than the standard Arduino\nor the Arduino Mega (for which there exist the shortcut classes\n``pyfirmata.Arduino`` and ``pyfirmata.ArduinoMega``), instantiate the Board\nclass with a dictionary as the ``layout`` argument. This is the layout dict\nfor the Mega for example::\n\n >>> mega = {\n ... 'digital' : tuple(x for x in range(54)),\n ... 'analog' : tuple(x for x in range(16)),\n ... 'pwm' : tuple(x for x in range(2,14)),\n ... 'use_ports' : True,\n ... 'disabled' : (0, 1, 14, 15) # Rx, Tx, Crystal\n ... }\n\nTodo\n====\n\nThe next things on my list are to implement the new protocol changes in\nfirmata:\n\n- Pin State Query, which allows it to populate on-screen controls with an\n accurate representation of the hardware's configuration\n (http://firmata.org/wiki/Proposals#Pin_State_Query_.28added_in_version_2.2.29)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tino/pyFirmata", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyFirmata", "package_url": "https://pypi.org/project/pyFirmata/", "platform": "", "project_url": "https://pypi.org/project/pyFirmata/", "project_urls": { "Homepage": "https://github.com/tino/pyFirmata" }, "release_url": "https://pypi.org/project/pyFirmata/1.1.0/", "requires_dist": [ "pyserial" ], "requires_python": "", "summary": "A Python interface for the Firmata procotol", "version": "1.1.0" }, "last_serial": 4921898, "releases": { "0.9.5": [ { "comment_text": "", "digests": { "md5": "ea803a127e6361acaba32080de22f46f", "sha256": "82e4b87ba4f8f8f1c68376cdb005dc7a2d7cb4f53f7e1067ca212874baaf4853" }, "downloads": -1, "filename": "pyFirmata-0.9.5.macosx-10.6-x86_64.exe", "has_sig": false, "md5_digest": "ea803a127e6361acaba32080de22f46f", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 75933, "upload_time": "2013-01-13T13:56:33", "url": "https://files.pythonhosted.org/packages/c4/7a/fe86d5e131600a250d2643e02aed6f0b6c7a0ea523edb43ebb9bc0bb8730/pyFirmata-0.9.5.macosx-10.6-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "6f9e9a617ffb904c6eb4f5b4696790db", "sha256": "01531fea95aa2585aa49a48474d0e0046add38baefa6b7944393f503eb05322f" }, "downloads": -1, "filename": "pyFirmata-0.9.5.tar.gz", "has_sig": false, "md5_digest": "6f9e9a617ffb904c6eb4f5b4696790db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12038, "upload_time": "2013-01-13T13:56:29", "url": "https://files.pythonhosted.org/packages/67/6d/6312b578d2c11f48ab6b6dc9c2756e495f328eff1fdf84650b02c8aa6c4b/pyFirmata-0.9.5.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "9dee836223db8d70ea4792940e870f53", "sha256": "2e7e1be872287074e268975b534127a77def7050b9379cc2a0dc19bfd0dca184" }, "downloads": -1, "filename": "pyFirmata-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9dee836223db8d70ea4792940e870f53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12029, "upload_time": "2015-01-04T23:22:45", "url": "https://files.pythonhosted.org/packages/03/9d/49a92bf6e8c6cc67082e233d89993cca66a0a794e210efedd00459821420/pyFirmata-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "18bfaf4a06de53d74d38affb19e22864", "sha256": "d531ca57d8df3cf80025be41822ea45b67e5f4960dfdd47af717a7314bfe526f" }, "downloads": -1, "filename": "pyFirmata-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "18bfaf4a06de53d74d38affb19e22864", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15394, "upload_time": "2015-01-17T14:49:39", "url": "https://files.pythonhosted.org/packages/cd/bc/e5c3fee8a5f70d00b809d35ac105e9239e985e64dd77c34115d89bbe5f4f/pyFirmata-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c4eed7cb13fa52b82ee25ebfeac31b0", "sha256": "41a728d080099509a42763b132fe90cc4f12062c61c3e0adefd8a3bb35e87a4e" }, "downloads": -1, "filename": "pyFirmata-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9c4eed7cb13fa52b82ee25ebfeac31b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15433, "upload_time": "2015-01-17T14:47:35", "url": "https://files.pythonhosted.org/packages/a8/9e/abf3940c3d8a7f11f5e473505bd841dc4f9887846943806710039711b0ca/pyFirmata-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45ce836bb470ab7d1f7ce5c36452585b", "sha256": "f711056bacf7c8d5ceb822c3734883088f1c75ceaa0c2e924731aa523a029629" }, "downloads": -1, "filename": "pyFirmata-1.0.1.tar.gz", "has_sig": false, "md5_digest": "45ce836bb470ab7d1f7ce5c36452585b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13979, "upload_time": "2015-01-17T14:47:39", "url": "https://files.pythonhosted.org/packages/60/8c/71db2f0070afac2fb93b304330ffc01c68ae9f14c25ad559294281d14968/pyFirmata-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "fcbc3cad7dbcc45533a475018e7615e8", "sha256": "f97c7fc3839746a1dcc915dcec7306f9e410c184229e62743358449ec576ce15" }, "downloads": -1, "filename": "pyFirmata-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fcbc3cad7dbcc45533a475018e7615e8", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 15400, "upload_time": "2015-02-17T15:46:00", "url": "https://files.pythonhosted.org/packages/df/98/8adfa67d8c7115c497e46a2f1a6ce1869f552eb5bf731d6a9a1e2fbe2f3d/pyFirmata-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fddd3d9882cb0a672f15877c9e1c17a9", "sha256": "81bc2704109161cee7c4c0544578be044a4be31d86fcb157c7bc53484015b634" }, "downloads": -1, "filename": "pyFirmata-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fddd3d9882cb0a672f15877c9e1c17a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14062, "upload_time": "2015-02-17T15:45:57", "url": "https://files.pythonhosted.org/packages/90/76/91f85168b5b94d9c8353a1879d7fba4465138853062a8504e3f8a62ab0ad/pyFirmata-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "9c8f148f8130313fc9ea5fd64e480540", "sha256": "3e0ef63277b357c79fdbf8b4ba227fc83abaf981a363cf077276cfa61a136c75" }, "downloads": -1, "filename": "pyFirmata-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c8f148f8130313fc9ea5fd64e480540", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 15407, "upload_time": "2015-05-17T09:41:22", "url": "https://files.pythonhosted.org/packages/91/dd/de680323d083d5b2bcafc75c5fe938bece9d602e88d9e79acc1705b025c9/pyFirmata-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee4c23ca5c35d3091d550a63540811a3", "sha256": "b54d49d66a9d93c1ef9c72ca01264414cb2de177baac116c12d5cce0c380160c" }, "downloads": -1, "filename": "pyFirmata-1.0.3.tar.gz", "has_sig": false, "md5_digest": "ee4c23ca5c35d3091d550a63540811a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14072, "upload_time": "2015-05-17T09:41:18", "url": "https://files.pythonhosted.org/packages/bb/63/f136efb5f1a9d864fdfb40d33eed3534b2cba4ed8c9b268341ef2bf49343/pyFirmata-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "22a4aed54ed8e4c52e2a8f8fcfdedb57", "sha256": "03091ffd0b06a483d286d9738ead97a50c55cf1bf6b89a5bd0c420d0a7797420" }, "downloads": -1, "filename": "pyFirmata-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "22a4aed54ed8e4c52e2a8f8fcfdedb57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14262, "upload_time": "2019-03-10T16:21:06", "url": "https://files.pythonhosted.org/packages/14/f0/05e30c9cee38f9c0e8ef08a07ff28e4c391c7d95e2bcb1f334f58cc2bb28/pyFirmata-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "159673cfb56c72ceafc30fe91eedd847", "sha256": "cc180d1b30c85a2bbca62c15fef1b871db048cdcfa80959968356d97bd3ff08e" }, "downloads": -1, "filename": "pyFirmata-1.1.0.tar.gz", "has_sig": false, "md5_digest": "159673cfb56c72ceafc30fe91eedd847", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14447, "upload_time": "2019-03-10T16:21:08", "url": "https://files.pythonhosted.org/packages/ff/e6/512cc154c0370e22429db3139e7c906c4f8ad2646f4ca816547e9ae2c26c/pyFirmata-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "22a4aed54ed8e4c52e2a8f8fcfdedb57", "sha256": "03091ffd0b06a483d286d9738ead97a50c55cf1bf6b89a5bd0c420d0a7797420" }, "downloads": -1, "filename": "pyFirmata-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "22a4aed54ed8e4c52e2a8f8fcfdedb57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14262, "upload_time": "2019-03-10T16:21:06", "url": "https://files.pythonhosted.org/packages/14/f0/05e30c9cee38f9c0e8ef08a07ff28e4c391c7d95e2bcb1f334f58cc2bb28/pyFirmata-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "159673cfb56c72ceafc30fe91eedd847", "sha256": "cc180d1b30c85a2bbca62c15fef1b871db048cdcfa80959968356d97bd3ff08e" }, "downloads": -1, "filename": "pyFirmata-1.1.0.tar.gz", "has_sig": false, "md5_digest": "159673cfb56c72ceafc30fe91eedd847", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14447, "upload_time": "2019-03-10T16:21:08", "url": "https://files.pythonhosted.org/packages/ff/e6/512cc154c0370e22429db3139e7c906c4f8ad2646f4ca816547e9ae2c26c/pyFirmata-1.1.0.tar.gz" } ] }