{ "info": { "author": "Sergio Oller Moreno", "author_email": "sergioller@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# aves: Acquisition, Visualization and Exploration Software\n\nThis python module makes it easy to acquire data from a serial port, visualize it\non real time and record it. It also provides a module for visualizing data previously\naquired with this tool.\n\n## Installation\n\n pip3 install aves\n\n## Quick start\n\n- We will use an Arduino to send data through the serial port.\n- We will use *aves* to acquire, represent and record the data.\n\n### Arduino code\n\nCreate a file with the contents from [example/arduino.ino](https://github.com/zeehio/aves/blob/master/example/arduino.ino).\n\nThis sample code reads the analog ports from the arduino board and prints them on the serial port.\n\nTake note of:\n- The SAMPLE_TIME (in ms): `100`\n- The Serial port speed (in bauds): `9600`\n- The Analog Read Resolution (in bits): `10`\n- The input range of the analog ports (in volts): `(check your board, usually 5V or 3.3V)`\n\n### Aves configuration\n\nAves is configured using a `yaml` file. Please take the example file from \n[example/config.yaml](https://github.com/zeehio/aves/blob/master/example/config.yaml).\n\nThe yaml file has four sections:\n\n- `version`: Just a value, must be 2.\n- `input`: Defines the aves input sources.\n- `gui`: Controls the real time plotting options\n- `output`: Defines the columns with sensor data that will be saved in a text file.\n\n#### The `input` section\n\nAves uses two sources of information, the *arduino* and the *computer clock*.\n\nFor the arduino input, we have multiple parameters:\n\n- `baudrate`: The baudrate specified in the arduino code.\n- `timeout`: The seconds the python code will wait for data until it believes the serial connection has been dropped.\n- `columns`: Aves must know what is the arduino printing on the serial port. `columns` is a list with as many elements as columns.\n Each element is defined by `name` which gives a name to the column and `conversion_factor` that is used to convert the\n number printed by the arduino to a magnitude meaninful for us. For instance, the conversion_factor is used in the example\n to convert the time printed by the arduino from milliseconds to seconds (0.001), and the sensor reads (in the range 0-1023) to Volts\n (in the range 0-5V): (5V/1023 = 0.004887586). The columns should be given in the order that they are printed by the arduino.\n\nThe computer clock does not have an entry, as it has no options. However, we should remember that besides the columns defined\nin the `arduino` section, we also have the `time_computer` column, useful to synchronize our experiment with other information.\n\n\n#### The `gui` section\n\nThe `gui` defines the visualization options, including:\n\n- The name of the column used in the `x` axis (`x_column`). It usually is the time given by the Arduino.\n- Whether or not the zoom for all the subplots should be shared. It is often convenient to have it shared (`zoom_all_together`).\n- The `axes`: The subplots available in the window. Imagine the subplots layed out in a grid. The first subplot (top-left) would be\n in `row: 0`, `col: 0`. The subplot below the first would appear in `row: 1`, `col: 0`, etc. Subplots may span several rows or columns,\n to make them larger, with the `rowspan` and `colspan` options, by default both set to `1`. Each subplot should plot at least one column\n from the input, although more than one column can be plotted. The column names to be plotted for each subplot are given in `columns`.\n Additional plotting options (limits, labels) can be given in `options`.\n\nBesides, there is the name of the window `window_title` and the `refresh_time_ms` that controls how often the GUI is refreshed.\n\n#### The `output` section\n\nControls the columns that will be printed to the text file. Note how we have in the example \nboth the computer time and the arduino time printed.\n\n\n### Run it:\n\n python3 -m aves.realtime --port *Serial port where your arduino is connected* --outfile \"test.txt\"\n\nCheck `python3 -m aves.realtime --help` for all other command line options, for instance:\n\n- `--no-save` Do not save the captured data to a file\n- `--outfile test.txt` Save the capture data to `test.txt`\n- `--tmeas 600` Capture data for 600 seconds maximum (default: unlimited)\n- `--port COM3` Use the `COM3` serial port\n- `--plot_every_n_samples 10` Wait for at least 10 samples to refresh the GUI\n- `--plot_win_size 200` Keep up to 200 samples in the plot (use 0 for unlimited)\n- `--config another.yaml` Use `another.yaml` as config file.\n\n![Image of the acquisition demo](example/demo.png)\n\n### Explore the acquired data:\n\n python3 -m aves.explorer --filename \"test.txt\"\n\n\n## Known works using aves\n\n- The prototype for fire detection developed at IBEC under the SafeSens project\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/zeehio/aves", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aves", "package_url": "https://pypi.org/project/aves/", "platform": "", "project_url": "https://pypi.org/project/aves/", "project_urls": { "Homepage": "https://github.com/zeehio/aves" }, "release_url": "https://pypi.org/project/aves/3.0.1/", "requires_dist": [ "pyserial", "matplotlib" ], "requires_python": "", "summary": "Acquisition, Visualization and Exploration Software", "version": "3.0.1" }, "last_serial": 5476149, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "628a954de447644320f799a41d5a03da", "sha256": "c7c771f8288e6b1b7c44f16ebfc650926a3f9c5a1ef45cbd19a911fc6ee8ae4e" }, "downloads": -1, "filename": "aves-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "628a954de447644320f799a41d5a03da", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12682, "upload_time": "2018-09-17T17:06:42", "url": "https://files.pythonhosted.org/packages/51/98/bce2e2c9f9012c8d46c443dae68b34e8110527ab7646456578279423ea38/aves-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5444beb4bfd1149e33bf2dd1f1da6660", "sha256": "83aec9d0a11e164639fe4015dba86d20fa43fb56d0703356e5a5fb55e910ce32" }, "downloads": -1, "filename": "aves-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5444beb4bfd1149e33bf2dd1f1da6660", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10776, "upload_time": "2018-09-17T17:06:44", "url": "https://files.pythonhosted.org/packages/5c/4c/7d37ca9c8f141084759bbf3636895bd07846d36e9e11ceb894fe8f1265f2/aves-1.0.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "b54f85379dc71e802c878272a59168bc", "sha256": "0b7c0d61efae943200bab097508a9431fe9c4e878c10636cdbda5b151de1410b" }, "downloads": -1, "filename": "aves-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b54f85379dc71e802c878272a59168bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12532, "upload_time": "2018-10-29T14:46:08", "url": "https://files.pythonhosted.org/packages/06/17/64bdfd7a043319c3b5ee7d034c4cba65c858e8b7274395cfdaa35fe59738/aves-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b31c2e73b876d79f8650df4a6e61e4de", "sha256": "2a84e833163a8218711b29433c713d012eca7bec6c4a1fb0ed0b191fcba458a1" }, "downloads": -1, "filename": "aves-2.0.0.tar.gz", "has_sig": false, "md5_digest": "b31c2e73b876d79f8650df4a6e61e4de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10689, "upload_time": "2018-10-29T14:45:59", "url": "https://files.pythonhosted.org/packages/84/07/cda9a62a4e7cb823e55483c61b59991e6a8554a4f807ca3b2d402f9e8b91/aves-2.0.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "bd501dc454113c0603f295dc294bd435", "sha256": "a63e085002e9511cd17a48f63595a80171624f3802f1e7e6d77236d4e4447350" }, "downloads": -1, "filename": "aves-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bd501dc454113c0603f295dc294bd435", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13576, "upload_time": "2019-07-02T08:01:33", "url": "https://files.pythonhosted.org/packages/b6/45/2f979fc1954e30bb97aac1e3ac7198a1b4baaf061b3d6af2b36d1a500aae/aves-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8b014ead5b61f840768f0b5dc39222f", "sha256": "c9f490f3256f8758466629cda3fdcc75dfe991c20dc0028a25968e587e8c544f" }, "downloads": -1, "filename": "aves-3.0.0.tar.gz", "has_sig": false, "md5_digest": "c8b014ead5b61f840768f0b5dc39222f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12632, "upload_time": "2019-07-02T08:01:34", "url": "https://files.pythonhosted.org/packages/c0/96/a5c5b7e1265664ae793d54d3ab49398673882758b106e50b7ae4e5e0950a/aves-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "866ab0d4e9e2c9a13d285923e39af4c7", "sha256": "e6ff6465e1fb8d8b3d591a83eade5183383a9d787f1e0dd9273259fc6f7b4906" }, "downloads": -1, "filename": "aves-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "866ab0d4e9e2c9a13d285923e39af4c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13588, "upload_time": "2019-07-02T10:03:02", "url": "https://files.pythonhosted.org/packages/71/57/e366a4ac790342f2329bf3f01bf6dadeaa484c3d14af1a95227a3fc3f6d2/aves-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fc3c9fc3b47fb4d03ffe932d8a6f813", "sha256": "9869b344acf81169fc968f47d1b044a3baeb2ad41c20fff021a0c79192eba54a" }, "downloads": -1, "filename": "aves-3.0.1.tar.gz", "has_sig": false, "md5_digest": "1fc3c9fc3b47fb4d03ffe932d8a6f813", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12645, "upload_time": "2019-07-02T10:03:04", "url": "https://files.pythonhosted.org/packages/91/5c/ef7d1f2b37ca8b10ee824c6899ebc8b79adb4114558bf6a989b3b93c7c27/aves-3.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "866ab0d4e9e2c9a13d285923e39af4c7", "sha256": "e6ff6465e1fb8d8b3d591a83eade5183383a9d787f1e0dd9273259fc6f7b4906" }, "downloads": -1, "filename": "aves-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "866ab0d4e9e2c9a13d285923e39af4c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13588, "upload_time": "2019-07-02T10:03:02", "url": "https://files.pythonhosted.org/packages/71/57/e366a4ac790342f2329bf3f01bf6dadeaa484c3d14af1a95227a3fc3f6d2/aves-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fc3c9fc3b47fb4d03ffe932d8a6f813", "sha256": "9869b344acf81169fc968f47d1b044a3baeb2ad41c20fff021a0c79192eba54a" }, "downloads": -1, "filename": "aves-3.0.1.tar.gz", "has_sig": false, "md5_digest": "1fc3c9fc3b47fb4d03ffe932d8a6f813", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12645, "upload_time": "2019-07-02T10:03:04", "url": "https://files.pythonhosted.org/packages/91/5c/ef7d1f2b37ca8b10ee824c6899ebc8b79adb4114558bf6a989b3b93c7c27/aves-3.0.1.tar.gz" } ] }