Hallo zusammen, ich habe mir für die kalte Winterzeit ein kleines Projekt überlegt, bin allerdings Anfänger auf diesem Gebiet und hätte ein paar Fragen. Das Projekt: Ich besitze einen Staubsaugroboter iLife A4. Dieser kann leider nur über eine IR Fernbedienung gesteuert bzw programmiert werden. Hierbei fehlt mir eine Art Wochentimer bei dem ich z.B. sagen kann "sauge jeden 2. Tag für x Stunden". Es ist nur möglich eine Uhrzeit zu programmieren bei der der Roboter jeden Tag bis der Akku leer ist saugt. Ich habe mir überlegt einen ESP-12S Controller mit der Software ESP Easy zwischen den IR Empfänger und das Mainboard des Roboters zu bauen. Auf dem Controller müsste ich dann die IR Befehle für "Starten" und "ab in die Ladestation" hinterlegen. Das ganze kann dann über das ESP Easy Webinterface jederzeit abgeändert werden. Nun weiß ich noch nicht ganz genau wie ich die IR Befehle am besten auslese und ob ich diese mit einem Befehl an einen GPIO Pin weitergeben kann. " On Clock#Time=Sun,18:00 do // So um 18 Uhr wird der GPIO 2 eingeschalten gpio,2,1 // hier müsste irgendwie der IR Code für Starten rein endon On Clock#Time=Sun,19:00 do // GPIO 2 wird am So um 19 Uhr abgeschalten gpio,2,0 // hier müsste irgendwie der IR Code für Schlafen rein endon " Wie soll ich hier am besten vorgehen? Vielen Dank im Voraus. Foradh
Hallo Foradh, das von dir ausgesuchte Projekt ist nicht ganz leicht, aber von einem Anfänger mit ein bisschen Einarbeitung (der Winter ist lang ;-) machbar. Wichtig ist aber das du das ganze in für dich verständliche Teile aufteilst. Foradh schrieb: > Nun weiß ich noch nicht ganz genau wie ich die IR Befehle am besten > auslese und ob ich diese mit einem Befehl an einen GPIO Pin weitergeben > kann. Schritt 1) IR-Protokoll und benutzte Befehle herausfinden. Dazu eignet sich die IRMP ("Infrarot-Multiprotokoll-Decoder") Software, läuft beispielhaft auf einem ESP8266-EVB. Kommst deiner Wunschplattform am nächsten. https://www.mikrocontroller.net/articles/IRMP Schritt 2) IR-Befehle senden. Dazu gibt es das Gegenstück zum IRMP: IRSND https://www.mikrocontroller.net/articles/IRSND Wurde aber nicht auf eine passende Plattform portiert, gibt aber passende Alternativen: https://github.com/markszabo/IRremoteESP8266 Wie diese genutzt wird gibt es gleich als Komplett-Anleitung mit Web-Interface. Praktisch kannst du das so kopieren: https://alexbloggt.com/universal-infrarot-websteuerung-ueber-esp8266/ Schritt 3) Und solltest du jetzt immer noch auf der Wahl "Software ESP Easy" bestehen wird es interessant. Denn das macht es doch nicht weniger kompliziert. ESPEasy hat mit dem "P035" Plugin schon ein "Treiber" zum senden von IR-Befehlen. Sieht auf den ersten Blick einfach aus. https://www.letscontrolit.com/wiki/index.php/IRTX Aber ob das genau dein benötigtes IR-Protokoll kann ist unwahrscheinlich. Falls nicht ist Plugin(=Treiber) neu schreiben angesagt. Und das ist nicht mehr ganz was für Anfänger. Das hier ist eine Sammlung von solchen Plugins. Einfach mal das "_P115_HeatpumpIR.ino" Plugin anschauen als Referenz. https://github.com/letscontrolit/ESPEasyPluginPlayground
Es gibt auch so lernfähige Universalfernbedienungen. Die Codes lernen, die FB öffnen und die richtigen Taster per uC zur richtigen Zeit auslösen - fertig biste.
Zuerst einmal vielen lieben Dank für die schnellen Rückmeldungen. Allerdings habe ich mich bei einem Punkt wohl eher bescheiden ausgedrückt und versuche es nun noch einmal. Bis zum einlesen der IR Befehle passt noch alles...allerdings möchte ich danach eben NICHT das IR Signal über einen IR Sender übertragen, sondern den Befehl direkt über ein Kabel übertragen. Der Controller ESP-12S soll eben zwischen dem IR Empfänger und der Platine innerhalb des Staubsaugroboter sitzen und das IR Signal direkt mit Kabel auf die Platine übertragen. Wäre soetwas möglich? Vielen Dank im Voraus. Foradh
Hallo, auch das ist problemlos möglich, du müsstest aber vermutlich irgendwo im Sauger die Leiterbahn zwischen IR-Empfänger-IC und Controller auftrennen wenn der Empfänger nicht gerade mit einem Kabel abgesetzt verbaut ist. Diese Variante vereinfacht die Singalerzeugung da du dann die Trägerfrequenz für das IR Signal gar nicht erst erzeugen müsstest. Auch ein Einschleifen in die bestehende Verbindung zwischen Empfänger und Controller ist nicht erforderlich - du willst ja nur senden. Eine Verknüpfung der beiden Signale mit 2 Dioden sollte reichen. Sascha
Vielen Dank für deine schnelle Antwort Sascha. Der IR Empfänger ist meiner Meinung nach vom Controller getrennt (siehe Bild) Somit müsste ich nur zwischen die Datenleitung zwischen IR Empfänger und Mainboard (diese ist mir einem Kabel verbunden) Darf ich nochmal ganz blöde fragen wie jetzt die korrekte Vorgehensweise aussehen würde? 1. Ich lese irgendwie den IR Code aus und erhalte eine Art Code (könnte mir evtl jemand ein Beispiel schreiben wie so ein Code aussehen wird?) 2. Ich finde die Datenleitung, die eine der 4 Kabel zwischen IR Empfänger und Mainboard sein muss und schleife hier einen GPIO Pin von meinem ESP-12S Controller ein 3. Ich bespiele den ESP-12S Controller mit ESP Easy und pflege hier den Code ein (könnte mir hier ebenfalls jemand ein Beispiel geben wie das in etwa aussehen würde?) " On Clock#Time=Sun,18:00 do // So um 18 Uhr wird der GPIO 2 eingeschalten gpio,2,1 // ??? IR Code ??? endon On Clock#Time=Sun,19:00 do // GPIO 2 wird am So um 19 Uhr abgeschalten gpio,2,0 // ??? IR Code ??? endon " Nochmals vielen Dank an die tolle Community hier! Foradh
Update (nun mit korrektem Bild) der vorherige Post kann gelöscht werden Vielen Dank für deine schnelle Antwort Sascha. Der IR Empfänger ist meiner Meinung nach vom Controller getrennt (siehe Bild; Es sind insgesamt 4 IR Empfänger auf dem Roboter verbaut; diese sind mit insgesamt 2 Kabeln mit dem Mainboard verbunden; daher sind 2x 6Pin Anschlüsse verbaut) Somit müsste ich nur zwischen die Datenleitung eines IR Empfängers und Mainboard. Darf ich nochmal ganz blöde fragen wie jetzt die korrekte Vorgehensweise aussehen würde? 1. Ich lese irgendwie den IR Code aus und erhalte eine Art Code (könnte mir evtl jemand ein Beispiel schreiben wie so ein Code aussehen wird?) 2. Ich finde die Datenleitung, die eine der 4 Kabel zwischen IR Empfänger und Mainboard sein muss und schleife hier einen GPIO Pin von meinem ESP-12S Controller ein 3. Ich bespiele den ESP-12S Controller mit ESP Easy und pflege hier den Code ein (könnte mir hier ebenfalls jemand ein Beispiel geben wie das in etwa aussehen würde?) " On Clock#Time=Sun,18:00 do // So um 18 Uhr wird der GPIO 2 eingeschalten gpio,2,1 // ??? IR Code ??? endon On Clock#Time=Sun,19:00 do // GPIO 2 wird am So um 19 Uhr abgeschalten gpio,2,0 // ??? IR Code ??? endon " Nochmals vielen Dank an die tolle Community hier! Foradh
Foradh schrieb: > Der IR Empfänger ist meiner Meinung nach vom Controller getrennt (siehe > Bild; Ja, auf der Platine sehe ich keinen > Es sind insgesamt 4 IR Empfänger auf dem Roboter verbaut; diese > sind mit insgesamt 2 Kabeln mit dem Mainboard verbunden; daher sind 2x > 6Pin Anschlüsse verbaut) Glaube ich nicht, das sind wohl eher Kollisionssensoren, ich wüsste keinen Grund warum man bei dem kleinen Teil mehr als einen IR-Empfänger verbauen sollte. Schau mal was an den 3-poligen Steckern dranhängt. google mal nach TSOP dann weisst du schon mal nach was du suchen musst. > Somit müsste ich nur zwischen die Datenleitung eines IR Empfängers und > Mainboard. Ja > Darf ich nochmal ganz blöde fragen wie jetzt die korrekte Vorgehensweise > aussehen würde? > > 1. Ich lese irgendwie den IR Code aus und erhalte eine Art Code (könnte > mir evtl jemand ein Beispiel schreiben wie so ein Code aussehen wird?) es gibt soviele Protokolle, da nützt es nichts hier ein Beispiel zu nennen - such hier mal nach IRMP da gibts eine recht ausführliche Beschreibung der ganzen Protokolle > 2. Ich finde die Datenleitung, die eine der 4 Kabel zwischen IR > Empfänger und Mainboard sein muss und schleife hier einen GPIO Pin von > meinem ESP-12S Controller ein Ja > 3. Ich bespiele den ESP-12S Controller mit ESP Easy und pflege hier den > Code ein (könnte mir hier ebenfalls jemand ein Beispiel geben wie das in > etwa aussehen würde?) keine Ahnung wie das mit ESP Easy aussieht, du kannst aber auch über die Arduino-IDE selber was programmieren. Du installierst die IR-lib und in den zugehörigen Beispielen findest du sch was. Erst mal das was die Lib erkannt hat seriell ausgeben und dann weisst du auch was du wieder senden musst. Sascha
Hi, sorry, dass ich diesen alten thread nochmals auspacke. Hast du zufällig die IR-Codes vom Sauger notiert? Ich habe einen A4s, dessen Fernbedienung nicht mehr richtig funktioniert. Der "Clean"-Button funktioniert noch. Den konnte ich also aufzeichnen. Aber alle anderen Knöpfe senden leider kein Signal mehr. Wäre toll, wenn du die Codes hier posten könntest. Vielen Dank.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.