Table des matières:

Télécommande Web IR avec Esp8266 (NodeMCU) : 4 étapes
Télécommande Web IR avec Esp8266 (NodeMCU) : 4 étapes

Vidéo: Télécommande Web IR avec Esp8266 (NodeMCU) : 4 étapes

Vidéo: Télécommande Web IR avec Esp8266 (NodeMCU) : 4 étapes
Vidéo: Contrôle à distance via le module wifi ESP32 : application web pour allumer et éteindre des LEDs 2024, Novembre
Anonim
Télécommande Web IR avec Esp8266 (NodeMCU)
Télécommande Web IR avec Esp8266 (NodeMCU)

Problème

Il y a trois télécommandes sur la table du salon. Pour regarder votre émission préférée, vous devez suivre avec précision une séquence spéciale de pressions sur au moins deux d'entre elles. Et ta colocataire, maman, petite amie ne s'en souvient jamais.

Solution

Vous achetez une Logitech Harmony;-)

Mais si vous ne voulez pas dépenser cet argent, vous pouvez construire quelque chose de similaire pour moins de 10 $. En connectant une LED infrarouge à un ESP8266 (comme un Arduino mais avec le WiFi à bord), nous pouvons facilement construire un appareil avec lequel nous pouvons contrôler les appareils avec une petite page Web à partir de n'importe quel ordinateur ou téléphone mobile dans votre WiFi.

De quoi as-tu besoin

  • Carte de développement NodeMCU (ils expédient depuis l'Asie pour < 5€)
  • Capteur infrarouge (OS-1838B ou TSOP38238)
  • DEL infrarouge
  • 100Ω Résistance
  • Transistor NPN (c'est-à-dire 2N2222)
  • petit morceau de prototype de PCB
  • connecteur à quatre broches qui s'adapte sur le NodeMCU (c'est-à-dire l'adaptateur secteur pour disquette)

Si vous avez une vieille télécommande, vous pouvez probablement utiliser la LED IR et le transistor de celle-ci.

Étape 1: Assemblage du matériel

Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel

Assemblez les composants sur un petit morceau sur un petit morceau de circuit imprimé prototype et connectez les composants comme indiqué sur le schéma.

Selon la LED, la résistance de protection peut ne pas être nécessaire. Si vous trouvez que vous devez très bien viser ou être très proche de l'appareil, vous pouvez probablement le retirer.

J'ai tout connecté à une prise que j'ai retirée d'un adaptateur secteur PC cassé (celui de la disquette).

Étape 2: Installation de l'application sur le NodeMCU

Configurez votre environnement pour compiler des programmes pour l'esp8266 avec l'IDE Arduino: [https://github.com/espressif/arduino-esp32

Cloner ou télécharger le code source de l'application depuis le dépôt github

Dans l'IDE Arduino, installez la bibliothèque IRremoteESP8266 (Menu: Sketch -> Gérer les bibliothèques). Copiez le fichier config.h.example et nommez cette copie config.h. Vous devez au moins spécifier le SSID et le mot de passe de votre WiFi dans le config.h pour pouvoir vous connecter au serveur Web. L'Arduino Sketch devrait maintenant pouvoir être compilé et téléchargé. Connectez la carte de dérivation que vous avez créée à 3V, Ground, D5, D6.

Si tout a fonctionné et que vous exécutez la puce connectée à l'IDE Arduino, l'adresse IP sur laquelle le serveur s'exécute devrait s'afficher sur le moniteur série.

Étape 3: personnalisation de la page HTML pour contrôler le NodeMCU

Le processus de cette étape est également montré dans la vidéo.

Dans le répertoire du code source, il y a aussi un 'ir.html'. Si configuré correctement, cela « parlera » au NodeMCU.

La première étape consiste donc à indiquer au fichier sous quelle adresse il peut trouver le NodeMCU. Ouvrez le fichier ir.html dans un éditeur de texte et recherchez une ligne ressemblant à celle-ci:

var hôte = '192.168.2.121';

Modifiez la valeur entre les coches pour qu'elle corresponde à l'adresse que le serveur Web a imprimée sur le moniteur série après le démarrage.

EnregistrementAppuyez sur le bouton d'enregistrementPointez la télécommande vers le capteur et appuyez sur le bouton souhaité de la télécommande. Après cela, sous le bouton d'enregistrement, une longue liste de chiffres devrait apparaître. Ce sont les horaires du signal pour ce bouton que vous avez appuyé sur la télécommande.

Configuration des commandes

Maintenant, nous voulons un moyen d'envoyer un signal avec ces timings à partir de la puce elle-même. Pour cela, nous devons ajouter les timings que nous venons d'enregistrer à la liste des signaux connus. Copiez les valeurs (y compris les crochets) que le processus d'enregistrement vous a données et insérez une nouvelle ligne avec un nom et les valeurs dans le fichier ir.html après la ligne ressemblant à ceci:

signaux var = {

"pgr1 btn": [1, 2, 3], Remplacez les 1, 2, 3 par les valeurs enregistrées et n'oubliez pas la virgule après les parenthèses environnantes. Pour ajouter réellement un bouton, nous devons également ajouter une commande. Une commande peut consister en plusieurs signaux puisque nous devrons peut-être « appuyer » sur plusieurs boutons de la télécommande, c'est-à-dire 1 et 2 pour atteindre le canal 12 sur le téléviseur. Cela permet également de contrôler plusieurs appareils avec une seule commande. Recherchez la ligne ressemblant à ceci

"Activer/désactiver le son": ["muet"], Copiez cette ligne et modifiez le texte "Son activé/désactivé" pour qu'il corresponde à ce que vous souhaitez afficher sur le nouveau bouton. Remplacez le nom "muet" par le nom du signal que vous avez ajouté. Le résultat pourrait donc être:

"HBO": ["prg 1 btn"], Si vous souhaitez exécuter plusieurs signaux, ajoutez-les comme ceci:

"HBO": ["prg 1 btn", "prg 2 btn"],

Étape 4: Utilisation

Après avoir inséré les séquences de signaux souhaitées dans le fichier HTML, vous pouvez le copier sur n'importe quel ordinateur ou appareil mobile doté d'un navigateur et connecté au même réseau Wi-Fi que le NodeMCU.

Conseillé: