{ "info": { "author": "Exosite LLC", "author_email": "support@exosite.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Embedded Systems", "Topic :: System :: Operating System Kernels :: Linux" ], "description": "Description\n############\n\n.. image:: https://travis-ci.com/exosite/lib_exoedge_modbus_python.svg?token=tgjcyH1MG5sXqcVsD1kG&branch=master\n :target: https://travis-ci.com/exosite/lib_exoedge_modbus_python\n\nThis project is a Modbus source for Exosite's ``ExoSense`` which uses ``ExoEdge``.\n\nInstall\n#########\n\n>From Source\n\"\"\"\"\"\"\"\"\"\"\"\"\n\n.. code-block::\n\n pip install -r requirements.txt\n python setup.py install\n\n>From PyPi\n\"\"\"\"\"\"\"\"\"\"\"\"\n\nThe wheel for this hasn't been published yet.\n\n.. code-block::\n\n pip install exoedge_modbus\n\nExoEdge Configuration\n######################\n\nIn order to start using this Modbus source, start the ``edged`` daemon with your desired parameters. For more information on ``edged``, visit `ExoEdge `_ on PyPi.\n\nExample\n\"\"\"\"\"\"\"\"\n\n.. code-block::\n\n $ cat modbus-test1.ini\n [device]\n murano_host = mqtt://f5330e5s8cho0000.m2.exosite.io/\n murano_id = modbus-test1\n $ edged -i modbus-test1.ini go\n\n\nExoSense Configuration\n########################\n\nBelow is an example ``config_io`` settings that illustrates how Modbus RTU data can be sent to ExoSense via ExoEdge.\n\n.. code-block:: json\n\n {\n \"channels\": {\n \"001\": {\n \"display_name\": \"Input Register 1\",\n \"description\": \"Input Register 1.\",\n \"channel_name\": \"001\",\n \"properties\": {\n \"data_unit\": \"NUMBER\",\n \"data_type\": \"TEMPERATURE\",\n \"min\": null,\n \"max\": null,\n \"precision\": null,\n \"device_diagnostic\": false\n },\n \"protocol_config\": {\n \"timeout\": null,\n \"report_on_change\": false,\n \"report_rate\": 2000,\n \"application\": \"Modbus_RTU\",\n \"app_specific_config\": {\n \"byte_endianness\": \"big\",\n \"register_range\": \"INPUT_REGISTER\",\n \"register_offset\": \"0002\",\n \"register_count\": 1,\n \"register_endianness\": \"big\",\n \"bitmask\": \"0xffffffff\",\n \"slave_id\": 1,\n \"evaluation_mode\": \"unsigned\"\n },\n \"sample_rate\": 2000,\n \"input_raw\": {},\n \"offset\": 0,\n \"interface\": \"/dev/ttyM0\",\n \"down_sample\": \"ACT\"\n }\n }\n }\n }\n\nBelow is the ``config_applications`` configuration needed for the ``config_io`` above:\n\n.. code-block:: json\n\n {\n \"applications\": {\n \"Modbus_RTU\": {\n \"application_display_name\": \"Modbus RTU\",\n \"interfaces\": [\n {\n \"interface\": \"/dev/ttyM0\",\n \"baud_rate\": 19200,\n \"stop_bits\": 1,\n \"data_bits\": 7,\n \"parity\": \"none\"\n }\n ]\n }\n }\n }\n\nBelow is a ``config_io`` example for ``Modbus_TCP``:\n\n.. code-block:: json\n\n {\n \"channels\": {\n \"1\": {\n \"display_name\": \"Input Register 1\",\n \"description\": \"One-second intervals of input register 1.\",\n \"properties\": {\n \"max\": null,\n \"precision\": null,\n \"data_type\": \"BINARY\",\n \"min\": null\n },\n \"protocol_config\": {\n \"application\": \"Modbus_TCP\",\n \"report_on_change\": false,\n \"report_rate\": 1000,\n \"sample_rate\": 1000,\n \"down_sample\": \"ACT\",\n \"app_specific_config\": {\n \"ip_address\": \"192.168.11.139\",\n \"port\": 5020,\n \"register_range\": \"INPUT_REGISTER\",\n \"register_offset\": 0,\n \"register_count\": 1,\n \"byte_endianness\": \"big\",\n \"register_endianness\": \"big\",\n \"evaluation_mode\": \"string-ascii\",\n \"bitmask\": \"0x0000\"\n }\n }\n }\n }\n }\n\n\nFor linux user\n########################\n\nShould not run exoedge with `sudo` because of the security reason. If you get `permission denied: could not open port` when using Modbus_RTU, try:\n\n.. code-block:: bash\n\n groups ${USER}\n\nThis will list all the groups you belong to. If you don't belong to the dialout grup then add yourself to it, for example:\n\n.. code-block:: bash\n\n sudo gpasswd --add ${USER} dialout\n\nYou then need to log out and log back in again for it to be effective.\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/exosite/lib_exoedge_modbus_python", "keywords": "murano exosite iot iiot client gateway modbus tcp rtu", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "exoedge-modbus", "package_url": "https://pypi.org/project/exoedge-modbus/", "platform": "", "project_url": "https://pypi.org/project/exoedge-modbus/", "project_urls": { "Homepage": "https://github.com/exosite/lib_exoedge_modbus_python" }, "release_url": "https://pypi.org/project/exoedge-modbus/19.7.26/", "requires_dist": [ "exoedge (>=18.11.17)", "pymodbus", "six (==1.11.0)" ], "requires_python": "", "summary": "An ExoEdge source for interfacing with Modbus devices.", "version": "19.7.26" }, "last_serial": 5590107, "releases": { "19.3.7": [ { "comment_text": "", "digests": { "md5": "cff29455c3adff470ebc9fd9a8044795", "sha256": "2cdf2a27c0efcd24601670b104a7c44d8d50878fe739c1eef6f62d76db54ed2a" }, "downloads": -1, "filename": "exoedge_modbus-19.3.7-py2-none-any.whl", "has_sig": true, "md5_digest": "cff29455c3adff470ebc9fd9a8044795", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15206, "upload_time": "2019-03-07T22:13:50", "url": "https://files.pythonhosted.org/packages/07/41/d180a37582748eb2df8cb0661de159281b5e0ebe090ade2d931a22663def/exoedge_modbus-19.3.7-py2-none-any.whl" } ], "19.7.17": [ { "comment_text": "", "digests": { "md5": "7a6125029ad9132d185cd74351050581", "sha256": "a58d8a79b0f8e2b7ce574bbd02a065c536ed1647eaeb5d18b60257bc875a8566" }, "downloads": -1, "filename": "exoedge_modbus-19.7.17-py2-none-any.whl", "has_sig": true, "md5_digest": "7a6125029ad9132d185cd74351050581", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 19641, "upload_time": "2019-07-17T20:06:57", "url": "https://files.pythonhosted.org/packages/c0/79/29a477e279224d8b7331e976e0920c31516d71be5d65dbe585fccaa2e53d/exoedge_modbus-19.7.17-py2-none-any.whl" } ], "19.7.22": [ { "comment_text": "", "digests": { "md5": "a07392d3f2d5ff8d2e01cca409cdfaab", "sha256": "344d9b8ec2c8db8fece40fc61c788c559cb1c9892678a23676efe5dab7e5d0c3" }, "downloads": -1, "filename": "exoedge_modbus-19.7.22-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a07392d3f2d5ff8d2e01cca409cdfaab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23742, "upload_time": "2019-07-22T15:26:14", "url": "https://files.pythonhosted.org/packages/8c/2c/1d983bbd5fbeeb90770504066a5e0d2e0853dceba534d5336b6d989f2c83/exoedge_modbus-19.7.22-py2.py3-none-any.whl" } ], "19.7.25": [ { "comment_text": "", "digests": { "md5": "5d7649835e0e476a53ee908d3081d5e5", "sha256": "215551327302fd2904dc6579d3d32799c590080dd1b8f298bc3dcb36bcd56c37" }, "downloads": -1, "filename": "exoedge_modbus-19.7.25-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5d7649835e0e476a53ee908d3081d5e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23754, "upload_time": "2019-07-25T18:23:22", "url": "https://files.pythonhosted.org/packages/4b/f0/7b1b61544e28e71e36f0d52b9c9f6b05d8fa3a3b128bc4e69b8a62e32449/exoedge_modbus-19.7.25-py2.py3-none-any.whl" } ], "19.7.26": [ { "comment_text": "", "digests": { "md5": "300d2380f509ee307857ccf8398adb35", "sha256": "aff44b597e36888e6832633add4933fb6aaf17a573996d50e9c0e7f78dc8bd99" }, "downloads": -1, "filename": "exoedge_modbus-19.7.26-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "300d2380f509ee307857ccf8398adb35", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23750, "upload_time": "2019-07-26T18:10:01", "url": "https://files.pythonhosted.org/packages/4b/28/0c454f170f7612709fbcb4df564d6271e759eec4f3c08692c2e90fd035d6/exoedge_modbus-19.7.26-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "300d2380f509ee307857ccf8398adb35", "sha256": "aff44b597e36888e6832633add4933fb6aaf17a573996d50e9c0e7f78dc8bd99" }, "downloads": -1, "filename": "exoedge_modbus-19.7.26-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "300d2380f509ee307857ccf8398adb35", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23750, "upload_time": "2019-07-26T18:10:01", "url": "https://files.pythonhosted.org/packages/4b/28/0c454f170f7612709fbcb4df564d6271e759eec4f3c08692c2e90fd035d6/exoedge_modbus-19.7.26-py2.py3-none-any.whl" } ] }