Science Score: 85.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
    Organization tum-esm has institutional domain (www.ei.tum.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • Open Issues: 6
  • Releases: 9
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

ACROPOLIS CO2 Sensor Network

License: GPL v3 Python Version DOI mypy mypy

This repository contains the software and hardware blueprints for the measurement systems deployed at the edge of the ACROPOLIS (Autonomous and Calibrated Roof-top Observatory for MetroPOLItan Sensing) CO2 sensor network. This initial network consists of twenty prototype systems evenly distributed across the city of Munich. The project is part of ICOS Cities, funded by the European Union's Horizon 2020 Research and Innovation Programme under grant agreement No. 101037319.


Key Features

  • Non-Expert Setup: The software is designed for easy deployment, requiring minimal technical expertise for setup and operation.
  • Scalability: The network infrastructure allows for seamless scaling, enabling easy expansion to a larger number of devices and locations.
  • Remote Software and Configuration Update: Supports remote updates for software and configuration, ensuring continuous improvement and easy deployment of changes.
  • Offline Data Backup: SQLite implementation serves as a local backup for measurement data.
  • ThingsBoard Integration: All measurements are transmitted via MQTT to a hosted ThingsBoard instance for centralized data collection and analysis.


Software Components

  • Edge Controller: An autonumous software managing sensors and actors and running within a Docker container for isolated and consistent deployment.
  • Edge Gateway: A standalone process managing the active edge controller container version, implementing a MQTT client to act as a communication gateway, and acting as the endpoint for remote commands.


Repository Overview

  • Docs
  • Setup
  • Software


System Overview

Each edge system is managed by a Raspberry Pi 4, utilizing an LTE hat (NB-IoT) for internet connectivity. The primary sensor is the Vaisala GMP343 CO2 sensor, accompanied by auxiliary BME280 and SHT45 sensors for environmental monitoring. Airflow is regulated by a brushless membrane pump and 2/2 valves, which switch between the sampling head and calibration tanks. Additionally, a Vaisala WXT-532 wind sensor is co-located with the sampling head to monitor wind conditions. The system includes a UPS and battery backup to ensure uninterrupted operation.


Software Architecture


Related Work

Aigner et. al.: Advancing Urban Greenhouse Gas Monitoring: Development and Evaluation of a High-Density CO2 Sensor Network in Munich. ICOS Science Conference 2024, Versailles, France, 10.-12. Sept, Link


Current Development Team:


Past Development Team Members:

Owner

  • Name: TUM - Environmental Sensing and Modeling
  • Login: tum-esm
  • Kind: organization
  • Location: Germany

Citation (citation.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Aigner"
  given-names: "Patrick"
  orcid: "https://orcid.org/0000-0002-1530-415X"
- family-names: "Frölich"
  given-names: "Lars"
  orcid: "https://orcid.org/0009-0000-1579-7727"
- family-names: "Chen"
  given-names: "Jia"
  orcid: "https://orcid.org/0000-0002-6350-6610"
title: "ACROPOLIS-edge"
version: 0.0.95
doi: 10.5281/zenodo.15849217
date-released: 2025-07-17
url: "https://github.com/tum-esm/ACROPOLIS-edge"

GitHub Events

Total
  • Create event: 93
  • Issues event: 11
  • Release event: 24
  • Watch event: 1
  • Delete event: 17
  • Issue comment event: 10
  • Push event: 437
  • Pull request review event: 2
  • Pull request event: 12
  • Fork event: 2
Last Year
  • Create event: 93
  • Issues event: 11
  • Release event: 24
  • Watch event: 1
  • Delete event: 17
  • Issue comment event: 10
  • Push event: 437
  • Pull request review event: 2
  • Pull request event: 12
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 2,070
  • Total Committers: 4
  • Avg Commits per committer: 517.5
  • Development Distribution Score (DDS): 0.606
Past Year
  • Commits: 546
  • Committers: 2
  • Avg Commits per committer: 273.0
  • Development Distribution Score (DDS): 0.293
Top Committers
Name Email Commits
dostuffthatmatters m****z@d****v 815
Patrick p****r@t****e 683
Felix Böhm f****x@f****v 395
Lars Frölich l****h@t****e 177
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 5
  • Average time to close issues: 5 months
  • Average time to close pull requests: 11 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.88
  • Average comments per pull request: 0.8
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 5
  • Average time to close issues: 13 days
  • Average time to close pull requests: 11 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.4
  • Average comments per pull request: 0.8
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • patrickjaigner (16)
Pull Request Authors
  • patrickjaigner (13)
  • larsfroelich (3)
Top Labels
Issue Labels
needs-triage (6) scope:new feature (4) scope:improvement (3) backlog (2) scope:repository (2) status:in-progress (1) scope:bug (1)
Pull Request Labels

Dependencies

.github/workflows/github-pages-deployment.yaml actions
  • actions/checkout v4 composite
  • actions/configure-pages v4 composite
  • actions/deploy-pages v4 composite
  • actions/setup-node v4 composite
  • actions/upload-pages-artifact v3 composite
.github/workflows/test-edge-node.yaml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • snok/install-poetry v1 composite
.github/workflows/test-server.yml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • snok/install-poetry v1 composite
edge-node/docker/Dockerfile docker
  • python 3.9 build
  • python 3.9-slim build
server/Dockerfile docker
  • python 3.11.0-slim build
server/docker-compose.yml docker
  • hermes/mosquitto_mqtt_self_signed_cert latest
  • hermes/server latest
  • timescale/timescaledb latest-pg15
dashboard/package.json npm
  • @types/lodash ^4.14.194 development
  • autoprefixer ^10.4.14 development
  • postcss ^8.4.21 development
  • prettier ^2.8.7 development
  • prettier-plugin-tailwindcss ^0.2.6 development
  • tailwindcss ^3.3.1 development
  • @types/node 18.15.11
  • @types/react 18.0.33
  • @types/react-dom 18.0.11
  • @vitejs/plugin-react ^4.2.1
  • eslint 8.37.0
  • eslint-config-next 13.2.4
  • lodash ^4.17.21
  • react 18.2.0
  • react-dom 18.2.0
  • react-router-dom ^6.22.3
  • typescript 5.0.3
  • vite ^5.2.1
  • zustand ^4.3.7
dashboard/yarn.lock npm
  • 417 dependencies
edge-node/pyproject.toml pypi
  • httpx ^0.23.3 deb
  • asyncpg ^0.27.0 develop
  • black ^22.10.0 develop
  • deptry ^0.16.1 develop
  • matplotlib ^3.6.3 develop
  • mypy ^0.991 develop
  • notebook ^6.5.2 develop
  • pendulum ^2.1.2 develop
  • pytest-cov ^4.0.0 develop
  • types-filelock ^3.2.7 develop
  • types-paho-mqtt ^1.6.0.1 develop
  • types-psutil ^5.9.5.4 develop
  • types-pytz ^2022.6.0.1 develop
  • adafruit-circuitpython-sht4x ^1.0.15
  • click ^8.1.3
  • deepdiff ^6.2.2
  • filelock ^3.9.0
  • gpiozero ^1.6.2
  • paho-mqtt ^1.6.1
  • pigpio ^1.78
  • psutil ^5.9.3
  • pydantic ^1.10.2
  • pyserial ^3.5
  • pytest ^7.1.3
  • pytest-ordering ^0.6
  • python ^3.9
  • python-dotenv ^0.21.0
  • rpi-bme280 ^0.2.4
  • rpi-gpio ^0.7.1
  • smbus2 ^0.4.2
server/poetry.lock pypi
  • 126 dependencies
server/pyproject.toml pypi
  • anyio ^3.6.2 develop
  • asgi-lifespan ^2.1.0 develop
  • black ^23.3.0 develop
  • httpx ^0.24.0 develop
  • jupyterlab ^4.0.2 develop
  • pytest ^7.4.0 develop
  • pytest-cov ^4.1.0 develop
  • ruff ^0.0.275 develop
  • sqlfluff ^2.1.1 develop
  • aiomqtt ^1.0.0
  • asyncpg ^0.27.0
  • passlib ^1.7.4
  • pendulum ^2.1.2
  • pydantic ^2.0
  • python ~3.11
  • starlette ^0.28.0
  • uvicorn ^0.28.1