Teil 20: TCP, HTTP und einfache Netzwerkdienste
Lernziel: Einen Netzwerkdienst konzeptionell aufbauen.
Voraussetzungen: Der Rust-PC-Grundlagenkurs bzw. Grundkenntnisse in Rust; außerdem die vorangegangenen Pico-Lektionen. Zielboard: Pico 2 / Pico 2 W (ARM); Hinweise für RP2040 in der Kursübersicht.
Worum geht es?
Nach dem Verbindungsaufbau kann ein TCP-Server oder ein einfacher HTTP-Endpunkt Messwerte ausgeben. TCP transportiert einen Byte-Stream; HTTP ist ein darauf aufbauendes Protokoll mit Anfrage und Antwort. Ein Minimal-Webserver sollte zunächst nur im vertrauenswürdigen lokalen Netz betrieben werden.
Schritt für Schritt
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 5
23.5
Einordnung: Das gezeigte Beispiel illustriert ein HTTP-Antwortformat. Header und Nutzdatenlänge in echter Firmware exakt erzeugen.
Hintergrund und häufige Fehler
- Board prüfen: Pico/Pico W (RP2040) und Pico 2/Pico 2 W (RP2350) brauchen unterschiedliche Compilerziele und Boardkonfigurationen.
- Hardware zuerst: Vor dem Flashen Pinbelegung, gemeinsame Masse und 3,3-V-Pegel prüfen.
- Versionsstand: Übernehme die passenden Embassy-Beispiele und Abhängigkeiten aus demselben Repository-Stand; APIs ändern sich zwischen Releases.
- Schrittweise testen: Erst ein kleines funktionsfähiges Beispiel, danach jeweils genau eine Änderung vornehmen.
Selbst ausprobieren
Beschreibe, welche Informationen ein Browser für einen HTTP-Aufruf benötigt.
Musterlösung anzeigen
Mindestens die IP-Adresse oder den Hostnamen und gegebenenfalls Port und Pfad; der Server liefert Status, Header und Body.
Dokumentation für deine Versuche
Notiere verwendetes Board, Verdrahtung, Git-Commit oder Bibliotheksversion, Build-Befehl, Ergebnis und aufgetretene Fehlermeldungen. Halte dazu ein Foto oder einen Screenshot fest, der später in den Website-Beitrag übernommen werden kann.
Weiterführende Informationen
- Embassy – offizielles Repository und RP-Beispiele
- Embassy-Dokumentation
- RP-HAL mit RP2040-/RP235x-Hinweisen
