Zum Hauptinhalt springen

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.

Entwurf

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