https://github.com/sibyx/monadcount-api
Server side for ESP32-based 802.11 sniffers
https://github.com/sibyx/monadcount-api
esp-idf esp32 sniffer wifi
Last synced: 29 days ago
JSON representation
Server side for ESP32-based 802.11 sniffers
- Host: GitHub
- URL: https://github.com/sibyx/monadcount-api
- Owner: Sibyx
- Created: 2024-11-04T10:14:12.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-03-27T19:30:10.000Z (7 months ago)
- Last Synced: 2025-05-31T12:28:34.921Z (4 months ago)
- Topics: esp-idf, esp32, sniffer, wifi
- Language: Jupyter Notebook
- Homepage:
- Size: 821 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# MonadCount API Server
Welcome to the MonadCount API Server repository! This server is the backend component of the MonadCount project,
designed to collect and manage data from ESP32 sniffer devices. The project aims to elevate the simple act of
counting to a new philosophical dimension by drawing inspiration from Leibniz's concept of monads—indivisible units
that make up the universe.## Overview
The MonadCount API Server is built using FastAPI, SQLModel, and integrates with PostgreSQL enhanced with TimescaleDB
and PostGIS for time-series and geospatial data capabilities. It provides endpoints for ESP32 devices to upload data
efficiently. The measurements collected by ESP32 sniffers are stored inside the Clickhouse database.## Getting Started
### From scratch
```shell
# Clone the repository
git clone git@github.com:Sibyx/monadcount-api.git /monadcount-api# Create environment and install dependencies
cd /monadcount-api
python -m venv .venv
source .venv/bin/active
poetry install# Create configuration (edit the .env)
cp .env.example .env# Run server
uvicorn main:app --reload
```## Command Line Interface (CLI)
| Command | Description |
|----------------------------------------------------|------------------------------------------------------------|
| `python -m monadcount_api.cli import_measurements` | Import sniffer measurement file to PostgreSQL |
| `python -m monadcount_api.cli enqueue` | Add all `pending` `UploadedFile` object to the tasks queue |
| `python -m monadcount_api.cli openapi` | Generates OpenAPI JSON Specification |---
Created with ❤️ using ☕️ for my kawaii PhD thesis on FIIT STUIf you enjoy using this project, consider donating! Your donations will go towards therapy sessions because
I'm an alcoholic and substance abuser and this is my cry for help. Cheers 🍻!