{"id":31567942,"url":"https://github.com/gavogt/aliencoreespgateway","last_synced_at":"2025-10-05T09:46:35.211Z","repository":{"id":304548774,"uuid":"1018964039","full_name":"gavogt/AlienCoreESPGateway","owner":"gavogt","description":"ArduinoR4, ESP8266, Edge Gateway, SignalR hub, .NET Maui Blazor Hybrid, RabbitMQ, InfluxDb, Telegraf","archived":false,"fork":false,"pushed_at":"2025-07-31T21:17:33.000Z","size":5424,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-31T21:53:43.581Z","etag":null,"topics":["alien","alieninvasion","arduino","cyborg","esp8266","matrix"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gavogt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-13T12:51:58.000Z","updated_at":"2025-07-31T21:17:37.000Z","dependencies_parsed_at":"2025-07-31T20:13:41.009Z","dependency_job_id":"3394453c-6278-4a84-8cf8-7180d95efbb5","html_url":"https://github.com/gavogt/AlienCoreESPGateway","commit_stats":null,"previous_names":["gavogt/aliencoreespgateway"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gavogt/AlienCoreESPGateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavogt%2FAlienCoreESPGateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavogt%2FAlienCoreESPGateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavogt%2FAlienCoreESPGateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavogt%2FAlienCoreESPGateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gavogt","download_url":"https://codeload.github.com/gavogt/AlienCoreESPGateway/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavogt%2FAlienCoreESPGateway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278437947,"owners_count":25986760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alien","alieninvasion","arduino","cyborg","esp8266","matrix"],"created_at":"2025-10-05T09:46:29.118Z","updated_at":"2025-10-05T09:46:35.205Z","avatar_url":"https://github.com/gavogt.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 ESP8266 Xeno-Cyborg Scout Network\n\n## Overview\n\nThe **Xeno-Cyborg Scout Network** connects 50+ **ESP8266 Scout Nodes** to a secure **Cyborg Edge Gateway**.  \nEach scout reads from multiple alien **XenoCore** sensor modules and transmits telemetry to the gateway for real-time monitoring, historical analysis, and remote commands.\n\n---\n\n## 📜 Scenario\n\n**Outpost Vesper** has deployed an array of unknown cyborg sensor modules (“XenoCores”), each connected to an ESP8266 “Scout” node.\n\nThe scouts:\n1. Detect and catalog their connected XenoCores\n2. Transmit readings to the Cyborg Edge Gateway over Wi-Fi\n\nThe gateway:\n1. Ingests telemetry via **MQTT** or **HTTP**\n2. Routes messages into **RabbitMQ** or broadcasts via **SignalR**\n3. Persists historical data to **TimeVaultDB** (InfluxDB or SQLite TS)\n4. Serves a **.NET 9.0 MAUI Blazor Hybrid Command Interface** for operators\n\n---\n\n## ⚙️ Features\n\n### ESP8266 Scout Firmware\n- **XenoCore Abstraction**\n  ```c\n  enum XenoType { NEURO, PLASMA, BIO };\n  struct XenoCore { XenoType type; const char* label; float (*read)(); };\n\n    Supports NeuroFlux, PlasmaDensity, BioResonance (more can be added)\n\n    Unknown modules log “Unknown Core” over Serial\n\n    Warp-Stable Connectivity\n\n        Connect to CyborgNet SSID with exponential back-off\n\n        Feed hardware watchdog to prevent hangs\n\n    Telemetry Uplink\n\n        Option A: Publish JSON over MQTT → xeno/{scoutId}/telemetry\n\n        Option B: POST JSON to /api/xeno/telemetry\n\n    Persistent Config (SPIFFS)\n\n        Store Wi-Fi + Gateway config in /cfg/xenoconfig.json\n\n        Serial menu for listing/changing configs\n\nCyborg Edge Gateway Service\n\n    Deployment: Docker Compose (RabbitMQ, TimeVaultDB, Nginx, .NET Worker)\n\n    Ingestion \u0026 Bridging\n\n        Consume telemetry via MQTT/HTTP\n\n        Publish to xenotelemetry exchange or broadcast via SignalR Hub\n\n    Validation \u0026 Storage\n\n        Enrich with calibration metadata\n\n        Persist to InfluxDB or SQLite TS\n\n        Raise XenoTelemetryReceived events for processing\n\nReal-Time Streams \u0026 Commands\n\n    SignalR Hub (XenoHub)\n\n        Broadcast telemetry via OnTelemetry(scoutId, type, value)\n\n        Accept commands like CalibrateCore, RebootScout\n\n    RabbitMQ\n\n        Topics: xenotelemetry, xenocommands\n\n        Routing keys: scout.{id}\n\n.NET MAUI Blazor Hybrid Command Interface\n\n    Live Scout Dashboard: status, module counts, last readings\n\n    Historical Analysis: query by date range, module type, scout ID\n\n    Command Center: send calibrations or firmware updates\n\n    Advanced Visualization: Chart.js heatmaps, AI-driven anomaly detection\n\n    Theming \u0026 Accessibility:\n\n        Light/dark theme with --cyborg-green, --void-purple, --signal-gold\n\n        Responsive + ARIA roles, keyboard navigation\n\n🛠 Configuration \u0026 Management\n\n    Local DB: EF Core + SQLite for scout registry, metadata, user prefs\n\n    Design Patterns: Repository, Unit of Work, Factory, Strategy, Command, Observer, Mediator/CQRS\n\n    Security: TLS, JWT tokens, RabbitMQ ACLs, encrypted SPIFFS config\n\n🏗 Architecture\n\nTechnology Stack:\n\n    Firmware: ESP8266 (C/C++)\n\n    Gateway: .NET 9.0, C# 12, EF Core\n\n    Broker: RabbitMQ (with MQTT plugin)\n\n    Time-Series Store: InfluxDB / SQLite TS\n\n    UI: .NET MAUI Blazor Hybrid\n\n    Containerization: Docker Compose\n\n## 🏗 Project Structure\n\n/Firmware # ESP8266 code (wifi.c/h, xenocore.c/h, comm.c/h)\n/Gateway # XenoApi, XenoBridge services\n/UI # Blazor MAUI Command Interface\n\n\n---\n\n## 🚀 Getting Started\n\n### 1. Firmware\n1. Flash ESP8266 firmware in `/Firmware`.\n2. Configure `/cfg/xenoconfig.json` with:\n   ```json\n   {\n     \"wifi_ssid\": \"CyborgNet\",\n     \"wifi_pass\": \"********\",\n     \"gateway_url\": \"http://\u003cserver-ip\u003e:5000\"\n   }\n\n2. Gateway + Broker\n\ndocker compose up -d\n\nEnable MQTT in RabbitMQ:\n\ndocker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_mqtt\n\n3. Database\n\ndotnet ef database update\n\n4. UI\n\n    Build and run the .NET MAUI Blazor Hybrid project.\n\n    Access the dashboard via the configured URL.\n\n📦 Deliverables\n\nESP8266 firmware source\n\n.NET solution (/Gateway + /UI)\n\nDocker Compose for RabbitMQ + TimeVaultDB\n\nEF Core migration scripts\n\nREADME + architecture diagram\n\n    Demo video showcasing live telemetry, heatmaps, and AI insights\n\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavogt%2Faliencoreespgateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgavogt%2Faliencoreespgateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavogt%2Faliencoreespgateway/lists"}