Relais über serielle Schnittstelle (USB) schalten (statt über GPIO)

  • Hallo,

    ich habe folgendes Relais https://www.makershop.de/module/relais/1-kanal-relais/

    Das habe ich ganz normal über die GPIO Pins verbunden (Steuerung über Pin 25) und konnte das dann auch problemlos mit GPIO.LOW / GPIO.HIGH schalten.


    Da ich aber eigentlich eine Verbindung über die GPIO Pins vermeiden wollte, habe ich mir noch so ein Kabel https://www.amazon.de/gp/product/B07Z7PPT6Y (Affiliate-Link) gekauft, in der Hoffnung, das Relais auch darüber schalten zu können. Habe jetzt aber festgestellt, dass das ja dann eine serielle Schnittstelle ist. Habe dann die Pins entsprechend verbunden und dabei eben den TXD-Anschluss des Kabels auf den In-Pin des Relais gelegt. Mit dem Verbinden schaltet das Relais auch sofort, ohne dass ich etwas tun musste. Scheint mir irgendwie nicht so 100%ig korrekt...


    Ich habe jetzt aber keine Ahnung, was ich über die serielle Schnittstelle schicken muss, um das Relais ansteuern zu können.

    Hat da jemand eine Idee? Geht das überhaupt, oder kann ich das Relais über die serielle Schnittstelle gar nicht so direkt steuern? Falls nicht, was müsste ich noch dazwischen hängen, damit das geht?


    Falls das nicht geht, hat jemand evtl noch eine Idee, wie ich das Relais über USB ansteuern könnte?


    Danke

  • Dazu brauchst Du eine Relaiskarte, die einen USB Anschluss hat und auf der Karte aus den seriellen Daten jeweils aus einem seriellen Byte 8 Bit parallele Einzelbits konvertiert werden. Nennt sich "serial to parallel Konverter/Kontroller". Mit jedem Bit ist z.B. ein Relais ansteuerbar. https://www.sainsmart.com/coll…nnel-12v-usb-relay-module


    Es muss aber nicht der USB Controller auf dem Modul verbaut sein. ES gibt auch USB to parallel Konverter und TTL/RS232 to parallel Konverter, als Modul, oder zum Selbstlöten als Chip.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • K.A. wie Du auf diese Idee gekommen bist, der Ansatz ist wie bei dem Sprichwort "mit dem Schinken nach der Wust zu werfen". Die GPIO Ports wurden für solche Anwendungen (z.B. wie Ausgänge zu Schalten) nach außen geführt. Die serielle Schnittstelle ist zum Übertragen von Daten gedacht. Da gibt es nur wenige Möglichkeit um damit etwas zu Schalten:


    - Du nutzt die ( bei deinen Adapter nicht vorhanden ) Steuerleitungen ( DSR, RTS, CTS usw. ) von der seriellen Schnittstelle

    - man benutzt einen Microkontroller welcher dann auf ein Datentelegramm Ausgänge schaltet

    - oder man bastelt sich etwas selbst ( Schieberegister o.ä. )


    Wenn es den unbedingt etwas mit USB sein soll, könnte man u.a. einen kleinen Microkontroller wie einen ATTiny85 (Digispark o.ä.) verwenden.

  • Naja, das war einfach meiner Unwissenheit geschuldet. Für mich sahen die Stecker des USB-Kabels erstmal genauso aus wie die Kabel mit denen ich die GPIO Pins verbinde und dachte erstmal, dass das irgendwie eine USB-Variante davon ist. Das das eine serielle Schnittstelle ist, ist mir dann ja erst im Nachhinein aufgefallen.

    Dass das dumm war ist mir mittlerweile auch klar :D

    Aber so hab ich wenigstens was neues gelernt, also hat das auch positive Seiten.


    Ich habe mich jetzt schlussendlich für diese Relais entschieden: https://www.amazon.de/dp/B07DJ549LX?psc=1&ref=ppx_yo2ov_dt_b_product_details (Affiliate-Link)

    Die kann ich schön über USB ansteuern und spare mir die Verkabelung über GPIO.


    Danke