jibrilsharafi / EnergyMe-Home

Smart energy meter capable of monitoring up to 17 channels. Supports MQTT, REST API, Modbus TCP. Friendly UI and fully open source (PCB, schematics, components, source code)
GNU General Public License v3.0
38 stars 3 forks source link
energy energymeter esp32 meter

EnergyMe-Home

Homepage

EnergyMe-Home is an open-source energy monitoring system designed for home use, capable of monitoring up to 17 circuits and integratable with any platform thanks to its Restful API, MQTT, and Modbus TCP support. Moreover, a cloud platform is available for free to store and visualize your data.

Introduction

Welcome to EnergyMe-Home, fellow energy-enthusiast! This project is all about making energy monitoring easy, affordable, and accessible for everyone. As a maker, I wanted to create a fully open-source energy meter that anyone can build and customize. EnergyMe-Home can monitor up to 17 circuits at once, giving you detailed insights into your home's energy consumption.

By combining hardware and software, this project empowers you to take control of your energy usage and simultaneously save on costs. Whether you're a DIY enthusiast, an energy-conscious homeowner, or just curious about IoT and energy monitoring, EnergyMe-Home is here to help you get started.

Hardware

PCB

The hardware consists of both the PCB design and the components used to build the energy monitoring system.

The key components include:

Detailed PCB schematics and BOMs are available in the documentation/EasyEDA(documentation/EasyEDA) directory, while datasheets for the key components are available in the documentation(documentation) directory.

Software

The software is written in C++ and uses the PlatformIO ecosystem and the Arduino framework for development. All the code is available in the source directory.

The main features of the software include:

Integration

Restful API

All the data collected by the energy monitoring system, as well as the configuration settings, can be accessed through the Restful API.

alt text

A full swagger documentation of the Restful API is available in the swagger.yaml.

MQTT

The energy monitoring system can also publish data to an MQTT broker (unprotected and protected with username and password). More info at source/include/custommqtt.h.

Modbus TCP

The energy monitoring system can also act as a Modbus TCP server, exposing many registers for reading the data (single channel and aggregated data). More info at source/include/modbustcp.h.

Contributing

Contributions are welcome! Please read the contributing guidelines for more information.

License

This project is licensed under the terms of the GNU General Public License v3.0. See the LICENSE file for details.