August 12, 2016

Room temperature logging with data visualization

So this is what nerds do in their spare time...

A while ago I've started thinking about creating my own intelligent room thermostat with a Raspberry Pi, because Nest just wasn't there, and I believe you can save a lot with a learning thermostat, and my experience with a couple of them supports this idea.

Had to start somewhere, so first I wanted to measure room temperature, and see what exactly happening depending on the weather, sunlight, etc. Purchased a USB thermometer called TEMPer2 on e-bay, and put together a small system. This is the result, the current state of things:

Will go into the details later, for now these are the basics:

  1. A small ruby script reads the temperature from the USB thermometer, and a cronjob saves the JSON output of it into a log file.
  2. The log file is monitored with a local instance of fluentd, which forwards the data read to my VPS also running fluentd.
  3. On the VPS, fluentd stores the data in ElasticSearch.
  4. The data in ElasticSearch is visualized by running Kibana on the VPS.