serverless-iot-analytics
serverless-iot-analytics copied to clipboard
Serverless processing of sensor data using AWS IoT, Amazon Kinesis and AWS Lambda to display the result graphically on a static web page.
Serverless IoT Analytics
A demo environment where temperature and humidity sensors, distributed worldwide, and emulated by a Raspberry Pi, are processed using AWS IoT, stored to an S3 bucket using a Kinesis Firehose delivery stream, aggregated by location (using geohashes) and time (in 30 seconds tumbling time windows) via a Kinesis Analytics application, and the output Kinesis Stream is process by a Lambda function publishing the information back on the AWS IoT platform, in specific MQTT topics where a static web page, using client-side JavaScript, is subscribing via secure WebSockets to display the aggregated data on a world map.

You can configure a real location (where the Raspeberry Pi is located) to use temperature and humidity from the sensors of a Sense HAT.
You can easily remove dependency on a Raspberry Pi and run your (almost) everywhere.
License
Copyright (c) 2016 Danilo Poccia, http://danilop.net
This code is licensed under the The MIT License (MIT). Please see the LICENSE file that accompanies this project for the terms of use.
Installation
You need the AWS IoT Device SDK for Python and a geohash module to run the demo:
pip install AWSIoTPythonSDK python-geohash
Check and replace the required configurations in the source code.
I am planning to write down a more detailed installation guide in the (near?) future.