Arduino steuern mittels mAirList-Script

Ich habe jetzt das Script, welches Auch Funkt, aber wie sagich dann dem Arduino, das er die farbe ändern soll bzw. ein Relais an und das andere aus machen soll?

Ja, das ist ein interessantes Problem. Es kommt ganz darauf an, wie der Arduino mit dem mAirList-Rechner verbunden ist. ich hatte es einmal über http geschafft, dafür muß der Arduino im Netzwerk erreichbar sein und einen http-Server hosten. Im Script verwendest Du etwa:


HTTPGet('http://192.168.3.35/Inhalt%20der%20Nachricht');
                +----------+ +----------------------+
                 IP-Adresse         Nachricht
                des Arduinos

Ansonsten müßte sich @Torben dazu äußern, was es sonst noch für Möglichkeiten gibt.

Arduino ist ja erstmal nur eine (Hardware-)Plattform. Es kommt also wohl maßgeblich darauf an, was für eine Software auf ihm installiert wurde, und welche Schnittstellen diese bereitstellt.

HTTP ist ein guter Ansatz. Wer in die Richtung weiterdenken will, dem empfehle ich, sich mal mit ESP32 und ESPHome zu beschäftigen - das bringt gleich die passende API mit: Web Server API — ESPHome

1 Like

In der Regel ist das wohl ein vom Anwender zu schreibendes C-Skript („Sketch“).

Exakt davon sprach ich.

Demnach müsste die Frage auch nicht lauten: “Unterstützt mAirList Arduino?” Sondern vielmehr: “Unterstützt mAirList meinen Arduino-Sketch?”

Ja, vor diesem Problem stand auch ich. Aber da man ja alle Freiheiten im Programmieren des Arduinos hat, bleibt schließlich die Frage: Gibt es (außer http) womöglich noch weitere Verfahren, um zwischen mAirlist-Script und einem externen Rechner zu kommunizieren?

Im Endeffekt kommt es immer darauf an, ob man für den Zweck geeignete C-Libraries findet.

Praxistip vom Anwender: Sollen tatsächlich nur Relais geschaltet werden, so ist man mit Velleman, I/O-Warrior und Verwandten besser bedient. Für die Steuerung von Philips-Hue-leuchten siehe hier.

Mir schwirrt da immer noch die Idee im Kopf, mit Shelly oder den neuen Shelly Pro, ggf. mit Tasmota Firmware, etwas auf 24V zu bauen.
WLED ist auch ein interessante Firmware, ich habe neulich einen Schwung Lampem mit GU10 Sockel und vorinstallietem WLED gekauft. Das macht schon Spaß, war aber für ein anderes Projekt. Das wird wahlweise aus meinem ioboker, über Homekit oder über ArtNet angesteuert.

Tasmota kann relativ einfach mit http GET umgehen, wenn ich das richtig verstanden habe. Ich muss also nichtmal einen MQTT Server aufsetzen.
Ein paar Tasmota GPI bräuchte ich noch.

Aber die Zeit… :neutral_face:

Ich stecke jetzt auch nicht so komplett im Thema, habe mir nur mal zum Basteln ein paar ESP32 gekauft, und bin letztendlich bei ESPHome gelandet.

Mir gefällt der Ansatz, das Image direkt aus der YAML-Datei zu bauen, incl. OTA-Updates. Und es gibt ein Echtzeitprotokoll über ProtocolBuffers, für das ich inzwischen eine Delphi-Implementierung geschrieben habe. Mal schauen, ob es das demnächst als Fernsteuerung in mAirList schafft :wink:

Sooooo, jetzt mal langsam!

Ich habe an folgendes gedacht:
Arduino mit Relais, daran led und dann irgendwie das per usb oder so steuern?!

Oder gibt es da andere und schnellere Lösungen?

also mit einem Ardunino Uno/MEGA oder nanoWiFi

Das habe ich zuminst da

Mir hat jemand geschrieben, das er nen Ardu mit usb am pc hat und über d1 den strip steuert Kp aber wie

Quentin,

wenn Du wirklich nur einzelne LEDs steuern (wieviele?) willst, dann schau Dir das Velleman 8055 an. Das hat 8 Eingangs- und 5 Ausgangskanäle, damit schaffst Du eben fünf Relais. Sollen es mehr sein, dann könnte der I/O-Warrior etwas für Dich sein. Man kann auch mehrere solcher Geräte gleichzeitig mit mAirList verbinden.

Der Vorteil ist, daß es für beide Geräte die passenden Methoden in mAirListScript bereits gibt, damit ist das gar kein Problem. Einen Arduino würde ich nur für fiesere Anwendungen bemühen.

 


Edit: Gerade lese ich „Strip“ in Deinem Beitrag. Vielleicht magst Du uns ja doch noch etwas genaueres über Dein Projekt erzählen.

Und gerade fällt mir ein: Man könnte, wenn Du geschickt programmieren kannst, den Arduino über den Umweg Velleman/I/O-Warrior ansteuern. Pins hat er ja genügend. Würde die Sache vielleicht ebenfalls vereinfachen.

 


Ab „über“ verstehe ich nichts mehr. Bitte schreibe in ganzen Sätzen, und, falls es geht, auch in ganzen Wörtern. Satzzeichen nicht vergessen. Danke.

Naja gut, YAML ist genau mein Problem. Ich bin anscheinend nicht gut im zählen von Leerzeichen und werfe mir die Sektionen so immer durcheinander. :rofl:

ESPHome Echtzeitprotokoll klingt natürlich auch interessant.
Auf Tasmota gibt’s irgendwas ähnliches, die Geräte können z.B. auch ohne einen Zentralen Endpunkt untereinander kommunizieren.
Weil ich die http calls ziemlich gut verstehe, bin ich da hängen geblieben.

Mir ist der Name von den Lampen wieder eingefallen, der Hersteller heisst Athom und man bekommt die wahlweise mit WLED, ESPHome oder Tasmota.
EDIT: Da sind aber noch die älteren ES8266 drin.

Alsoooo,

Ich habe von einem Kollegen einem Code bekommen, mit dem er über ein http Server sein “ProppFex” oder so steuert, ich kann dieses Programm aber null leiden und bin deshalb zu mAirlist zu einer Zeit gewechselt. Von einem anderen Kollegen habe ich gehört, dass er es mit einem Arduino gemacht hat, der per USB angeschlossen ist halt über Com…

Alle in meinem Umfeld wollen wir nicht wirklich helfen und ich habe derzeit ein Arduino UNO/MEGA und ein Nano mit WiFi da. Als Licht wöllte ich gerne über 2 Relais ein LED Streifen anschließen…
Hab noch ca. 5m von Govee über, aber ohne Steuerungdeinheit.

Ich kein Plan von mAirlist Scripts, sowi nur sehr wenig von einem Arduino

Zwei Relais, ein LED-Streifen?! Das kommt mir sehr exotisch vor. Sollen die die Farbe wechseln oder was? Sorry, da bin ich raus. Nicht, weil ich Dir auch nicht helfen will, sondern weil ich von Deiner Hardware keinen blassen Schimmer habe. Und weil ich immer noch nicht weiß, was genau Du mit den LEDs treiben willst.

also zwei Relais deswegen, weil die rgb sind und er soll dann halt von grün auf rot ändern

Wenn es sich um einfache RGB-LEDs mit vier Pins handelt, brauchst Du keinen Arduino. Wenn es sich um LEDs mit integriertem Controller handelt (die haben dummerweise ebenfalls vier Pins), brauchst Du einen Arduino oder ähnliches. Diesen könntest Du zuverlässig und ohne viel Aufhebens mit einer Velleman-Steuerung ansteuern (im Grunde handelt es sich nur um einen einzigen Pin).

Nichtsdestoweniger wird ein nennenswerter Programmieraufwand auf Dich zukommen, wobei wir Dir auf der mAirList-Seite behilflich sein könnten.

also eine Steuerung ist derzeit nicht vorhanden, es gibt 4 Pins.
Ich wollte eigentlich kein neues “Gerät” kaufen um das Licht zu steuern
Ich weiß, dass es auch mit einem Arduino geht, aber wie ist halt die frage

Wie ganz oben gesagt: Über HTTPGet. Der Befehl sendet zum Beispiel die Zeichen ROT oder GRN an den Arduino. Wie Du das letztlich auswertest und in LED-Licht umsetzt, mußt Du selber herausfinden, das findet alles auf dem Arduino statt. Wenn Du das hast, dann meldest Du Dich nochmal, damit wir die mAirList-Seite in Angriff nehmen können.

Okeeey, wie bkomme ich das http get hin?

Das kann ich Dir erst sagen, wenn Du uns genau (!) mitteilst, was Du damit vorhast, also wann was rot bzw. grün werden soll. (Ich habe irgendwie das Gefühl, mich ständig zu wiederholen …) Kümmere Dich aber bitte erst um die LED-Seite mit Arduino, damit ich mir nicht umsonst die Arbeit mache.

Also grün soll es sein wenn das mic aus ist und rot wenn das mic an ist