Code for pi controlling multiple measurement devices

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

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.