USB digital I/O-Board gesucht

  • Hallo zusammen,


    bei einem meiner Projekte belegt ein Board alle GPIOs des Pis. Ich brauch allerdings noch zwei digitale I/O, die ich schalten kann.

    Also bleibt ja eigentlich nur eine Board-Erweiterung. Die GPIOs fallen raus und damit über I²C und sonstige Bus-Komponenten über die GPIOs, womit ja nur noch Ethernet/WLAN und USB bleibt. Über Ethernet ist mir die Verzögerung zu groß, da da dann auch einiges los sein kann im Netzwerk. Also USB.

    Ich hab jetzt schon einige Tage gegoogled, aber nichts gefunden, was für meinen Zweck passend oder nicht zu teuer wäre.

    Ich brauch ein digitales I/O-Board, mit mindestens 2 Ausgängen. Am besten wär's über Relais, die potentialfrei schalten und mindestens 24 V schalten können.

    Gehäuse braucht das Board keins, aber Befestigungsmöglichkeit entweder auf ner Hut Schiene oder zum anschrauben wäre nötig.


    Kennt da zufällig jemand eins und/oder kann mir was empfehlen?


    Vielen Dank im voraus und

    Liebe Grüße


    Fipsi

  • Such z.B. bei berrybase oder Reichelt nach Breakout- Modulen. Da gibt es alle möglichen Varianten, um die GPIOs zu erweitern.

  • Die billigste Lösung für einen USB zu I2C Adapter die ich kenne, wäre einen I2C Tiny USB von Till Harbaum zu bauen. Das bekommt man für unter 5 € zusammen gebaut. An diesen Adapter kannst Du dann weitere I2C Module, wie z.B. einen Portexpander mit einem Treiberbaustein + Relais betreiben.


    PS: Da fällt mir gerade ein, für den I2C Adapter kann man auch einen Digispark verwenden, dann wird das Ganze noch preiswerter.

  • Wie wär's denn mit einem ESP32? Da hättest du zusätzliche GPIOs satt, die Datenübermittlung kann easy per USB erfolgen und ein entsprechendes ESP32-Board kostet ja fast nichts. Ich habe das bisher für zusätzliche, insbesondere analoge Eingänge genutzt. Die Datenübertragung in die andere Richtung habe ich noch nicht ausprobiert, müsste aber ja eigentlich ebenso gehen.

  • So wie USB to I2C und anderen Convertern gibt es auch einen USB to Parallel Converter mit mindestens 8 I/Os



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Falls der RPi im Schaltschrank ist, könnte man auch ein 2 fach SSR Modul aus der Bucht und die Elektronik aus einer alten USB Tastatur nehmen. Mit der Spannung der LEDs für Shift, CapsLock o. Rollen könnte man die Relais ansteuern. Es wäre damit nebenbei auch das Einlesen von Tasten o. Kontakten möglich.

  • Such z.B. bei berrybase oder Reichelt nach Breakout- Modulen. Da gibt es alle möglichen Varianten, um die GPIOs zu erweitern.

    Da hab ich schon gesucht, aber da gibt's nichts, das man direkt über USB betreiben kann, sondern alles über die GPIO als Erweiterung, die ja bei mir vollständig belegt sind (oder ich hab was übersehen...)


    Die billigste Lösung für einen USB zu I2C Adapter die ich kenne, wäre einen I2C Tiny USB von Till Harbaum zu bauen. Das bekommt man für unter 5 € zusammen gebaut. An diesen Adapter kannst Du dann weitere I2C Module, wie z.B. einen Portexpander mit einem Treiberbaustein + Relais betreiben.


    PS: Da fällt mir gerade ein, für den I2C Adapter kann man auch einen Digispark verwenden, dann wird das Ganze noch preiswerter.

    Das wär ne Idee, also USB -> I²C -> digital I/O.. dann muss ich da wieder bissl selber basteln.. und wahrscheinlich den Baustein I²C -> I/O noch programmieren.. ich denk mal, da wird's nichts "fertig" geben..


    Wie wär's denn mit einem ESP32? Da hättest du zusätzliche GPIOs satt, die Datenübermittlung kann easy per USB erfolgen und ein entsprechendes ESP32-Board kostet ja fast nichts. Ich habe das bisher für zusätzliche, insbesondere analoge Eingänge genutzt. Die Datenübertragung in die andere Richtung habe ich noch nicht ausprobiert, müsste aber ja eigentlich ebenso gehen.

    An ESP hab ich mich bisher noch nicht rangewagt. Ich hab zwar vor ein paar Jahren Arduino schon programmiert und so, aber soweit ich mich bisher mit ESP beschäftigt hab (zugegeben, noch nicht sehr viel, ist der doch noch mal ne Hausnummer höher. Und C ist jetzt auch nicht unbedingt das Gebiet, mit dem ich mich momentan anfreunden will ?(


    So wie USB to I2C und anderen Convertern gibt es auch einen USB to Parallel Converter mit mindestens 8 I/Os



    Servus !

    Jetzt, wo du's sagst.. mir sind einige Boards aufgefallen, die von Sub-D x Pins auf klemmen gehen und die USB -> Sub-D konverter. Würde das so einfach hinhauen, dass ich da über USB dann die einzelnen Klemmen "schalten" kann? Ich kenn mich mit der parallel-technik null aus.


    Falls der RPi im Schaltschrank ist, könnte man auch ein 2 fach SSR Modul aus der Bucht und die Elektronik aus einer alten USB Tastatur nehmen. Mit der Spannung der LEDs für Shift, CapsLock o. Rollen könnte man die Relais ansteuern. Es wäre damit nebenbei auch das Einlesen von Tasten o. Kontakten möglich.

    Schaltschrank nicht direkt, aber ein komplett geschlossenes Gehäuse. Also an die Tastatur würde ich zum benutzen nicht ran kommen (wär aber auch nicht notwendig), aber die LEDs könnte ich evtl. abgreifen, ja.



    Also momentan gefällt mir die USB -> parallel-Idee am besten, wenn das so einfach ist, wie es sich gerade anhört.. da werd ich wohl gleich mal ein wenig googled.

    Vielen Dank euch schon mal für eure vielen Ideen :)


    Liebe Grüße


    Fipsi

  • Auch mit einem ESP32 wirst du einen Treiberbaustein für deine Relais brauchen.

    Das wär ne Idee, also USB -> I²C -> digital I/O.. dann muss ich da wieder bissl selber basteln.. und wahrscheinlich den Baustein I²C -> I/O noch programmieren.. ich denk mal, da wird's nichts "fertig" geben..

    Es gibt auch fertige USB zu I2C / SPI / RS232 Adapter in der Bucht zu kaufen, aber auch dafür müsstest Du dir etwas zum Schalten der Relais basteln.

  • An ESP hab ich mich bisher noch nicht rangewagt. Ich hab zwar vor ein paar Jahren Arduino schon programmiert und so, aber soweit ich mich bisher mit ESP beschäftigt hab (zugegeben, noch nicht sehr viel, ist der doch noch mal ne Hausnummer höher. Und C ist jetzt auch nicht unbedingt das Gebiet, mit dem ich mich momentan anfreunden will ?(

    Hab auch erst vor 3 Wochen meine ersten Gehversuche damit gemacht und jetzt läuft schon sehr viel damit. Obwohl ich eigentlich von C++ gar keine Ahnung hatte. Bin sehr begeistert von den Möglichkeiten. Die Einarbeitung war nicht sonderlich schwierig. Vom Arduino zum ESP32 ist der Sprung nicht sonderlich groß. Viel Spaß bei deinem Projekt! :)

  • Auch mit einem ESP32 wirst du einen Treiberbaustein für deine Relais brauchen.

    Es gibt auch fertige USB zu I2C / SPI / RS232 Adapter in der Bucht zu kaufen, aber auch dafür müsstest Du dir etwas zum Schalten der Relais basteln.

    Ja, das hab ich mittlerweile auch schon rausgefunden, dass der ESP nicht mehr als 10 mA/Pin mag und die Relais bei min. 15 mA liegen.

    So n USB -> SPI müsste ich sogar noch irgendwo rumliegen haben vom Arduino damals.


    Hab auch erst vor 3 Wochen meine ersten Gehversuche damit gemacht und jetzt läuft schon sehr viel damit. Obwohl ich eigentlich von C++ gar keine Ahnung hatte. Bin sehr begeistert von den Möglichkeiten. Die Einarbeitung war nicht sonderlich schwierig. Vom Arduino zum ESP32 ist der Sprung nicht sonderlich groß. Viel Spaß bei deinem Projekt! :)

    Ich werd das auf jeden Fall mal auf dem Schirm behalten, klingt nämlich für mehrere Projekte, die ich noch im Kopf hab, ganz vielversprechend :D


    Perfekt, das ist alles, was ich wollte :D

    Hab's aber irgendwie nicht selbst gefunden. Werd dann wohl erst mal das nehmen und wenn mal mein Projektstress etwas abgeflaut ist, mich an die ESP-Variante ran wagen.

    Danke dir :)


    Liebe Grüße


    Fipsi

  • Hallo zusammen,


    ich hab mir jetzt über Amazon folgendes Board besorgt: https://www.sainsmart.com/coll…annel-5v-usb-relay-module


    Datenblatt von dem Board gibt's nicht, es wird nur auf das Datenblatt de verbauten Chips verwiesen: https://ftdichip.com/wp-conten…ads/2020/08/DS_FT245R.pdf

    Allerdings komm ich auch mit dem zum ansteuern nicht weiter.

    In einer Rezesion wurde folgender Code gepostet:


    Hab jetzt den versucht zu adaptieren, aber irgendwie rührt sich nichts:


    Code
    import serial
    import time
    
    ser = serial.Serial("/dev/tyyUSB0", 9600, timeout=1000)
    ser.write(bytes(0x01))
    time.sleep(5)
    ser.write(bytes(0x01))
    ser.close()


    So wie ich das verstanden hab, müsste doch jetzt eigentlich das zweite Relais anziehen und wieder abfallen? Passiert jedenfalls nichts..


    Liebe Grüße


    Fipsi

  • Code
    /dev/tyyUSB0

    /dev/tyyUSB0 ?


    Servus !

    Das ist der Serial-Port..?

    Laut meinen Google-recherchen ist das, was bei Windoof COMxx ist, bei Linux /dev/tyyUSBx.

    Oder nicht? Oder was willst du mir sagen?


    Liebe Grüße


    Fipsi


    P.S.: Das Board scheint auch zu antworten, weil nämlich ein "1" im Terminal zurück kam.

  • /dev/ttyUSB0 [tty AKA teletype]


    Servus !

    Ich check's nich.

    Hab jetzt Serial Kommunikation, tyy, teletype, usw. gegooglet und ich versteh nicht, worauf zu raus willst.

    In jedem Serial Tutorial heißts auch /dev/tyyUSB0.


    Liebe Grüße


    Fipsi

  • Okay, das war jetzt ne verdammt lange Leitung...

    Muss es beim testen aber richtig geschrieben haben, sonst wär ja ne Fehlermeldung gekommen :lol:


    Hab's jetzt noch mal ausprobiert mit folgendem Code:


    Code
    pi@pi:~$ python3
    Python 3.7.3 (default, Jan 22 2021, 20:04:44) 
    [GCC 8.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import serial
    >>> ser = serial.Serial("/dev/ttyUSB0", 9600, timeout=1000)
    >>> ser.write(bytes(0x01))
    1
    >>> 

    Und Hardware: weiterhin nichts.


    Liebe Grüße


    Fipsi