https://github.com/vekeryk/home-monitor-server
Server-side application built with Flask that supports an ESP32 microcontroller in monitoring and displaying data
https://github.com/vekeryk/home-monitor-server
dash docker esp32 flask sqlite
Last synced: about 8 hours ago
JSON representation
Server-side application built with Flask that supports an ESP32 microcontroller in monitoring and displaying data
- Host: GitHub
- URL: https://github.com/vekeryk/home-monitor-server
- Owner: Vekeryk
- Created: 2024-09-01T09:16:32.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-02T15:36:20.000Z (8 months ago)
- Last Synced: 2025-03-14T02:13:41.071Z (4 months ago)
- Topics: dash, docker, esp32, flask, sqlite
- Language: Python
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HomeMonitor
Server-side application built with Flask that supports an ESP32 microcontroller in monitoring and displaying temperature and humidity data. The data collected by the ESP32 is transmitted to this server, where it is stored in a SQLite database and visualized using Dash. This repository contains the server code, while the ESP32 sketch responsible for data collection can be found in the [ESP32-Projects](https://github.com/Vekeryk/esp32-projects) repository.
## Features
- Microcontroller measurements monitoring.
- Data storage in SQLite.
- Dashboard for visualizing data over various time periods.## Installation
```bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```## Configuration
Create a .env file in the project root:
```
FLASK_DEBUG=1
FLASK_RUN_PORT=8080
FLASK_RUN_HOST=0.0.0.0
TIME_ZONE=Europe/Kyiv
API_KEY=YOUR_API_KEY
```## Running the Application
```bash
flask run -h 0.0.0.0
```## Running with Docker
```bash
docker build -t home-monitor .
docker run -d -p 8080:8080 -v $(pwd)/instance:/app/instance --restart unless-stopped --name home-monitor home-monitor
```Access the dashboard at http://localhost:8080/dashboard/.