in fsharp mqtt side project ~ read.

Home data (part 0)

This is the first post in a series of posts about my current side project. I wondered what to do with all the Arduinos, ESP8266s and a RaspberryPi that were floating around in my desks drawer. So I decided to use them to put lots of sensors in- and outside my home. I will start with the obvious ones like temperature, humidity and pressure. I also plan to add some air quality sensor, may be a VOC or CO2 sensor.

I would like to end up with a website that shows realtime as well as historical data with some nice charts. In addition I would love to have homekit integration when I'm on the wifi at home.

On the other hand I will finally have a reason to code FSharp again. I'm huge fan of the language and functional programming in general. So I will get my hands on Freya and Suave. I also started a MQTT client written in pure F# some time ago. It's currently not in a shape where it is usable so I will most likely end up using m2mqtt as a base and create some F# wrappers around it. But I can gather some insights how a F# API for MQTT could look like. As MQTT brokers I will use Mosquitto on the local network and EMQTTd on the remote server. Mainly because it provides a websocket interface build in. It also seems to be easily extensible with plugins. It's also written in Erlang, another language I tend to like. :)

The server side won't be anything fancy. Just simple containers on one of my already existing servers.

Stay tuned for further updates on the project.

Parts:

1: Arduino