IR Recieve Asynchron möglich?

Hallo und guten Abend,
ich habe eine kurze Frage.

Gibt es für eine IR Fernbedienung die Möglichkeit, diese asynchron abzufragen?

Ich habe das Problem, dass ich auf einem ESP8266, relativ lange in einigen voids rumdümpel und die IR entweder falsch, oder gar nicht interpretiert werden.

Ich hab auf dem ESP auch ein AsyncWebServer, den wollte ich aber durch eine IR ersetzen, weil sich der WebServer immer wieder aufhängt.

Da tippe ich mal auf ein paar unmotivierte delay()´s.

Tatsächlich nicht. Mein Sketch läuft bis auf ein, zwei Ausnahmen (delay(1)) ohne weitere Verzögerungen.
Alles andere ist mit Timern gestaltet.

Hast du noch eine serielle Schnittstelle frei?

Dann würde ein solcher Modul gut funktionieren:

1 Like

Ja geil…das ist eine wirklich gute Idee.
Schade dass ich da nicht selbst drauf gekommen bin.

Warum möchtest du den Webserver durch einen IR-Receiver ersetzen ?
Gibt es da Gemeinsamkeiten?

Ich vermute da gravierende Fehler in deinem Sketch.
Was genau macht der Webserver, was der IR besser kann ?

Vor allem verstehe ich nicht, warum alle Welt den nicht sehr stabilen Async-Webserver benutzt und nicht den viel stabileren "normalen" Webserver.

Gruß Tommy

Deswegen warte ich auf eine aussagekräftige Erklärung des TO, was das Ganze werden soll.

Also, ein ESP8266, mit AsyncWebServer steuert verschieden Modi einer Stehlampe mit NeoPixel. 144 LED auf einen Meter.
Über Buttons I’m Webbrowser steuere ich eine Variable (int Mode) von 0 bis x.
Darunter sitzt ein Switch Case auf die Variable und springt in die Voids.

Bei hochfahren verbindet sich der ESP mit meinem WLAN, ich öffne den Webbrowser und kann die Modi schalten und über eine Schieberegler die Helligkeit wechseln.

Selbst wenn ich nichts steuere oder die Seite aktiv halte, kann ich nach mehr mal nach weniger Zeit den Webserver nicht mehr erreichen…wenn ich’s dann doch versuche macht der ESP ein reboot.

Hab eigentlich an vieles gedacht.
HTML in POGMEM, keine Delays, schlankes Design des Sketches usw.

Trotzdem…was ich auf jeden Fall sagen kann, das es bei einem Modi am häufigsten auftritt. Vielleicht schreib ich indirekt in einen Adressbereich (wenn das überhaupt geht) oder was weiß ich, ich find es nicht… :grin:

Warum nimmst Du nicht den normalen Webserver des ESP8266?

Gruß Tommy

Weil der AsyncWebserver auf meine Anfrage reagiert während er noch andere Sachen berechnet.

In meinem Fall, beim Bau einer Lampe, (unter anderem) eine for Schleife, innerhalb derer der ESP die Anfrage an den Server nicht bearbeiten würde und ich die Helligkeit nicht ändern kann. Die Anfrage dauert dann 1-2/3 Sekunden.

Er läuft das Programm erst zu Ende, wechselt die Helligkeit und dann geht’s weiter.

Das ist weder schön, noch Praxisnah, noch elegant.

Edit: Vielen Dank, Gruß Robert

Dann ist Dein Programm fehlerhaft aufgebaut.

Gruß Tommy

Erklär mir das?

Der ESP muss doch das HTML.get Event aktiv bearbeiten, oder?
Abbruch Bedingung in der for Schleife wollte ich vermeiden….

Wofür brauchst Du eine (blockierende) for-Schleife? Du hast doch loop.

Gruß Tommy

Weil ich kein Bock hatte, mit Schleifen Zähler alles händisch zu programmieren :sweat_smile:

Außerdem hab ich ja die Möglichkeit des AsyncWS gefunden, deswegen war das für mich am prädestiniertesten…

Dann musst Du halt mit den Problemen leben - Deine Entscheidung.

Gruß Tommy

Du hast gelesen das es sich um einen Spaß handelte? Es hat nichts mit kein Bock zu tun, sondern eher, dass es mich genervt hat, dass der Server nicht läuft, obwohl er eigentlich müsste.

Hab trotzdem dank für deine Mühe.

Das ist ein eindeutiges Zeichen dafür, daß dein Sketch fehlerhaft programmiert ist. Allerdings lese ich aus deinen letzten Posts, dass du es nicht ändern möchtest.
Somit sind weitere Tipps und Infos vergebene Mühe.

Wo liest du das?

Ist das hier gerade wieder die typische Problematik eines Forums, wo die Leute wieder jedes Wort auf die Goldwaage legen, nur weil jemand sich erdreistete im Anfall eines Witzes von “keinem Bock” zu sprechen?

Deswegen meide ich Foren. Nervt mehr, als das Problem an sich.
Da sind die Leute in den Englischsprachigen Pedanten aber aufgeschlossener…

Du darfst meine Gedanken nicht mit dem Forum verwechseln. Ich bin nicht das Forum.
Und dein Beitrag hat sich für mich eben so gelesen. Wenn jemand keinen Bock hat, zu programmieren, entnehme ich dem, da soll auch nichts repariert werden.

Aber Ok, dann habe ich dich wohl falsch verstanden. Sorry dafür.