ESP8266 als Tasterersatz

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Nein ein PC mit Steckkartenoption steht nicht zur Verfügung. Ich habe schon mal eine Kabelpeitsche gesehen die aus einen USB-Port 4x RS232 macht. Jedoch kostet das gute Stück gleich mal 100€. Das wäre es mir nicht Wert!

    Mit einem ESP wäre es mir möglich ein Webinterface zu erstellen und am Ende über eine Webseite die HDMI-Switche zu schalten. bzw. habe ich das schon realisieren können. Aber dann eben mit Relais.

    Mir ist nicht bekannt das der ESP8266 einen bzw. 4 Rs232 realisieren kann.

    Franky07: was bedeutet Mulit Master fähig? Bei meinen Messungen am Taster hatte ich einen unendlichen Wiederstand. Somit sollte deine Vermutung stimmen.

    Fliegenhals: ein Relaiboard hatte ich noch rumliegen. von daher war es für mich einfacher zu realisieren. Aber wie schon geschrieben das muss / soll so nicht bleiben.

  • Moinsen,

    Mir ist nicht bekannt das der ESP8266 einen bzw. 4 Rs232 realisieren kann.

    Das ist ganz einfach. Der ESP8266 hat eine UART Schnittstelle mit TTL-ähnlichen Pegeln. Damit man wenn man die Pegel der Gegenstelle nicht kennt, immer schön Kompatibel bleibt, setzt man das TTL Signal über einen MAX232 auf die Spannungen um, die normal für eine RS232 Übertragung vorgesehen ist. Damit kann man aus den über beide GPIOs RX / TX eine serielle Kommunikation aufbauen.

    was bedeutet Mulit Master fähig? Bei meinen Messungen am Taster hatte ich einen unendlichen Wiederstand. Somit sollte deine Vermutung stimmen.

    Multi-Master bzw Multi-Host bedeutet, dass diese CPU nur mit einem HOST also einer solchen seriellen Schnittstelle arbeiten kann.
    Du brauchst allerdings für 3 dieser Switches logischer Weise 3 Schnittstellen. Das geht aber mit einem ESP8266 nicht. Deswegen hatte ich angeführt das man ein Signalsplitting über einen Multiplexer, auf einen MAX208E machen könnte, der dann aus einem GPIO Paar, über den Multiplexer nacheinander jeweils diese 3 Hardware Schnittstellen bedienen könnte. Allerdings muss man dann auch noch den Multiplexer steuern, und den Code dafür mit in das Programm des ESP aufnehmen.
    Bequemer wäre es allerdings, hier auf einen RasPI PICO W zu setzen, der über 2 HW UART Schnittstellen verfügt, und zudem auch via SoftSerial eine dritte serielle Schnittstelle bereitstellen kann.
    Wenn man allerdings auf die akt Beschaffungslage schaut, wäre der Weg über 3 dieser MAX232 dem Weg über nur einen MAX208E vorzuziehen. Klar der MAX208E würde hier nun auch zu einer erheblich Platzersparnis führen, und auch die Außenbeeschaltung wäre nicht so hoch / Platzverbrauchend, aber...
    Dir bleiben nach meiner Betrachtung, und dem Blick auf das technisch verfügbare Material nur der Weg mit dem ESP8266 über einen Multiplexer, und drei dieser MAX232 Chips die nacheinander angesprochen werden können, was bei dir kein Problem wäre, da die Datenrichtung immer vom Controller zu den Switches läuft. Oder du sattelst auf einen PICO W , möglicher Weise einen ESP32 ( Wobei ich hier noch keine Erfahrungen habe, ob damit 3 Serielle Schnittstellen möglich wären ) um, und verwendest pro GPIO Paar RX / TX einen eigenen MAX232 der jeweils auf eine RS232 9-Polige Buchse hinaus läuft, oder schließt dort deine Kabel direkt an, die dann in einen Stecker ( männlich ) münden, welcher an den / die Switches angeschlossen wird.

    Franky

    Einmal editiert, zuletzt von Franky07 (2. Januar 2023 um 11:06)

  • Da die Switche keine Hardwareflußsteuerung verwenden, kommt man mit Rx & Tx (inkl. GND) aus. Bei Verwendung eines Multiplexer bräuchte es eigentlich nur einen RS232 Pegelwandler zwischen den Switchen und dem Multiplexer ( welcher nur die TTL Signale multiplext ) Ich bin kein Programmierer, aber ich vermute mal, dass man diese Aufgabe auch per Softerial lösen könnte.

    tutter für was brauchst Du denn den 4. Com Port?

  • Moinsen

    Ich bin kein Programmierer, aber ich vermute mal, dass man diese Aufgabe auch per Softerial lösen könnte.

    Und genau an dem Punkt beginnt es, sich mit den HW Details zu beschäftigen.
    "SoftSerial" ist denkbar. Muss man aber nicht nutzen, wenn man wieder Board-Abhängig, frei auf die RX / TX GPIOs zugreifen kann. Dafür würde "Serial" ausreichen. Nur ist dann die Frage, weil die genauen Board Daten des verwendeten ESP8266 basierten Controllers nicht genannt wurden, ob für den Multiplexer die vorgesehenen GPIOs für I²C SDA / SCL frei wären. Denn "Serial" mit "SoftI2C" verträgt sich nicht auf einem ESP8266, wenn zudem auch noch ein WEB-Host aktiv ist, das führt unweigerlich zum Absturz. Auf den größeren Boards mit voller PIN Belegung, also wo getrennte GPIOs für SDA + SCL und RX + TX zur Verfügung stehen - kein Problem, wenn man für den Übertragungsmoment /-Zeitraum die Webschnitttstelle kurzzeitig abschaltet / bzw. die Rückmeldung aus dieser via einer Interrupt-Sperre unterbindet, oder gleich auf ein eine leistungsstärkere CPU wie den ESP32 / RP2040 setzt.

    Hier ist die unbekannte Größe, wie die GPIO Belegung auf dem vom TO favorisierten ESP8266 Board aussieht.

    Franky

  • Eine andere Idee welche vielleicht gehen könnte wäre, den Tx Pin vom ESP mit Hilfe eines 4 fach UND Logikgatters, selektiv auf die 3 Switche zu schalten. ( An je einem Gattereingang liegt das Tx Signal vom ESP, mit dem anderen Eingang wird ähnlich wie bei Chipselect das Tx Signal zum jeweiligen Switch freigegeben )

    Die 3 Rx Signale welche von den Switchen kommen, könnte man über 3 Dioden entkoppelt zusammen schalten, da die Switche vermutl. ohne Anfrage keine Daten senden. Man müsste halt überlegen, ob man dass mit CMOS Gattern machen kann, oder für jeden serial Ausgang einen TTL zu Rs232 Wandler IC verbaut.

  • Wenn dass so sein soll, könnte man doch Switch1 & 2 einmal per RS232 wie gewollt konfigurieren ( ich glaube ist sogar die default Einstellung ) und dann verhindert man, das diese beiden Switche 1&2) das IR Signal empfangen können. Danach kannst Du an deinem Switch 3 beliebig die Eingänge per IR Fb hin und herschalten. Oder war das nur ein fiktives Beispiel? Wenn sich kein PC o.ä. in der Nähe deiner Switche befindet, was für Quellen schaltest Du denn mit deinen HDMI Switchen?

  • raspbastler mir ist tatsächlich aufgefallen das ich ein solches "leises" Relai-Board noch mein Eigen nennen kann. Aber wo wäre jetzt der Spaß?

    Ich will jetzt das es auch mit den Transistoren funktioniert.

    Meine Idee:

    Die Relais werden durch BC337-25 "getauscht". Nach dem ich mich wieder mal mit denen beschäftigt habe ist mir dann auch aufgefallen warum ihr alle so auf das Thema Netzteil der HDMI-Switche eingegangen seit.

    Alle Transistoren müssen ja mit der Masse des HDMI-Switches verbunden sein und zusätzlich müsste der ESP auch noch mit der Masse verbunden sein.

    Oder mit meinen Worten: alle 3 HDMI-Switche müssen über die Masse verbunden sein und zusätzlich muss auch der ESP über die Masse mit den HDMI-Switchen verbunden sein.

    Ok das sollte ich hinbekommen.

    Ich meinen Testaufbauten habe ich eine LED mit 5V betrieben. An der gleichen Masse habe ich eine 3V Quelle (soll der ESP sein) den Transistor schalten lassen. Das hat besten funktioniert.

    Somit würde doch nichts gegen eine Realisierung per ESP sprechen? Oder habe ich irgendwas übersehen?

  • Moinsen,

    Du hast 3 Möglichkeiten im Original deine Switches zu steuern, über die Tasten, über ein RS232 Signal-Code, oder über eine IR- Fernbedienung.
    Relais sind Toll, weil diese gleich gegenüber dem schaltenden Controller und damit auch untereinander eine galvanische Trennung mitbringen.
    Das heist keine Spannungspotentiale von dem einen Switch können auf einen anderen Switch oder den Controller überspringen. Wenn du das klassisch mit einem Transistor als Relais-Ersatz bewerkstelligen willst, musst du alle Komponenten über eine gemeinsame Masse verbinden. Das heist aber auch das Spannungspotentiale die über die HDMI Quellen zu den Switches eingestreut werden sich auf alle Komponenten auswirken, und ggf diese sogar zerstören können.
    Du kannst diese / deine vorhandenen Relais durch REED-Relais ersetzen, die machen auch keinen Krach ;) Oder nimmst wie schon gesagt SSR ( Solid State Relais ). Damit umgehst du alle Probleme die durch einen Potentialunterschied auftreten könnten ( Und das weiss man dann immer erst hinterher wenn alles zusammengebaut ist, ob solche Probleme auftreten könnten ) !
    Damit hast du allerdings eine sehr hohen Aufwand wenn jedes Relais für jeden Taster über einen GPIO des ESP gesteuert werden soll, oder du weichst auf einen Portexpander aus.
    Nachteil dieser Methode ist auch klar zu benennen, dass du ausser dem Bildsignal keine Rückmeldung vom Switch bekommst, ob der Umschaltvorgang stattgefunden hat. Diese zusätzliche Rückmeldung erhältst du nur wenn du den / die Switches via RS232 ansteuerst, denn dort kannst du den PORT Status abfragen. Bei allen anderen Methoden bleibt nur die Hoffnung, dass alles gut gegangen ist, oder der Schaltvorgang wirklich vollführt wurde.

    Wenn du einen MAX232 ( oben schon mehrfach erwähnt. und auch das Datenblatt beigefügt ) verwendest, dann brauchst du 2 GPIO-Pins RX und TX sowie einen Masseabgang und eine Quelle am ESP der 5 Volt für den MAX232 bereitstellt. Damit kannst du einen Switch vollkommen frei bedienen, und schalten, und erhältst sogar noch eine Rückmeldung welcher Ausgang / Eingang gerade aktiv ist.
    Das ist alles nicht das Problem, solche Platinen mit RS232 Buchse gibt es fertig zu kaufen, oder man baue es sich selber.
    Nun kommt aber der Faktor hinzu, den du genauso wie wir nicht einschätzen können, oder vorhersagen können, ob sich zwischen diesen vielen Gerätschaften eine Potentialspannung aufbaut, die ggf zur Zerstörung einzelner Komponenten führen kann. Also rückt wieder der Punkt der galvanischen Trennung in den Vordergrund.

    Zwei Signalleitungen RX und TX via eines Optokoppler-Paares galvanisch von dem Rest zu trennen ist nicht das Problem. Nur kannst du mit einem ESP8266 keine 3 Serielle Schnittstellen direkt über drei GPIO-Paar aufbauen, dass geht mit diesem µC nicht. Also musst du mit dem Leben was du hast, oder änderst deine Grundsatzbedingungen und entscheidest dich für einen anderen leistungsstärkeren µC ( PICO W / ESP32 ) !?
    Aber bleiben wir beim ESP8266, der nur einen UART HOST hat, oder bedienen kann, dabei ist es egal ob mit "Serial" auf den dafür gemäß PINOUT vorgesehen Pins, oder mit "SoftSerial" auf einem x-beliebigen GPIO-Paar ! Aber nun willst du ja 3 dieser Switches steuern. So ersehe oder erlese ich das deinen Ausführungen.
    Damit musst du eine Möglichkeit schaffen wie du mit einem HOST drei Schnittsellen bedienen kannst.
    Das kann man über einen Multiplexer machen, oder du gehst den Weg von Fliegenhals das du mit je einem freien GPIO einen Eingang eines UND Gatters ( wobei AND Gatter eher die Ausnahme sind -> Also wieder eine Ersatzschaltung aus NOR oder NAND Gattern ) und das TX Signal auf den zweiten Eingang des UND Gatters leitest. Ja das könnte funktionieren, nur musst du dann diese Gatterschaltung auch 3 mal aufbauen, und zudem brauchst du auch wieder pro Ausgang einen MAX232, oder kombiniert als Single-Alternative einen MAX208E ! Das heist aber auch 3 zusätzlich freie GPIOs die je nach Ziel ( Switch ) auf High geschaltet werden müssen. Da das ginge Theoretisch auch.
    Der Muliplexer braucht nur 2 GPIOs zu Steuerung und nutzt den I²C Bus.
    Was allerdings nicht funktioneren wird, wie es Fliegenhals vorgeschlagen hat, dass du das RX/TX des ESP mit nur einem MAX232 Pegelwandeln tust, und dann erst mit diesen Logikgattern splittest. Der maximale Spannungsbereich der Pegel bei RS232 mit Delta 30 V würden jedes Logikgatter verglühen lassen.
    Von der Programmierung ist Fliegenhals Methode mit direkt schaltenden GPIOs zur Zielbestimmung natürlich einfacher umzusetzen. Die Frage die ich nicht beantworten kann, weil solche Experimente ich noch nicht gemacht habe, ob die Flankensteilheit gewährleistet bleibt. Kann man auf jeden Fall probieren. Den Eingang RX kann man dann nicht über Dioden, die einen Spannungsabfall, und damit eine Pegelverschiebung herbeiführen mit einem ODER Gatter lösen. Nur muss man dann auch mal das Protokoll der Switches im Vorfeld testen, ob diese nicht auch ungefragt irgendwelche Statusmitteilungen senden, und somit eine Signalvermischung entstehen könnte. Man(n) Kann auch diesen Aufbau des TX auf den RX spiegeln so das der Eingang einzeln zugeschaltet wird, aber die Summe dann dennoch wieder ODER verknüpft wird.


    Es gibt immer viele Wege. Nur muss man die örtlichen Gegebenheiten sehr genau kennen und richtig einschätzen, sonst kann ein solcher Schaltunsgaufbau auch sehr schnell zum Desaster werden.

    Wenn du Spass am basteln hast, würde ich unter dem Gesichtspunkt Sicherheit und dir die Kosten relativ egal sind, aber der Programmieraufwand gering bleiben soll, die Methode aus Optokopplern für TX/RX sowie der Ausgangsschaltung von Fliegenhals, jedoch dann am Eingang RX die erweiterte oben genannte Methode aus UND und ODER Gattern verwenden. Das erspart dir sehr viel Stress bei der Programmierung des ESP8266. Wenn dir das zu Materialaufwendig ist, dann die Methode via Optokoppler in einen Multiplexer und dann auch wieder auf drei getrennte MAX232 !
    Vielleicht finde ich heute Nachmittag mal Zeit dir das als Schaltbild aufzuzeichnen.

    Franky

  • also erstmal ein Megagroßes Dankeschön Franky07!

    Mein Ziel ist es immer noch die Relais "loszuwerden". Nach dem ich mich ein wenig mit Optokopplern beschäftigt habe, finde ich diese Lösung am besten.

    Auf der Suche nach ein paar Optokopplern bin ich dann auf den PC817 gestoßen den ich mir jetzt mal zulegen werde. Aus meiner Sicht sollte der passen oder?

    Was ich ebenfalls entdeckt habe ist ein Board mit Optokopplern.

    Link zum Board [Anzeige]

    Wenn ich dann noch meinen ESP8266 mit einem Multiplexer ausstattet sollte ich genügend Möglichkeiten / Ports haben um mein Vorhaben umzusetzen.

    Mein Wahl fiel auf diesen:

    Multiplexer [Anzeige]


    Für zukünftige Experimente habe ich hier eine schöne Lösung für RS232 entdeckt:

    RS232 [Anzeige]

    Ich denke das wäre eine sehr gute Lösung für mich oder was denkt über mein Vorgehen?

  • Moinsen,

    ich fange mal gleich an zu meckern ;)

    Was ich ebenfalls entdeckt habe ist ein Board mit Optokopplern.

    Das Teil ist zwar schön, aber du musst es dann auch richtig anklemmen, weil einmal geht das Signal in die eine Richtung, und dann wieder in die andere Richtung - RX und TX, und damit müsstest du die Kabel überkreuzen. Das macht man bei digitalen Signalleitungen nicht. Also bleibt dir nur der entweder Platzverschwendende Wege 2 solcher Platinen zu kaufen, dass jede Platine immer nur für eine Signalrichtung genutzt wird. Oder du baust dir das selber, was als Testschaltung auch mit einfachen Lochrasterplatten und DIP Schaltkreisen möglich wäre, und die anderen Bauelemente sind dann in bedrahteter Ausführung. Das hat den Vorteil das du auch den Rest mit auf die Platine bekommst.

    Wenn ich dann noch meinen ESP8266 mit einem Multiplexer ausstattet sollte ich genügend Möglichkeiten / Ports haben um mein Vorhaben umzusetzen.

    Mein Wahl fiel auf diesen:

    Das ist ein I²C gesteuerter I²C Multiplexer der das Multiplexen von einem I²C Bus unter einer erweiterten Adresse auf mehrere I²C Slaves mit gleicher Adresse ermöglicht. Das nützt dir aber Null Komma gar nichts, denn in deinem seriellen Signal ist keine Adresse enthalten. Also Pfeffer !
    Nun will ich nicht nur meckern, sonder dir auch einen Lösungsweg aufzeigen.
    Hier könntest du u.a. den 74HC253 verwenden. Nur musst du auch hier bei der Eingangszuweisung die Signalrichtung beachten.
    Was du aber nicht vergessen darfst , der Optokoppler macht nur Sinn, und erfüllt seinen Zweck, wenn der Teil nach dem Optokoppler auch sowohl Vc wie auch GND getrennt läuft. Deswegen würde ich an deiner stelle erst das Signal durch den Multiplexer jagen, dann die Optokoppler zwischen Multiplexer und MAX232 setzen, aber dann brauchst du eine extra Stromversorgung für die MAX232 !? Oder du suchst dir passende Optokoppler die auch mit -15/+15Volt klarkommen, und gehst damit nach den MAX232 - was aber auch wieder nicht so optimal ist. Oder noch einfacher, du nimmst anstatt der Optokoppler 1:1 Übertrager ( so eine Art Trafo ) die induktiv arbeiten, aber keine Pegelverschiebung verursachen. Für den einfacheren Aufbau wäre aber die Methode mit dem 5V Extra Netzteil für die MAX232 einfacher umzusetzen.

    Für zukünftige Experimente habe ich hier eine schöne Lösung für RS232 entdeckt:

    Die Teile sind im Prinzip nicht schlecht, aber hier musst du die Beschaltung ausmessen, und ggf die Kabel zu den Switches selber bauen, denn auch die Switches haben weibliche Buchsen, und das verheißt nix gutes ;) Es könnte sein das du dann Null-Modem-Kabel benötigen würdest die es heute eher nur noch selten, bzw stark überteuert gibt. Aber wegen 3 Drähtchen an einen solchen Stecker ( Männlich ) anzulöten, deswegen sollte die Welt nicht untergehen.

    Die Optokoppler als Typ ist okay, aber die Platinenlösung eher kontra !
    Ich würde bis einschließlich dem Multiplexer alles aus dem ESP mit einer VC versorgen. Dann die Optokoppler in der richtigen Richtung, und dann mit einer zusätzlichen Stromversorgung ggf. auch diese RS232 Platinen versorgen.
    Nur wird dann die Programmierung für den Multiplexer sehr komplex !

    Nur um auch wieder auf die Kosten geschaut, und wenn ich auf die Preise vergleiche, und den Aufwand bei der Programmierung betrachte, mit dem Wissen das man sowas auch selber zusammenlöten kann, kommst du mit er erweiterten Variante aus UND und ODER Gattern ( in der Ersatzschaltung aus NAND ) deutlich günstiger. Zumal du die Setzung der Eingang und Ausgänge mit jeweils einem GPIO pro Serieller Abgang nur durch eine HIGH Setzung bewerkstelligen kannst. ( Das kann man über eine Klasse die die drei GPIOs zur Aktivierung des jeweiligen Ausgangs kennt, und nur zum senden deine Switch-Port-Nummer übergibst, sind das knappe 20 Programmzeilen. Kostet zwar etwas mehr Platz als nur ein Multiplexer, aber wenn du eh ;)
    Der passende bedrahtete Optokoppler ( mit Beinchen für eine Lochraster Platine ) wäre auch nicht das Problem.

    Als Abschluß noch folgende Randbemerkung: Das du einen µC gesteuerten RS232 Multiport Expander mit galv . Trennung aus irgendwelchen Fertigplatinchen mit irgendwelchen Schraubklemmenverbindnungen zusammenstückeln kannst, der zudem noch sicher funktionieren soll, die Idee, den Gedanken kannst du gleich und sofort beerdigen.

    Franky

  • Moinsen,

    für alle die sich die Mühe machen möchten, das Projekt eines 3 -Fach Portexpanders für RS232 mit nur einer seriellen Schnittstelle umzusetzen, und dabei die Ausgangszuweisung via einzelner GPIOs mit Hilfe eines µC umsetzen möchte.

    ( Der Teil "Kondensoatorbeschaltung" am MAX232 ( Derivaten ) ist nicht eingezeichnet, kann aber dem Datenblatt entnommen werden ! )

    Mit Pegelanpassung GPIO 3,3 V auf 5.0 Volt TTL Signal einer Eingangs- und Ausgangszuweisung getrennt, ohne Signalüberlagerung im RX Kanal kann mit etwas Bastel- und Lötaufwand diese Schaltung umsetzen. Alle Logikgatter sind 74HC NAND Gatter. Die NPN Transistoren sind BC337 und alle MOSFETs ( N-Chanel ) sind 2N700.

    Der MAX232 ist hier in der DUAL Variante zum Einsatz gekommen. ( Kann aber auch durch die Single Variante, oder den Quad-Typ MAX208E ersetzt werden )
    Bei der Programmierung ist nur zu beachten, das vor dem Gebrauch der seriellen Schnittstelle, einer der 3 GPIOs auf High gesetzt werden muss, und somit Ein- wie Ausgangsseitig eine Zuordnung zu den entsprechenden 9-Poligen Buchsen für die Kabel zum Switch oder einem anderen Ziel, stattfindet. Nur auf dem Kanal der via GPIO -HIGH gesetzt ist, kann gesendet und empfangen werden.

    EDIT: Damit stellt diese Schaltung den in #43 von Fliegenhals Vorschlag für die Umsetzung des TX Kanals, jedoch mit einer Absicherung und Erweiterung im RX Kanal dar.
    Jedoch sind mit dieser Schaltung auf Grund der Latenzen in den Logikgattern nur Übertragungsraten bis 28 KBaud umsetzbar.

    Franky

    2 Mal editiert, zuletzt von Franky07 (4. Januar 2023 um 08:35)

  • Franky, ich bin mir nicht sicher, ob ich dir folgen kann.
    Will tutter nicht einfach die Taster mit den Optokopplern überbrücken? Da geht es doch nicht um Rx und Tx und Signalrichtungen. Und was die Porterweiterungen angeht - da ist doch ein Multiplexer hier auch nicht so das Gelbe vom Ei - zumal der vorgestellte vier Eingänge und einen Ausgang hat, wenn ich das richtig sehe. Das nützt doch hier nichts. Genügt nicht im Zweifel ein MCP23017 oder sowas? Außerdem baucht er für die 3 x 4 012 Taster doch eh nur 12 GPIOs - das sollten die meisten ESP32-Boards bieten.

    Geht nicht der größte Teil deiner gutgemeinten Ausführungen etwas am Thema vorbei?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Moisnen,

    so wie ich den Beitrag aus #51 erlese, will er die Relais die zZ parallel zu den Tastern geklemmt sind ersetzen.
    So nun hat er zwei Möglichkeiten, entweder, er bleibt bei einem Eingriff in die Schaltung, oder er nutzt die RS232 Schnittstelle.
    Die RS232 Schnittstelle bietet lauf Prokollform ( Anleitung ) sogar den Vorteil, dass man den Status auslesen kann. Also hat er das Problem mit dem ESP8266 das er nur eine Serielle Schnittstelle entweder mit Serial ( HW ) oder SoftSerial ( reine SW Lösung ) initiieren kann. Mehrere Serielle Schnittstellen gleichzeitig im INIT Status geht beim ESP8266 nicht !
    Also Multiplexer, für die Splittung des einen Seriellen Ausgangs auf 3 unterschiedliche Buchsen / Kontaktierungen, dass er zu jedem Switch ein serielle Kabel führen kann, oder er macht es aktiv mit Umschalter via GPIOs wie in meinem Schaltbeispiel aufgezeichnet !
    Damit bleibt es bei einer Seriellen Schnittstelle am ESP mit nur 2 GPIOs aber man kann die Ausgänge / Buchsen frei auswählen

    Franky

  • Meines Wissens verfügt der ESP32 über 3 UARTs. Es spricht aber hier sicher auch nichts gegen softserial. Zumal man ja nicht alle drei wirklich zeitgleich benötigt, sie also auch nacheinander aktiviren und schalten kann.

    Außerdem ist man, wenn ich das richtig in Erinnerung habe, beim ESP auch relativ frei in der Zuordnung der Pins - man könnte also die drei Tx Leitungen an drei verschiedene Pins anschließen und den UART dann an den jeweiligen Pin legen, wenn man Daten senden will.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Franky07 Ich habe mir auch ein paar Oktokoppler gekauft. Also vom Prinzip her lässt sich hier schon was bauen.

    Das mit den TX und RX habe ich aber überhaupt nicht verstanden. Woran erkennst du das? Gibt es hierzu irgendwo noch etwas zum nachlesen?

  • Moinsen,

    Meines Wissens verfügt der ESP32 über 3 UARTs. Es spricht aber hier sicher auch nichts gegen softserial.

    Wenn man nur einmal in die Themenüberschrift geschaut hätte, und den ersten Beitrag gelesen hätte, sowie dessen Kernaussage sich gemerkt hat, dann schieb der TO bisher immer von einem ESP8266 !
    Dieser kann wie ich schon verlinkt hatte, nur einen HOST darstellen, nutzen oder betreiben, und dabei ist es egal ob via "Serial" oder "SoftSerial" . Zu mehr ist dieser Single Core CPU nicht fähig.
    Und auch beim ESP32 kommt aus auf das BOARD drauf an, Grundsätzlich ist eine serielle Schnittstelle an 2 GPIOs ( RX / TX ) fest gebunden, aber man kann auch andere GPIOs dafür verwenden. Und da es hier nicht um eine Synchrone Multi-Channel Übertragung geht, ist es vollkommen egal ob er sich nun alternativ für ein ESP32 oder einen RasPi PICO W entschieden hätte. Nur um das mal aufzuklären.

    Franky

  • Moinsen,

    das ist doch ganz einfach !

    TX steht für Transmit, also Senden. Also geht das Signal aus dem µC Board raus. Also muss die Seite des Potokopplers der die Lichtquelle hat, ( LED ) oder Eingang von diesem GPIO TX angesteuert werden.

    RX steht für Receive, also Empfangen. Somit muss das Signal was aus dem MAX232 ( Schnittstellen Schaltkreis = Wandler ) über den RX-OUT Pin und nun einen TTL ( 5Volt ) Pegel hat über einen Vorwiderstand mit der LED Seite des Optokopplers als dessen Eingang verbunden werden. Und der Ausgang geht dann wieder zum GPIO des µC der als RX vorgesehen ist.

    Franky

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!