How shirooni-01/indradhanu- works
Indradhanu is a wildlife early-warning system: edge camera nodes detect target animals, buffer events and snapshots locally, then synchronize them to a central server for verification, alerting, and dashboard monitoring. The graph separates edge capture/detection from central verification and siren policy/control, and includes the two storage tiers and documented SMS capability. Edges follow the sampled calls and README descriptions; several dashboard details and edge internals are represented only at the documented subsystem level.
Main entry points: edge_daemon.py Edge Station · app.py Central Server · sync_client.py Sync Client · siren_service.py Siren Policy
Components 20
Edge Monitoring
- Edge Station
edge/edge_daemon.py - PIR Sensor
edge/hardware/pir_sensor.py - Thermal Camera
edge/hardware/thermal_camera.py - Edge Detector
edge/ml_engine/detector.py - Edge Event Buffer
edge/database/edge_db.py - Sync Client
edge/services/sync_client.py
Central Coordination
- Central Server
app.py - Central Verification
ml_engine/verifier.py - Spatial Detector
ml_engine/detector.py - Central Event Store
database/db_manager.py - System Configuration
database/system_config.py
Alerting and Siren
- SMS Dispatch
edge/services/sms_service.py - Siren Policy
services/siren_service.py - Siren Controller
edge/siren_controller.py - GPIO Siren Relay
Operations Dashboard
- Web Dashboard
templates/index.html
Other components
- Field Operator
- Dashboard User
- SMS Gateway
- Central HTTP API
Connections 22
- Field Operator → Edge Station: operates
README.md - Edge Station → Thermal Camera: captures frames
edge/edge_daemon.py - Edge Station → PIR Sensor: checks motion
edge/edge_daemon.py - Edge Station → Edge Detector: runs inference
edge/edge_daemon.py - Edge Station → Edge Event Buffer: stores events
edge/edge_daemon.py - Sync Client → Edge Event Buffer: reads pending events
edge/services/sync_client.py - Edge Station → Sync Client: starts sync
edge/edge_daemon.py - Sync Client → Central HTTP API: uploads events
edge/services/sync_client.py - Central HTTP API → Central Server: routes requests
README.md - Central Server → Central Event Store: persists events
app.py - Central Server → Central Verification: verifies snapshots
app.py - Central Verification → Spatial Detector: uses detector
ml_engine/verifier.py - Central Server → Siren Policy: requests alert decision
app.py - Siren Policy → Central Event Store: records alert
services/siren_service.py - Siren Policy → Siren Controller: sends command
services/siren_service.py - Siren Controller → GPIO Siren Relay: drives relay
README.md - Central Server → SMS Dispatch: dispatches notifications
app.py - Edge Station → SMS Dispatch: flushes queued SMS
edge/edge_daemon.py - SMS Dispatch → SMS Gateway: sends messages
edge/services/sms_service.py - Central Server → System Configuration: loads configuration
app.py - Dashboard User → Web Dashboard: views status
README.md - Web Dashboard → Central Server: uses dashboard routes
README.md