Python-Skript von der RB4 ausführen

Hallo zusammen,

ich bin ganz neu im Gladys-Projekt, das ich schon seit einigen Jahren aus der Ferne beobachte.
Es ist ein Assistent, den ich nutzen möchte, aber unter bestimmten Bedingungen.
Ich habe einen schönen Holzbüro mit weißer, halbtransparenter Epoxidharz-Oberfläche, der ein Band mit adressierbaren LEDs enthält.

Ich stehe kurz davor, eine RB4 zu bestellen, um den Assistenten darauf zu installieren, aber ich muss vorher wissen, ob es möglich ist, eine Szene zu erstellen, die ein Python-Skript direkt von der RB aus ausführt?

Denn da es sich um adressierbare LEDs handelt, ist die Steuerung etwas anders (nachdem ich das Datenblatt der Komponente gelesen habe, habe ich geschätzt, dass die Verwendung des PWM der Platine sehr praktisch wäre), deshalb würde ich Python benötigen, um das alles zu verwalten.

Zusätzlich habe ich ein kleines elektronisches Modell, das die Stromversorgung verwaltet, und ich möchte es nicht ins Netzwerk einbinden, da dies den Kauf zusätzlicher kompatibler Kommunikationsausrüstung bedeuten würde… Das Ziel ist es, die Pins zu steuern (immer über ein Python-Skript).

Ist das machbar?
Vielen Dank im Voraus,
Matt

Hallo @MattDudu und willkommen bei Gladys :slight_smile:

Du kannst das problemlos mit der MQTT-Integration machen.

Du kannst in Gladys ein „MQTT“-Gerät vom Typ „Licht“ erstellen und ihm die Eigenschaften zuweisen, die es hat (z. B. ein-/ausschalten + Helligkeit + Farbe), und Gladys stellt dir MQTT-Topics zur Verfügung, auf die du in deinem Python-Skript hören kannst.

Auf der Python-Seite musst du eine MQTT-Bibliothek verwenden, um dich mit dem MQTT-Broker zu verbinden und auf die von Gladys bereitgestellten Topics zu hören.

Bei jeder Statusänderung in Gladys wird eine Nachricht auf das MQTT-Topic veröffentlicht und du erhältst die Nachricht in deinem Skript :slight_smile:

Zögere nicht, wenn du Fragen hast

Hallo @pierre-gilles :slight_smile:

Danke für deine schnelle Antwort, ich werde mich dann mal mit der MQTT-API beschäftigen müssen, das habe ich mir notiert!
Das erinnert mich an ein Betriebssystem namens ROS (Robot Operating System, das ich an der Schule für einen Roboter verwendet habe, um die verschiedenen Peripheriegeräte mit demselben Abonnement-System für Topics kommunizieren zu lassen, daher habe ich eine grobe Vorstellung, wie das funktioniert).

Aber es ist mir immer noch etwas unklar, wird die berühmte .py-Datei auf dem Raspberry gespeichert?
Denn ich nehme an, dass beim Starten des Raspberry direkt die Gladys-Oberfläche gestartet wird (wenn man sich vorstellt, dass man den HDMI-Ausgang verwendet)? Oder ist es immer noch eine Art Desktop-Oberfläche wie Rasbian?

Vielen Dank im Voraus =)
Matt

Das ist in deinem Browser verfügbar, Gladys ist nur ein Docker-Container, der auf Raspbian Lite läuft (ohne Desktop-Umgebung).

Du kannst auf dem Betriebssystem alles machen, was du willst (Python), das ist unabhängig von Gladys (weil Gladys in einem Container isoliert ist).

Alles klar, ich verstehe jetzt, das ist also perfekt :smiley:

In diesem Fall sind wir uns also einig, dass die RB selbst als ein MQTT-Gerät betrachtet werden kann? Und wenn wir die Theorie etwas weiter treiben, können mehrere « Geräte » (die möglicherweise verschiedene PINs steuern) in verschiedenen Python-Skripten beschrieben werden? (Mit 1 Skript = 1 Gerät)

Danke für eure Hilfe und Erklärungen!

Matt

Das ist das Prinzip, alles auf derselben Maschine, damit kannst du anfangen.

Wenn du das System weiter ausbauen und mehrere Raspberry Pi verwenden möchtest, musst du:

  • sicherstellen, dass der MQTT-Broker seine Ports geöffnet hat (das ist mit Gladys der Fall)
  • sicherstellen, dass die anderen Raspberry Pi den MQTT-Broker kontaktieren können
  • die verschiedenen MQTT-Topics in jedem Python-Skript (installiert auf jedem RPI) korrekt verwalten

Ich empfehle dir einige Dokumentationen:

https://www.framboise314.fr/utiliser-le-protocole-mqtt-pour-communiquer-des-donnees-entre-2-raspberry-pi/

@cicoub13 Wow, vielen Dank für all diese Erklärungen, jetzt ist alles viel klarer!

Das ist super interessant, ich werde mir das kaufen und dann alles ausprobieren :wink:

Nochmals vielen Dank an euch alle :heart_eyes: