How solaresufes/barcos_telemetria works
This repository combines embedded telemetry firmware, a telemetry API, an engineering dashboard, and a separate inventory application. The main telemetry workflow is device-side battery/sensor acquisition and network transmission, followed by backend route handling and buffering or database access, then dashboard telemetry, recording, analysis, and display. The display firmware separately requests and renders telemetry over ESP-NOW. The README is empty; paths and relationships below rely on the supplied tree and source index/excerpts, so undocumented links between these applications are omitted.
Main entry points: src/App.tsx Dashboard application · main.cpp Acquisition loop · src/App.tsx Inventory application · server.js API server
Components 34
Embedded devices
- Battery and sensors
ESP_Completo/lib - Acquisition loop
ESP_Completo/src/main.cpp - Network sender
ESP_Completo/lib/NET/NET.cpp - ESP-NOW radio
ESP_Completo/lib/NOW/NOW.cpp - Display controller
Display_Telemetria/main.cpp - Display radio
Display_Telemetria/espnow.cpp - Display interface
Display_Telemetria/tela.cpp
Telemetry backend
- API server
Backend_Telemetria/server.js - Sensor routes
Backend_Telemetria/routes/sensores.js - Cell routes
Backend_Telemetria/routes/celulas.js - Alert routes
Backend_Telemetria/routes/alertas.js - Latest-value buffer
Backend_Telemetria/buffer/telemetria.js - Supabase client
Backend_Telemetria/supabase.js
Engineering dashboard
- Dashboard application
Frontend_Telemetria/painel/src/App.tsx - Authentication
Frontend_Telemetria/painel/src/hooks/useAuth.ts - Live telemetry
Frontend_Telemetria/painel/src/hooks/useTelemetry.ts - Run recording
Frontend_Telemetria/painel/src/hooks/useRecording.ts - Saved runs
Frontend_Telemetria/painel/src/hooks/useSavedRuns.ts - Derived metrics
Frontend_Telemetria/painel/src/utils/deriveMetrics.ts - Analysis and views
Frontend_Telemetria/painel/src/components/views - Member and presence
Frontend_Telemetria/painel/src/hooks - Diary and graphs
Frontend_Telemetria/painel/src/hooks - Dashboard Supabase
Frontend_Telemetria/painel/src/lib/supabase.ts
Inventory application
- Inventory application
Inventario_Telemetria/src/App.tsx - Access control
Inventario_Telemetria/src/hooks/useAuth.tsx - Inventory data
Inventario_Telemetria/src/hooks/useData.tsx - Inventory and loans
Inventario_Telemetria/src/pages - Budget and reports
Inventario_Telemetria/src/pages - Inventory Supabase
Inventario_Telemetria/src/lib/supabase.ts
LoRa firmware
- LoRa transmitter
Lora/lib/EMISSOR/EMISSOR.cpp - LoRa receiver
Lora/lib/RECEPTOR/RECEPTOR.cpp
Other components
- Telemetry device
- Engineer or pilot
- Inventory user
Connections 32
- Telemetry device → Acquisition loop: supplies readings
- Acquisition loop → Battery and sensors: reads sensors
ESP_Completo/src/main.cpp - Acquisition loop → ESP-NOW radio: updates radio data
ESP_Completo/src/main.cpp - Acquisition loop → Network sender: sends measurements
ESP_Completo/src/main.cpp - Acquisition loop → Network sender: sends alerts and cells
ESP_Completo/src/main.cpp - Display controller → Display radio: requests telemetry
Display_Telemetria/main.cpp - Display controller → Display interface: updates display
Display_Telemetria/main.cpp - LoRa transmitter → LoRa receiver: transmits packets
- API server → Alert routes: mounts routes
Backend_Telemetria/server.js - API server → Cell routes: mounts routes
Backend_Telemetria/server.js - API server → Sensor routes: mounts routes
Backend_Telemetria/server.js - Alert routes → Latest-value buffer: uses buffer
Backend_Telemetria/routes/alertas.js - Alert routes → Supabase client: queries database
Backend_Telemetria/routes/alertas.js - Cell routes → Latest-value buffer: uses buffer
Backend_Telemetria/routes/celulas.js - Cell routes → Supabase client: queries database
Backend_Telemetria/routes/celulas.js - Engineer or pilot → Dashboard application: uses dashboard
- Dashboard application → Authentication: initializes
Frontend_Telemetria/painel/src/App.tsx - Dashboard application → Live telemetry: initializes
Frontend_Telemetria/painel/src/App.tsx - Dashboard application → Run recording: initializes
Frontend_Telemetria/painel/src/App.tsx - Dashboard application → Saved runs: initializes
Frontend_Telemetria/painel/src/App.tsx - Dashboard application → Member and presence: initializes hooks
Frontend_Telemetria/painel/src/App.tsx - Dashboard application → Diary and graphs: initializes hooks
Frontend_Telemetria/painel/src/App.tsx - Dashboard application → Derived metrics: derives metrics
Frontend_Telemetria/painel/src/App.tsx - Dashboard application → Analysis and views: renders views
Frontend_Telemetria/painel/src/App.tsx - Authentication → Dashboard Supabase: authenticates with
Frontend_Telemetria/painel/src/hooks/useAuth.ts - Run recording → Dashboard Supabase: stores run state
Frontend_Telemetria/painel/src/hooks/useRecording.ts - Saved runs → Dashboard Supabase: queries saved runs
Frontend_Telemetria/painel/src/hooks/useSavedRuns.ts - Inventory user → Inventory application: uses inventory
- Inventory application → Access control: provides access gate
Inventario_Telemetria/src/App.tsx - Inventory application → Inventory data: provides data
Inventario_Telemetria/src/App.tsx - Inventory application → Inventory and loans: opens app shell
Inventario_Telemetria/src/App.tsx - Access control → Inventory Supabase: checks access
Inventario_Telemetria/src/hooks/useAuth.tsx