Code for pi controlling multiple measurement devices

Silas Gruen e10467e050 fix: int type for insertion_callbacks in MQTTService před 5 měsíci
.vscode e4a49ae89b ref: simplify project structure. Move path accordingly před 9 měsíci
config 260e4fbac0 ref: update MQTT broker address and I2C polling interval; enhance docstring for inserted cell update před 5 měsíci
playgrounds 12965a5a56 fix: update I2C service and playground for new API před 6 měsíci
src e10467e050 fix: int type for insertion_callbacks in MQTTService před 5 měsíci
tests d5dfc70ada feat: add unittests for http, mqtt, measure_ctrl před 8 měsíci
.gitignore 4603115b91 feat: add test methods for i2c play ground před 6 měsíci
README.md 5969c0899d ref: adapt structure and update vs code workspace před 10 měsíci
main.py 4603115b91 feat: add test methods for i2c play ground před 6 měsíci
measure_ctrl.code-workspace e4a49ae89b ref: simplify project structure. Move path accordingly před 9 měsíci
pytest.ini d5dfc70ada feat: add unittests for http, mqtt, measure_ctrl před 8 měsíci
requirements.txt f5c5d5e1be feat: integrate Prometheus metrics for cell measurements and start metrics server před 8 měsíci
setup.py e4a49ae89b ref: simplify project structure. Move path accordingly před 9 měsíci

README.md

README.md

Battery Health Monitor

Overview

The Battery Health Monitor is a Python application designed to assess the health of 18650 lithium-ion cells using multiple measurement devices. The application communicates with the devices via I2C and provides an MQTT interface for real-time updates on cell insertion. It also supports HTTP GET requests to retrieve detailed information about the cells.

Features

  • Monitor the health of 18650 cells through multiple measurement devices.
  • Utilize I2C for reading current, voltage, and temperature data.
  • MQTT interface for receiving information about cell slots.
  • HTTP GET requests for querying cell data (max voltage, min voltage, capacity).
  • Configurable measurement cycles and C values.

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd battery-health-monitor
    
  2. Install the required packages:

    pip install -r requirements.txt
    

Usage

To run the application, execute the following command:

python src/main.py

Configuration

The configuration for the measurement devices can be found in /config/config.yaml. Modify this file to set the number of devices, cycle count, and C value for measurements.