Rust in HCR
Rust von der Server-Wiedergabe bis zur eingebetteten Roboter-Firmware
HCR nutzt Rust dort, wo Richtlinien, Wiedergabe, Protokollzustand und validierte Hardwaresteuerung zusammentreffen. Die Browseroberfläche bleibt React und Blockly; Rust betreibt den Dienst und das eingebettete Gateway.
Technische Grundlage
Zwei Rust-Laufzeiten, zwei Bereitstellungsbedingungen
Der Bewertungsdienst nutzt den additiven hcr.v1-Vertrag und autoritative Wiedergabe. Das aktuelle no_std-ESP8266-Gateway betreibt eine begrenzte HTTP/JSON-Servo-API; MQTT und CBOR bleiben ein geplanter Gerätepfad.
Rust · MQTT over WebSocket · HTTP binding
Service
Gibt Programme serverseitig wieder, betreibt die adaptive Aufgabenbank und verwaltet Rundenfristen und Ranglisten.
hcr-backend
hcr.v1 · JSON and CBOR
Protokoll
Jede Nachricht besitzt einen Umschlag und wird per ULID zugeordnet. Nebenversionen dürfen nur ergänzen; Empfänger verwerfen Unbekanntes, statt daran zu scheitern.
hcr-backend/schema
Rust (no_std) · ESP8266 · Arduino C++ as a hardware library
Hardware
Ein physischer Arm mit fünf Servos. Rust verantwortet Startlogik, Routing, HTTP/JSON und Servozustand; C++ bleibt hinter einer byteorientierten C-ABI. MQTT ist im Gateway noch nicht implementiert.
hcr-fw
Open Source
Das Hotaru-Rust-Ökosystem hinter HCR
HCR veröffentlicht seinen Backend-Dienst als Crate auf crates.io und baut seine Dienst- und eingebetteten Protokollschichten auf Hotaru auf. Entdecken Sie das Crate, die Framework-Website, das Core-Repository und die separat gepflegte MQTT-Implementierung.
HCR-Crate auf crates.io
hcr
Der veröffentlichte Kern des HCR-Backend-Dienstes für Katalogzugriff, autoritative Wiedergabe, adaptive Sitzungen und optionale Hotaru-HTTP-Integration.
crates.io/crates/hcrFramework-Website
hotaru.rs
Die offizielle mehrsprachige Einführung in Hotaru, ein kleines protokollorientiertes Rust-Framework mit einem für no_std vorbereiteten Core.
hotaru.rs/Core und HTTP auf GitHub
Hotaru
Der protokollneutrale Core, Laufzeitadapter, HTTP-Stack, Routing und Endpunktwerkzeuge des Hotaru-Ökosystems.
github.com/Field-of-Dream-Studio/hotaruMQTT und Broker auf GitHub
Hotaru MQTT
Die separate Implementierung von MQTT-Client und Broker. HCR nutzt heute HTTP; MQTT bleibt als Transport für Geräte und App geplant.
github.com/fds-pmine/hotaru_mqttEntwurf
Rust bestimmt die Abläufe; C++ bleibt eine Hardwarebibliothek
Die Abhängigkeit verläuft nur in eine Richtung. Nur ein Crate deklariert importierte Hardwarefunktionen; über die Grenze gehen Bytes statt Arduino-Strings, C++-Objekten, Routen, JSON oder Anwendungszustand.
Rust übernimmt
- Startablauf und kooperativer Executor
- Hotaru-Routing und -Protokoll
- HTTP-Parsing und -Antworten
- Servoprüfung und -zustand
C++ übernimmt
- Taktgeber, Interrupt-Maskierung, Watchdog, Neustart, Heap, Zufall, serieller Port
- WLAN-Zugangspunkt- und Stationsmodus sowie einfache TCP- und UDP-Handles
- Handles für Captive DNS und SPIFFS
- GPIO, PWM, Schreiben von Servopulsen und direkte OTA-Schreibvorgänge
Rust
Was Rust in HCR bedeutet
Rust kommt dort zum Einsatz, wo HCR deterministische Wiedergabe, explizite Protokolltypen, kontrollierte Nebenläufigkeit und eine schmale Embedded-Grenze benötigt. Das ist eine konkrete Architekturentscheidung, keine Behauptung, dass jeder Teil von HCR in Rust geschrieben ist.
Die Browseroberfläche ist mit React und TypeScript gebaut. HCR ist ein unabhängiges Projekt und weder mit dem Rust Project oder der Rust Foundation verbunden noch von ihnen unterstützt.
Hardware