Skip to content
CO₂ & Temperature monitor
Go Makefile
Branch: master
Clone or download
larsp Merge pull request #2 from neverpanic/round-temp-to-one-decimal-place
Round temperature to two decimals after the comma
Latest commit e1da140 Mar 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
meter Round temperature to two decimal places Mar 5, 2018
.gitignore Added Makefile & dep Jan 17, 2018
Gopkg.lock Added Makefile & dep Jan 17, 2018
Gopkg.toml Added Makefile & dep Jan 17, 2018
LICENSE Initial commit Jan 17, 2018
Makefile
README.md
main.go Added simple prometheus export of Temp&CO2 Jan 17, 2018

README.md

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

You can’t perform that action at this time.