GithubHelp home page GithubHelp logo

tiberiucorbu / solar-energy-logger Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 962 KB

Learing FreeRTOS by doing a project

License: MIT License

C++ 64.09% C 14.41% Dockerfile 0.26% JavaScript 21.24%
mcu node-red platformio solar-energy multimeter

solar-energy-logger's Introduction

ESP SOLAR CHARGER Logger

A device that logs the solar panel output, playing with freertos while building a small tool

Current development status

SPIKE-ing

Motivation

Logging the voltage and current output/input on the solar and the battery ends, requires a lot of manual work, using traditional methods like a regular multimeter. So I started to build a dual chanel multimeter for voltage and current that, stores at a certain tick the readings.

Because wifi/ble MCUs come in cheap these days and they provide an simple way of logging data, I strongly consider implementing at least one of the two remote interface : either BLE and MQTT.


Prototypes modules

  • 1 x TTGO ESP32 Battery - a development board with an ESP32, a sd card slot, a battery charger and a joystick
  • 2 x INA219 Module - a current and voltage sensor
  • 1 x a real time clock

Considering implementing

  • BLE Interface
  • TCP (MQTT) Interface

Lessons Learned

  1. Wire lib is not working in tasks with low priority. because of #2.
  2. CPP variables don't outlive the block scopes; that is why setup has a while(true) {noop();} at the end
  3. QueueHandle_t is a pointer already, no nead to convert it to a pointer
  4. Downside of INA219 is that you must connect a common ground with the MCU to measure the voltage (Hope I'm wrong)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.