wie bekommt man die GPIO-Zuordnung heraus

  • Hallo

    Ich bin neu dazugestoßen und stehe noch nicht so im Stoff, man möge mir also verzeihen wenn die Fragen schlecht formuliert sind. Das liegt am Wissensstand.


    Ich hab mir eine LED-Tischlampe gekauft die Smart sein soll, eine HUGOAI HG02. Man kann sie per App SmartLife von Tuya steuern. Bin dann über die Anleitung zum flashen gestolpert und hab jetzt auf dem verbauten TYWE3S Chip Tasmota drauf.

    Die Lampe meldet sich mit eigener IP und nun muss ich das Modul konfigurieren, wenn ich das richtig verstanden habe. Ich muss also den einzelnen GPIO's die jeweilige Funktion zuordnen. Aber wie bekommt man die heraus? Die Lampe (WRGB) ist nirgends aufgeführt. Die Infos die mir Google ausspuckt sind sehr rar. Hilft da nur probieren? Und was ist der unterschied zwischen Relay1 und Button1 und was hat das "i" dahinter für eine Bedeutung?

    Ich hab mir auch das Innenleben der Lampe schon mal angeschaut, die einzigsten Leiterzüge die ich sehe sind RXD und TXD sowie EN (vermutlich), mehr kann man nicht erkennen. Es gibt auch kein Relais da drauf, wird alles nur mit Taster geschaltet.

    Weiß jemand weiter?


    vielen Dank

  • Könntest Du ein Bild der Platine mal Online stellen?

    Wenn der Schaltplan nicht sicher ist, muss man anhand der Platine schauen wo die Leitungen hinführen.
    Weißt Du denn welcher ESP verbaut ist?

    Versuch mal bitte gute Bilder zu machen. '
    Vielleicht kann man anhand dessen helfen.



    Eine Erklärung zu Deiner Frage findest Du hier:

    https://github.com/arendst/Tasmota/wiki/Buttons-and-switches

    Grüße

  • Hmm, wäre ja alles zu einfach :)

    Basis ist hier ein ESP8266 (1MB) in ESP12 bauweise.
    Platinen Layout sieht wie folgt aus:

    schimmer-media.de/easymedia/image/8/


    GPIO_0 wird denk ich mal, wie bei 90% der anderen Controller, der Button sein.


    Habe jetzt auch keine Dokumentation zu dem Teil gefunden, ist ein wenig rar was Daten dazu angeht.

    Ich würde spaßeshalber mal unter Config : H801 versuchen.

    Alternativ: Generic auswählen und GPIO selbst zuweißen.

    Dazu ein wenig Lektüre: https://tasmota.github.io/docs/#/Lights


    Ich hoffe ich konnte ein wenig helfen.


    Grüße

  • Mit dem Config kenne ich mich noch nicht so aus wie man den Syntax schreibt. Ich hab bis jetzt immer unter Configure Module einstellungen versucht zu speichern (siehe Bild) allerdings bis jetzt ohne reaktion. Wäre das so richtig wie im Bild eingestellt? Aber da hab ich nichts zum schalten oder drücken?


    Sollte man von Irgendwelchen GPIO's die Finger lassen?

    RXD und TXD bzw. EN gehen ja noch zum Chip herüber? Könnten die noch eine Funktion haben zum schalten?

  • Kannst ja erstmal versuchen, das Module type : H801 ( in der Liste )

    Vielleicht hast Du ja Glück und die GPIO zuordnung passt mit deiner Platine überein.


    Ansonsten, musst Du Dich mal durchtesten, leider.

    Mit der Original-Software:
    Multimeter nehmen und einen Schaltvorgang machen, dabei die GPIOs messen.
    Also + an GPIO und - an GND ( Masse )

    Sehr aufwendig. Dabei sollte man natürlich Vorsicht walten lassen damit man was nicht brückt.

  • An letzteres hatte ich auch schon gedacht. Einfach die GPIO's ausmessen und schauen wie sie reagieren. Sind also gegen Masse zu messen und liegen bei 3,3V schätze ich mal?


    Könnte man das Modul zurück flashen, wenn man die *.bin Datei, die man gesichert hat wieder aufspielt? Ich überleg nur gerade wie das mit der IP-Adresse ist? Beim Flashen wurde doch eine Umgebung mit 10.45.45.45 aufgebaut, jetzt hängt das ja im Heimnetzwerk? Findet ihn das tuya-convert denn noch?

  • Du kannst aber auch, so habe ich das schon öffters gemacht,

    auf generic stellen und nach und nach den GPIOs z.B. LED1 bzw. LED1i(invers) zuweisen und sehen was passiert;):/

    Was nicht passt wird passend gemacht ! :D

    Es giebt immer verschiedene Wege zum Ziel, man muß sie nur finden;)

  • Nach ausführlichen Tests gibt es nun Neuigkeiten bei der Belegungssuche.

    Ich hoffe mir kann jetzt jemand weiterhelfen.

    Herzstück der Lampe ist ein MINI58ZDE der die Tasterbefehle auf PIN 3; 5 und 6; 7; 8; 9 entgegen nimmt (die 33-Pin Variante)

    Mit dem ESP8266 werden nur Daten über TXD, RXD und EN ausgetauscht. Der Rest des ESP ist nicht angeschlossen.

    Wie bekommt man nun die Schaltbefehle heraus, die man per Funk schicken muss?

    Kann man das mitloggen, was da so über das Netz geht? Normal muss die Lampe die Befehle ja auch zur App schicken.

  • Zitat

    Mit dem ESP8266 werden nur Daten über TXD, RXD und EN ausgetauscht.


    Und hier wird die Geschichte zum Problem.
    Serial Befehle.. Solange Du die nicht kennst, sehe ich persönlich keine Chance da irgend was zu machen.


    Daten werden dann vom ESP per TX an den Chip gesendet und RX Empfängt.

    ( RX steht für Receive und TX für Transmit)

    Versuche trotzdem mal folgende GPIO Zuweisung:

    GPIO0 = LED2i, GPIO2 = LED1i, GPIO13 = Taste1, GPIO15 = Relais1

    Ansonsten hätte ich keine Idee das Gerät zusteuern

    ( mit Original kannst Du die ja per Alexa Steuern, somit auch über IOBroker )

  • Das Modul agiert also als Seriell-Wifi-Adapter. Kann man nicht den Datenstrom umkehren? Ich vermute die Lampe sendet mit jedem Tastendruck auch den Befehl ins Wifi. Gibt es bei Tasmota auch eine Möglichkeit die serielle Schnittstelle auszulesen? Irgend einen Serielladapter den man einstellen kann?

  • Hallo Charls,

    hast du bei deiner Arbeit an diesem Projekt eine Lösung für das Problem gefunden?

    Mir stellt sich gerade das selbige und ich wäre daran interessiert mein Vorhaben mit Tasmota umzusetzen.

  • Wenn du einen FTDI Adapter (USB <-> seriell) und einen Lötkolben hast, kann du einen die orginal .bin wieder aufspielen und zum anderen dann den Datenverkehr zwischen ESP + microControler mit einem Terminalprogramm (z.B. Termite) beobachten und auswerten. So ein Adapter kostet nur ein paar Euro fünfzig bei ebay. Bei Datailfragen stehe ich gerne zur Verfügung.

  • Ich hab die Lampe erstmal wieder beiseite gelegt und das Projekt nicht weiter verfolgt. Die Originaldatei hab ich aber noch und kann sie auch wieder aufspielen.

    Ich hab mich aber in letzter Zeit den Arduinos gewidmet und einiges dabei gelernt

    Die Lampe hat einen I2C Anschluss, der den eigentlichen Chip bedient.

    Meine Idee war es, mich mal da ran zu hängen und den I2C mit einem Arduino auszulesen wenn ich Tasten der Lampe drücke. Vielleicht kommt man ja da an was.

    geschild Wenn du dazu mehr Wissen hast, wie man das macht, lass es mich wissen.

  • Die Flachbandkabel gehen zur Lampe und den Tastern auf der Lampe selbst.

    Der Hauptchip der das Licht macht und die Steuerung übernimmt ist ein MINI58ZDE, wie oben schon beschrieben. Dieser hat auch den I2C Anschluss dran,wenn ich das richtig in Erinnerung hab.

    Er wird Seriell vom ESP8266 gesteuert. Der ESP8266 ist nur als Empfänger mit serieller Verbindung konzipiert. Alle anderen Pins sind unbenutzt.

    Meine Vermutung war nun, wenn man sich an den I2C Bus ranhängt kann man vielleicht auch sehen, was die Taster an der Lampe für Befehle bringen.

    Klar, am besten man loggt die serielle Verbindung mit aber da ist kein Anschlusspunkt.


    Zu dem oben genannten Chip hätte ich ja die Eingangspinbelegung (On-Taste, Farbrad, etc.) Wenn man also da ansetzt und diesen via I2C anspricht bzw. neu programmiert, hätte man doch auch das was man seriell übertragen muss, oder?

  • Eine Idee, die mir gerade noch einfällt:

    Ich habe noch eine zweite Lampe ohne WLAN wo der Platz für den ESP8266 frei ist. Dort könnte man ja einen Arduino an die seriellen Pins anschliesen und schauen was beim schalten der Lampe übertragen wird. Anschließend kann man versuchen die aufgenommenen Signale zurück zur Lampe zu schicken und schauen ob sie so reagiert wie beim Tastendruck.

    Vorraussetzung ist natürlich, dass der MINI58ZDE keine andere Programmierung hat, was ich mir aber nicht vorstellen kann.

  • Ich denke der Microcontroller bekommt seine Befehle entweder von den Tasten oder vom ESP. Ist also ohne den ESP an der seriellen Schnittstelle stumm. Solltest du beim Auslesen der seriellen Schnittstelle Unterstützung brauchen, kann ich dir gerne helfen. Ich habe so etwas schon bei anderen Geräten z.B. Dimmern schon gemacht.