{"id":22636382,"url":"https://github.com/airalab/sensors-connectivity","last_synced_at":"2025-04-11T21:13:56.470Z","repository":{"id":37806071,"uuid":"259708580","full_name":"airalab/sensors-connectivity","owner":"airalab","description":"Package to input data from sensors / ROS-enabled telemetry agent","archived":false,"fork":false,"pushed_at":"2025-02-11T11:12:36.000Z","size":627,"stargazers_count":8,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-11T21:13:48.609Z","etag":null,"topics":["citizen-science","iot","sds011","sensors-network"],"latest_commit_sha":null,"homepage":"https://sensors.robonomics.network","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/airalab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-28T17:40:24.000Z","updated_at":"2025-02-10T13:27:18.000Z","dependencies_parsed_at":"2024-04-27T16:43:18.449Z","dependency_job_id":"cd55a5ac-bda6-4293-94bd-c8555636864a","html_url":"https://github.com/airalab/sensors-connectivity","commit_stats":{"total_commits":217,"total_committers":7,"mean_commits":31.0,"dds":0.3410138248847926,"last_synced_commit":"ac40c0c94aa0796e0e6ba63905ea88c17bffb347"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fsensors-connectivity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fsensors-connectivity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fsensors-connectivity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fsensors-connectivity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airalab","download_url":"https://codeload.github.com/airalab/sensors-connectivity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480427,"owners_count":21110937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["citizen-science","iot","sds011","sensors-network"],"created_at":"2024-12-09T03:20:58.227Z","updated_at":"2025-04-11T21:13:56.450Z","avatar_url":"https://github.com/airalab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sensors Connectivity Module for Decentralized Sensors Network\n\nThe module for launching your own server instance for receiving data from Altruist Civil Station and further processing.\n\n## Available Guides\n\nWe have created a comprehensive guide that explains the concept of the Decentralized Sensors Network and the Sensors Connectivity module. The guide is available at Robonomics Academy:\n\nhttps://robonomics.academy/en/learn/sensors-connectivity-course/overview/\n\n\n## Pre-requirements\n\nThe IPFS daemon should be installed to build this package. Assuming you are working on Linux:\n\n```\nwget https://dist.ipfs.io/go-ipfs/v0.8.0/go-ipfs_v0.8.0_linux-amd64.tar.gz\ntar -xzf go-ipfs_v0.8.0_linux-amd64.tar.gz\ncd go-ipfs\nsudo bash install.sh\nipfs init\n```\n\nYou also need at least Python 3.10.0 to run this project.\n\n## Sensor Preparation\n\nTo prepare a sensor to work with the package, follow the instructions on [Robonomics Academy](https://robonomics.academy/en/learn/sensors-connectivity-course/setting-up-and-connecting-sensors/).\n\n\n## Installation as PyPi package\n\nRun the following commands:\n\n```\npip3 install py-sr25519-bindings\npip3 install sensors-connectivity\n```\n\n### Configuration\n\nAt Robonomics Academy, you can find an article on setting up the proper configuration for your instance:\n\nhttps://robonomics.academy/en/learn/sensors-connectivity-course/sensors-connectivity-config-options/\n\n\n### Launch\n\nFirst, launch IPFS daemon:\n\n```\nipfs daemon --enable-pubsub-experiment\n```\n\nAfter the configuration and log files are set, you can run the service in another terminal:\n\n```\nsensors_connectivity \"path/to/your/config/file\"\n```\n\nYou will see logs in your terminal and in `~/.logs`.\n\n## Build from Source\n\nTo build a Python package from source, [Poetry](https://python-poetry.org/docs/#osx--linux--bashonwindows-install-instructions) should also be installed. Assuming you are working on Linux:\n\n```\ncurl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -\n```\n\nGet the package and install dependencies:\n\n```\ngit clone https://github.com/airalab/sensors-connectivity\ncd sensors-connectivity\npoetry install\n```\n\n### Configuration\n\nAt Robonomics Academy, you can find an article on setting up the proper configuration for your instance:\n\nhttps://robonomics.academy/en/learn/sensors-connectivity-course/sensors-connectivity-config-options/\n\nMake a copy of `default.json` and fill it using the description from the article.\n\nYou can also set a logging file. The default file for logs is `logging.py`, which uses the `console` and `file` handlers by default. Pay attention to the `file` handler.\n\nThe template is stored in `connectivity/config/logging_template.py`. You can specify the path (`filename`) where your logs will be stored (do not forget to create this directory if it doesn't exist). The default path for logs is `~/.logs`. You can find other handlers in the [Logging facility module](https://docs.python.org/3.8/library/logging.html) for Python.\n\n\n### Launch\n\nFirst, launch the IPFS daemon:\n\n```\nipfs daemon --enable-pubsub-experiment\n```\nAfter the configuration and log files are set, you can run the service in another terminal:\n\n```\npoetry run sensors_connectivity \"path/to/your/config/file\"  \n```\n\nIf your log file is set with the `console` handler, you will be able to see logs in your terminal.\n\n### Development\n\nTo test the module with an HTTP station, use:\n\n```\npoetry run test_mobile_lab\ntest_environmental_box\n```\n\nFor more information about development, check the `/docs` directory:\n\nhttps://github.com/airalab/sensors-connectivity/tree/master/docs\n\n### Troubleshooting\n\n**Python.h: No such file or directory:**:\n\nIf, during the execution of the `poetry install` command, you encounter this error, you need to install the header files and static libraries for `python-dev`. Use your package manager for installation. For example, with `apt`, you need to run:\n\n```\nsudo apt install python3-dev\n```\n\u003e **Note**: `python3-dev` does not cover all versions for Python 3. The service needs at least Python 3.10, for that you may need to specify the version: `sudo apt install python3.10-dev`.\n\n[Here](https://stackoverflow.com/a/21530768) you can find examples for other package managers.\n\n**Python versions mismatch:**\n\nIf, during the execution of the `poetry install` command, you encounter a `SolverProblemError`, which states `The current project's Python requirement (3.6.9) is not compatible with some of the required packages' Python requirement:..`, even though you have a newer version of Python (e.g., Python 3.10.9), you may need to specify the Python version for Poetry:\n\n```\npoetry env use python3.10.9\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairalab%2Fsensors-connectivity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairalab%2Fsensors-connectivity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairalab%2Fsensors-connectivity/lists"}