Rust auf dem Raspberry Pi Pico · Teil 21TutorialFortgeschritten

Rust

Rust Pico 21: MQTT und Messwerte übertragen

Publisher, Broker und Topics verstehen. Embedded Rust verständlich erklärt, mit Praxisaufgabe und Musterlösung.

Kapitel: Netzwerk

Veröffentlicht am

Teil 21: MQTT und Messwerte übertragen

Lernziel: Publisher, Broker und Topics verstehen.

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?

Bei MQTT senden Sensoren ihre Werte an einen Broker. Andere Teilnehmer abonnieren Topics. Ein Pico könnte etwa labor/pico/temperatur publizieren. Ein stabiler WLAN-Stack, Reconnects und saubere Fehlerbehandlung sind dafür erforderlich. Für echte Projekte Credentials nicht in Quelltexte eintragen und gegebenenfalls TLS verwenden.

Schritt für Schritt

Topic: labor/pico/temperatur
Payload: 23.5

Publisher (Pico) -> MQTT-Broker -> Subscriber (PC)

Einordnung: MQTT-Implementierungen sind versionsabhängig; zunächst die Protokollidee und ein funktionsfähiges Beispielprojekt nutzen.

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

Erfinde drei sinnvolle MQTT-Topics für Temperatur, Feuchtigkeit und Gerätestatus.

Musterlösung anzeigen

labor/pico/temperatur, labor/pico/feuchte, labor/pico/status.

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


← Teil 20 · Teil 22 →