Skip to content

About

CO₂ & Temperature monitor

Topics

Resources

Stars

349 stars

Watchers

14 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Report Card GoDoc

CO₂ monitor

Setup & Example

Setup

Dashboard

Motivation

Some time ago an article about a low cost CO₂ monitor came to our attention. A colleague quickly adopted the python code to fit in our prometheus setup. Since humans are sensitive to temperature and CO₂ level, we were now able to optimize HVAC settings in our office (Well, we mainly complained to our facility management).

For numerous reasons I wanted to replace the python code with a static Go binary.

Hardware

  • CO₂ meter: Can be found for around 70EUR/USD at amazon.com & amazon.de. Regardless of minor differences between both devices, both work.
  • Some machine which can run the compiled Go binary, has USB and is reachable from your prometheus collector. A very first version of a raspberry pi is already sufficient.

Software

You need prometheus to collect the metrics.

It might make things easier when you set up an udev rule e.g.

$ cat /etc/udev/rules.d/99-hidraw-permissions.rules 
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"

Run & Collect

Help

$ ./co2monitor --help      
usage: co2monitor [<flags>] <device> [<listen-address>]

Flags:
  --help  Show context-sensitive help (also try --help-long and --help-man).

Args:
  <device>            CO2 Meter device, such as /dev/hidraw2
  [<listen-address>]  The address to listen on for HTTP requests.

Starting the meter export

$ ./co2monitor /dev/hidraw2
2018/01/18 13:09:31 Serving metrics at ':8080/metrics'
2018/01/18 13:09:31 Device '/dev/hidraw2' opened

Credit

Henryk Plötz & wooga

About

CO₂ & Temperature monitor

Topics

Resources

Stars

349 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages