bigzed / team2

Smart Environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smart Environment

This is a suite of applications for visualizing and persisting sensor data in different ways. Users can deploy an IoT application for the RIOT operating system on any number of low-power IoT boards that will measure data of connected sensors whenever it is polled from a central server.
In this example the server is running on a Raspberry Pi. The server stores a database that a web server can connect to in order to visualize a history of sensor data on a web application.
An alternate way of visualizing sensor data is on an LED stripe connected to any of the IoT boards. Drivers for WS2812B are provided for using on a Phytec phyNODE KW22 board.

The sensor data sent from a board to the server is serialized following the draft for SenML.
The protocol of communication between the boards and the Raspberry Pi is CoAP.
CoAP is transmitted using 6LoWPAN.
Further details of the application suite's architecture and architectural choices made during development can be looked up in the doc folder or on the wiki.

Refer to each module's README.md for details regarding respective prerequisites and installation instructions.

SenPhy

This is the C-based RIOT application that is to be deployed on the IoT boards. A Phytec phyNODE KW22 board was used but other boards can be used as long as drivers implementing the SAUL interface are available for the sensors to be polled. All SAUL compatible sensors will be automatically initialized but CoAP resources for the corresponding sensors can and must be created manually, which is a simple process that allows for increased flexibility.

Phytec phyNODE KW22

MCU MKW22D512
Family ARM Cortex-M4
Vendor Kinetis
RAM/ROM 65Kb / 512Kb
Frequency up to 50MHz
Timers up to 12 (16-bit, 24-bit, 32-bit)
ADCs 1x 16-bit (8 channels)
UARTs / SPIs / I2Cs 3 / 1 / 2
Vcc 1.8V - 3.6V
Radio IEEE802.15.4 @ 2,4GHZ
Sensors diverse

SenPi

This is a Golang-based application running on the Raspberry Pi that regularly polls registered devices for sensor data. It then saves those datapoints in a MySQL database specified in a configuration file preferrably also running on the Raspberry Pi.
Please consider checking the provided README.md for more details.

WebDashboard

This is the PHP-based website to be deployed on a web server, e.g. running on XAMPP, on the Raspberry Pi or another device. It presents the history of sensor data from SenPi's database graphically on a dynamic web frontend.

server-emulator

If a Raspberry Pi is not available, this C-based RIOT application can be deployed on another IoT board for testing purposes. A desired CoAP resource will be requested from the SenPhy application running on the other IoT board. The response will be printed on the terminal.

About

Smart Environment


Languages

Language:C 56.1%Language:Go 30.8%Language:Makefile 3.6%Language:JavaScript 3.5%Language:HTML 3.2%Language:PHP 2.8%Language:C++ 0.0%