ElixirConf 2017 - Embedded Elixir for Monitoring the Built Environment - Christopher Coté
At CRT Labs (National Association of Realtors) we are developing an open source building health monitoring system, Rosetta Home. The platform consists of several subsystems for gathering data from disparate data sources including hyper-local weather, whole-home energy usage, indoor environmental quality and HVAC utilization.
The platform is built on a Raspberry Pi 3 running Nerves, a system for building embedded Elixir systems, and several USB gateways for interacting with the different subsystem hardware. Through a combination of wireless protocols including WiFi, ZigBee and 915Mhz FSK we aggregate the disparate data sources for analysis within a cloud based GUI. The Raspberry Pi also hosts a local web server for configuration and review of real time sensor data using websockets and an Elm based frontend.
The cloud platform consists of a simple Elixir/Erlang middleware for client/server certificate verification, InfluxDB as the time-series data store and Grafana for data visualization.
The talk will go in depth into building a production Nerves system and include a full demo of the working system.
Christopher Coté is also a member of the Nerves core development team.
The platform itself is available here GitHub - rosetta-home/rosetta_home: Rosetta Home 2.0 is an open source building performance monitoring platform . Along with open sourcing the core platform, we have also open sourced all of the libraries the platform is built upon.
- GitHub - rosetta-home/ssdp: Simple Service Discovery Protocol (SSDP) Client. Also supports Radio Thermostat and the Marvell SSDP flavor
- GitHub - rosetta-home/mdns: basic mdns server and discovery client
- GitHub - rosetta-home/raven: Library for reading and communicating with a Rainforest Automation Raven USB SMCD
- GitHub - rosetta-home/meteo_stick: Client for communicating with the MeteoStick and Fine Offset Weather Station
- GitHub - rosetta-home/chromecast: Chromecast Client Library
- GitHub - rosetta-home/ieq_gateway: A Client for the RFM69-USB-Gateway and Indoor Air Quality Sensor
- GitHub - rosetta-home/lifx: LIFX Lightbulbs LAN API Client
- GitHub - rosetta-home/radio_thermostat: Radio Thermostat LAN API Client
Audience: Intermediate
All talks are available in the Elixir Conf 2017 Talks List or via the elixirconf2017 tag