https://github.com/nobodyinperson/co2monitor
!MOVED TO GITLAB.COM! Plug'n'play co2 monitoring for devices with USB id 04d9:a052 - e.g. AirCO2ntrol mini
https://github.com/nobodyinperson/co2monitor
co2 debian monitoring plug-n-play ubuntu usb
Last synced: about 1 year ago
JSON representation
!MOVED TO GITLAB.COM! Plug'n'play co2 monitoring for devices with USB id 04d9:a052 - e.g. AirCO2ntrol mini
- Host: GitHub
- URL: https://github.com/nobodyinperson/co2monitor
- Owner: nobodyinperson
- License: gpl-3.0
- Created: 2016-07-15T09:54:26.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-08-01T12:48:19.000Z (almost 9 years ago)
- Last Synced: 2025-05-10T06:06:28.364Z (about 1 year ago)
- Topics: co2, debian, monitoring, plug-n-play, ubuntu, usb
- Language: Python
- Homepage: https://gitlab.com/nobodyinperson/co2monitor
- Size: 170 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> # This project has moved to [Gitlab.com](https://gitlab.com/nobodyinperson/co2monitor)
>
> The GitHub repository here is not up-to date.
> Please refer to [the repository on Gitlab.com](https://gitlab.com/nobodyinperson/co2monitor) for
> Issues, Releases and the up-to-date repository code.
# co2monitor
Automatic data logging for AirCO2ntrol mini USB co2 measurement devices.
**Hint**: This application is compatible with Raspbian.
**Note**: This application is in development state.

## Background
Hendryk Plötz reverse-engineered the usb protocol on [hackaday.io](https://hackaday.io/project/5301-reverse-engineering-a-low-cost-usb-co-monitor).
I wanted to have an easy-to-use plug'n'play data logging solution for Debian/Ubuntu systems.
That's what **co2monitor** is.
## Debian package
There are ready-to-use debian packages on the [releases page](https://github.com/nobodyinperson/co2monitor/releases), you may download the [latest release](https://github.com/nobodyinperson/co2monitor/releases/latest) there.
For automatic updates, you may use my [apt repository](http://apt.nobodyinperson.de).
To build a debian package from the repository, run ```dpkg-buildpackage -us -uc``` (options mean without signing) from the repository root.
There will be a ```co2monitor_*.deb``` one folder layer above.
## Installation
Install the debian package via ```sudo dpkg -i co2monitor_*.deb```.
Older versions of **co2monitor** will automatically be removed.
If you use my [apt repository](http://apt.nobodyinperson.de), install **co2monitor** like any other package via ```sudo apt-get update && sudo apt-get install co2monitor```
Remove **co2monitor** from your system via ```sudo apt-get remove co2monitor```.
## Folder structure
The folder structure (```etc```,```lib```,```usr```,```var```) is based on the [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard) and will be installed as-is to the target system.
### important files
| file | purpose |
|--------------------------------|---------------------------------------|
| ```etc/co2monitor/service.conf``` | co2monitor service configuration file |
| ```usr/bin/co2monitor-service``` | the co2monitor service executable |
| ```usr/bin/co2monitor``` | the co2monitor application executable |
| ```var/lib/co2monitor/data/*``` | standard folder for logged co2 data |
## Special thanks
- Hendryk Plötz on [hackaday.io](https://hackaday.io/project/5301-reverse-engineering-a-low-cost-usb-co-monitor) for the device interaction
- Mike Kazantsev on his blog on [fraggod.net](http://blog.fraggod.net/2012/06/16/proper-ish-way-to-start-long-running-systemd-service-on-udev-event-device-hotplug.html) for the systemd integration
- Ascot on [StackOverflow.com](http://stackoverflow.com/a/26457317/5433146) for a workaround on ```signal.signal(signal, handler)``` when using a ```GLib.MainLoop```
- don_crissti on [StackOveflow.com](http://unix.stackexchange.com/a/203678) for
getting a list of dbus objects