WattsApp!
Login with Facebook

What is WattsApp?

WattsApp is a telemetry platform that demonstrates remote monitoring of sensor readings using our state of the art Contiki SNMP implementation. It consists of a hardware interface to read data from S0 metering interfaces that is connected to an exporter running Contiki SNMP. A data collector is collecting meter readings and interfacing to a cloud server. The cloud server provides user authentication via Facebook and interfaces with a web front end and an Android application. All components of the Contiki SNMP telemetry application communicate via IPv6.

WattsApp demonstrates that IPv6 is ready to build and deploy complete state of the art applications. Tunneling solutions like Teredo allow everyone to get easily connected to the IPv6 Internet and to interface with WattsApp.


Motivation

Telemetry is an important function of the Internet of Things as it is being developed and deployed today. Of particular interest are energy monitors but also health monitors for elderly people or even monitors for leisure activities such as sports monitors for runners. Remote monitoring has been a prime application domain of the SNMP protocol and there are currently activities underway to standardize energy monitoring data models.

We provide the first production ready open source SNMP stack for Contiki, a popular operating system for constrained devices in IPv6/802.15.4 networks. We have developed basic instrumentation to read network statistics, to export information about the RPL routing protocol and to export sensor readings using existing standardized models. By using an SNMP stack, devices of the Internet of Things easily integrate into existing monitoring solutions. Furthermore, by using SNMP, new Internet of Things applications can easily interface with existing hardware components (e.g., UPS devices or smart power distribution units for data centers that come with Ethernet interfaces and embedded SNMP agents).


WattsApp on Android

Don't have access to the computer? Not to worry! The WattsApp on Android application allows you to easily view your data directly from your Android phones. The data can be presented as a TreeMap or as a Time-Sequence Graph and is shown for the time period specified. The application also allows you to perform basic administrative tasks like renaming the meter or reseting its location. Moreover with our application you will be able to discover other meters in your neighborhood and request their owners to view their data. Keeping track of your energy, water, and everything else has never been so easy!


WattsCloud

The WattsCloud is written in PHP using the Vanilla MVC Framework. It supplies the Web Interface and the Android App with meter data through a RESTful interface filtering it within the requested time frame. It is responsible for managing user authorization which determines what collectors and/or meters a Facebook authenticated user has permissions to manage. The user account information and the permissions associated to it are stored in a MySQL database. The queries to rename or change the location of a meter from either of the interfaces is also managed through the cloud. The cloud in itself does not store any data which it passes to the interfaces, but is meant to keep the user authentication and authorization centralized and simplistic.


WattsPoll and WattsCollect

The collector is written in JavaScript using the NodeJS framework. It supplies the Cloud with meter data from an SQLite database. Mutual authentication and encryption to the Cloud is done using SSL client certificates. The Cloud queries the collector using a RESTful API and returns data in JSON format. It advertises its presence on the network using mDNS. The poller reads the data from the meters and stores the values together with timestamps in a database shared with the collector. The poller is written in Python since it needs to be easily adaptable to different types of meters.


WattsBox

The WattsBox is used to measure the power consumption of various electrical equipments using an S0 interface. A custom designed circuit is connected to the S0 device that pulls the measurements and sends them to the AVR Raven. The Raven converts pulses into equivalent kWh of power consumed and transfers this information via IPv6 to the collector that queries for it using SNMP.