feat: initial KosmoConnect platform v0.1
Some checks failed
CI / lint-docs (push) Has been cancelled
CI / build-firmware (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / test-web (push) Has been cancelled

Includes:
- Backend services: ingestion (:8001), weather API (:8002),
  gateway (:8003), billing (:8004) with BTCPay integration
- Shared asyncpg pool, TimescaleDB hypertable, Redis, Mosquitto MQTT
- React frontend: Dashboard (MapLibre) and Messaging (chat UI)
- Bridge daemon for Pi + Meshtastic (Serial/TCP T-Deck support)
- Production Docker Compose, Nginx reverse proxy, ops scripts
- DEPLOY.md with step-by-step deployment guide
This commit is contained in:
2026-04-12 17:30:15 +02:00
commit 0a4fb7b55e
95 changed files with 9903 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
# Infrastructure Node
This directory contains the software for bridge nodes that connect the Meshtastic mesh to the internet.
## Components
### `bridge-daemon/`
The **KosmoConnect Bridge Daemon** is a Python service that runs on a Raspberry Pi (or any Linux host) connected to a Meshtastic device via USB.
**What it does:**
- Receives mesh packets and publishes them to the cloud MQTT broker
- Detects environmental data (JSON enviro packets) and routes them to `kosmo/ingest/enviro`
- Subscribes to `kosmo/mesh/outbound/#` and injects web messages back into the mesh
- Runs as a `systemd` service with auto-restart
See [`bridge-daemon/README.md`](./bridge-daemon/README.md) for setup and RPi installation instructions.
### `firmware/`
Placeholder for any custom firmware required specifically for the bridge radio (usually not needed; standard Meshtastic firmware works).
## Recommended Bridge Hardware
| Device | Notes |
|--------|-------|
| **LILYGO T-Beam 868/915MHz** | Great for Pi USB bridge; ESP32 + GPS + LoRa |
| **RAK4631** | Low power, nRF52840 based |
| **LILYGO T-Deck** | Can work if put into USB-serial mode; better used as a handheld mesh client |
## Quick Test
If you have a T-Beam or T-Deck connected to your computer:
```bash
cd bridge-daemon
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
export MESHTASTIC_DEVICE=/dev/ttyUSB0 # adjust for your OS
export MQTT_HOST=localhost
python3 -m src.main
```
Send a text from any mesh node and watch it appear on `kosmo/mesh/inbound` in your MQTT broker.