Un Contrôleur Infra-rouge wifi fait maison à partir de l’ESP8266
The ESP8266 is a wonderful microcontroller. They can be purchased cheaply and have built in wifi. In this guide I will not go over how to flash the ESP8266 module with the basic firmware as this is covered on the http://ESP8266basic.com web site in detail. All the parts to build this project can be found on ebay for less than $10 shipped to the US.
Voir le site: www.instructables.com
L’ESP8266 est vraiment le composant idéal pour faire des modules connectés chez vous à moindres frais.
Comme je le disais dans un article précédent, trouver un contrôleur Infra-rouge pour piloter vos appareils ménager n’est pas forcément évident surtout si vous souhaitez l’intégrer dans votre box domotique.
Alors pourquoi pas se lancer dans la fabrication de son propre module. Surtout qu’aujourd’hui ce n’est pas cher et facile à faire.
Matériel
Il faut commencer par regrouper le matériel nécessaire:
- Un Module ESP8266. le NODEMCU
- Une LED infrarouge
- Un récepteur IR (VS1838B)
Assemblage
L’assemblage est assez rapide et facile en suivant ce schéma:
Programmation
Voici un code tout fait qui vous permet de mettre en place un système capable d’apprendre et de répéter des commandes. Pour l’utiliser il faut commencer par flasher le MODEMCU avec esp8266basic. C’est une petite application qui va permettre de se connecter en wifi sur le MODEMCU et lui permettre de recevoir un programme écrit en BASIC.
dim irButtons(6) as string dim irCodes(6) as string x = 0 ir.recv.setup(5) ir.send.setup(4) IRBRANCH [received] for x = 1 to 6 irButtons(x) = read("irbut" & str(x)) irCodes(x) = read("ircode" & str(x)) if irButtons(x) = "" then irButtons(x) = "UNUSED" next x [top] cls cssclass "button", "background-color: powderblue;height: 20%;width: 30%;" Print "ESP8266 Basic Learning IR remote" print "Last IR recvd" textbox ircode print "Text for button" textbox newtxt print "Button number" dropdown x, "1,2,3,4,5,6" Button "Program Code to button", [program] print button irButtons(1), [bu1] button irButtons(2), [bu2] button irButtons(3), [bu3] print button irButtons(4), [bu4] button irButtons(5), [bu5] button irButtons(6), [bu6] IRBRANCH [received] wait [received] ircode = ir.recv.full() return [bu1] ir.send(irCodes(1)) x = 1 wait [bu2] ir.send(irCodes(2)) x = 2 wait [bu3] ir.send(irCodes(3)) x = 3 wait [bu4] ir.send(irCodes(4)) x = 4 wait [bu5] ir.send(irCodes(5)) x = 5 wait [bu6] ir.send(irCodes(6)) x = 6 wait [program] irButtons(x) = newtxt irCodes(x) = ircode write("irbut" & str(x),irButtons(x) ) write("ircode" & str(x),irCodes(x)) goto [top]
Utilisation
Maintenant, nous pouvons commencer à utiliser notre IRBlaster. Pour cela, se connecter simplement sur l’IP du NODEMCU vers le path /input.
Seuls 6 boutons sont disponibles mais vous pouvez bien sûr modifier le code.
- cliquer sur le bouton à programmer
- positionner votre télécommande IR face au récepteur IR et appuyer sur la touche à apprendre.
- un fois le code analysé, appuyer sur “Program Code to button” et le tour est joué
Pour émettre un code il suffit de cliquer sur la bouton ainsi programmé.
Et voilà. plutôt facile non. Il reste plus qu’à intégrer tout cela dans votre box domotique.
Super tuto, merci, je vais tester ça pour automatiser ce que je faisais déjà avec une téléco OneForAll 🙂
bonjour,
j ai l impression que pour des télécommande de clim ça ne fonctionne pas bien…
c est pas une histoire de taille du RAW ?
merci