All Projects → Savjee → home-energy-monitor

Savjee / home-energy-monitor

Licence: other
ESP32-based Home Energy Monitor

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
HTML
75241 projects
C++
36643 projects - #6 most used programming language
SCSS
7915 projects
CSS
56736 projects

Projects that are alternatives of or similar to home-energy-monitor

Designing Cloud Native Microservices On Aws
Introduce a fluent way to design cloud native microservices via EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 131 (-13.82%)
Mutual labels:  lambda, dynamodb
Serverless Analytics
Track website visitors with Serverless Analytics using Kinesis, Lambda, and TypeScript.
Stars: ✭ 219 (+44.08%)
Mutual labels:  lambda, dynamodb
Sqs Worker Serverless
Example for SQS Worker in AWS Lambda using Serverless
Stars: ✭ 164 (+7.89%)
Mutual labels:  lambda, dynamodb
Awesome Aws
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
Stars: ✭ 9,895 (+6409.87%)
Mutual labels:  lambda, dynamodb
basic-serverless-api
A basic full stack example of building an API with AWS Amplify, Amazon API Gateway, AWS Lambda, and Amazon DynamoDB
Stars: ✭ 45 (-70.39%)
Mutual labels:  lambda, dynamodb
Aws Cli Cheatsheet
☁️ AWS CLI + JQ = Make life easier
Stars: ✭ 94 (-38.16%)
Mutual labels:  lambda, dynamodb
Aws Mobile React Native Starter
AWS Mobile React Native Starter App https://aws.amazon.com/mobile
Stars: ✭ 2,247 (+1378.29%)
Mutual labels:  lambda, dynamodb
Workshop Donkeytracker
Workshop to build a serverless tracking application for your mobile device with an AWS backend
Stars: ✭ 27 (-82.24%)
Mutual labels:  lambda, dynamodb
Hands-On-Serverless-Applications-with-Go
Hands-On Serverless Applications with Go, published by Packt.
Stars: ✭ 92 (-39.47%)
Mutual labels:  lambda, dynamodb
go-localstack
Go Wrapper for using localstack
Stars: ✭ 56 (-63.16%)
Mutual labels:  lambda, dynamodb
Historical
A serverless, event-driven AWS configuration collection service with configuration versioning.
Stars: ✭ 85 (-44.08%)
Mutual labels:  lambda, dynamodb
aws-tutorial-code
AWS tutorial code.
Stars: ✭ 114 (-25%)
Mutual labels:  lambda, dynamodb
Lambda Refarch Webapp
The Web Application reference architecture is a general-purpose, event-driven, web application back-end that uses AWS Lambda, Amazon API Gateway for its business logic. It also uses Amazon DynamoDB as its database and Amazon Cognito for user management. All static content is hosted using AWS Amplify Console.
Stars: ✭ 1,208 (+694.74%)
Mutual labels:  lambda, dynamodb
Diamondb
[WIP] DiamonDB: Rebuild of time series database on AWS.
Stars: ✭ 98 (-35.53%)
Mutual labels:  lambda, dynamodb
Aws Iot Certificate Vending Machine
The CVM allows a device to apply for its own certificate and installation.
Stars: ✭ 64 (-57.89%)
Mutual labels:  lambda, dynamodb
Realworld Dynamodb Lambda
λ serverless backend implementation for RealWorld using AWS DynamoDB + Lambda
Stars: ✭ 185 (+21.71%)
Mutual labels:  lambda, dynamodb
Eskimo Stripper
Strips DynamoDB Stream Items of its schema and returns a plain JavaScript object
Stars: ✭ 12 (-92.11%)
Mutual labels:  lambda, dynamodb
Sherlock Holmes Partying In The Jungle
Parses AWS events payloads into a plain JavaScript object
Stars: ✭ 12 (-92.11%)
Mutual labels:  lambda, dynamodb
Komiser
☁️ Cloud Environment Inspector 👮🔒 💰
Stars: ✭ 2,684 (+1665.79%)
Mutual labels:  lambda, dynamodb
gozeit
GoZeit
Stars: ✭ 19 (-87.5%)
Mutual labels:  lambda, dynamodb

Home Energy Monitor

Home Energy Monitor (v2)

GitHub Issues GitHub Pull Requests License

⚠️ This is a work in progress. By no means is this production ready.


ESP32-based Home Energy Monitor: monitors electricity consumption of your entire house with a single CT sensor.

Structure

This project consists out of multiple components:

Folder Description Build status
src-app Mobile app (Ionic) n/a
src-aws Serverless AWS backend + GraphQL API AWS Build Status
src-esp32 Firmware for the ESP32 (measuring device) Firmware Build Status

(TODO: add instructions on how to deploy all of this. 😅)

Video explanation

Read my blog post for more instructions: https://savjee.be/2019/07/Home-Energy-Monitor-ESP32-CT-Sensor-Emonlib/

Cloud Architecture

This is the cloud architecture that powers the energy meter and the app:

AWS Cloud Architecture

In a nutshell:

  • The ESP32 has a MQTT connection with AWS IoT Core
  • Every 30 seconds, 30 measurements are sent to AWS
  • These measurements are stored in DynamoDB (IoT Rule)
  • Once a day, all readings from the previous day are archived to S3
  • A GraphQL API (hosted on Lambda) exposes the data stored in DynamoDB

Screenshots

Web dashboard, built on top of the GraphQL API:

Screenshot Web Dashboard

What is displayed on the ESP32 OLED display:

Screenshot ESP32 OLED

DIY Requirements

To build your own Energy Monitor you need the following hardware:

  • ESP32
  • CT sensor: YHDC SCT-013-030 (30A/1V)
  • 10µF capacitor
  • 2 resistors (between 10k-470kΩ)

Other requirements:

  • AWS Account (Should be able to run in free-tier)
  • Install PlatformIO on your system
  • Drivers for your ESP32 board

Read my blog post for more instructions: https://savjee.be/2019/07/Home-Energy-Monitor-ESP32-CT-Sensor-Emonlib/

Contribute

I'm happy to merge in any pull requests. Also feel free to report bugs or feature requests.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].