Réplicateur IR Wi-Fi : Contrôlez vos appareils à distance
Composants nécessaires
- 1 × Particle Photon (ou ESP8266/ESP32, Arduino + WiFi)
- 1 × Récepteur IR (diode photodiode IR, ex: TSOP38238)
- 1 × Émetteur IR (LED IR 950nm)
- 1 × Transistor NPN (2N2222 ou BC547) + résistance 220Ω + résistance 10kΩ (pour driver la LED IR)
- Résistances, breadboard, fils
Services en ligne
- Particle Cloud (si Photon) ou MQTT/HTTP personnalisé
- Porter (optionnel, pour intégration voix)
Principes de base des signaux IR
Une télécommande IR module une porteuse à 38 kHz (généralement) : les "marks" (porteuse active) et "spaces" (porteuse inactive) codent les bits. Chaque touche a un code (12-32 bits). Le récepteur IR (TSOP) démodule et sort un signal logique. La bibliothèque IRremote (Ken Shirriff) gère l'encodage/décodage pour de nombreux protocoles (NEC, Sony, RC5, RC6, Samsung, etc.).
Étape 1 : Circuit récepteur
Connectez le TSOP38238 : VCC → 3.3V, GND → GND, OUT → D2 (Photon). Alimentez le Photon par USB, ouvrez le moniteur série (Particle CLI : particle serial monitor), pointez une télécommande vers le récepteur et appuyez sur les touches. Les codes bruts (durées en µs) s'affichent.
Étape 2 : Décodage et analyse
Le premier nombre est l'intervalle depuis le dernier signal (ignorable). La séquence suivante représente les durées alternées mark/space. Exemple pour une touche :
8500,4050,500,1500,550,500,550,450,550,500,500,1550,...
On peut encoder grossièrement : ~500µs → 0, ~1500µs → 1, ~4000µs → 2, ~8500µs → 3. Cette représentation facilite la comparaison de codes (ex: différence entre 18°C et 19°C sur une clim).
Étape 3 : Circuit émetteur
Pour une portée >10m, utilisez un transistor driver :
- Photon D3 → résistance 220Ω → base 2N2222
- Émetteur 2N2222 → GND
- Collecteur 2N2222 → anode LED IR (via résistance 33Ω pour ~100mA)
- Cathode LED IR → 3.3V
La LED IR est invisible à l'œil nu mais visible via une caméra de smartphone.
Étape 4 : Réémission (test)
Le firmware fourni inclut des fonctions de test pour TV Samsung (volume +/-). Pointez l'émetteur vers la TV et appelez les fonctions via le cloud Particle ou boutons locaux.
Stockage et réutilisation des codes
Convertissez la représentation codée (0,1,2,3) en durées µs réelles via une fonction convertToPulseDuration() avant d'appeler irsend.sendRaw(). Stockez les codes en flash pour économiser la RAM.
Intégrations avancées
- Blynk / application mobile personnalisée (Ionic, React Native)
- Contrôle vocal : Google Assistant / Alexa via webhook
- Automatisations : "Éteindre la TV à 23h", "Allumer la clim à l'arrivée (géofencing)"
Code source
Disponible sur GitHub : https://github.com/gusgonnet/infraredReplicator
Ressources pour aller plus loin
- Reverse engineering an air conditioner IR remote control protocol
- Using arbitrary remotes with the arduino IRremote library
- Understanding IR Protocol of Air Conditioner's Remotes
Processus de fabrication
- Comment les wagons de fret deviennent des actifs IoT intelligents avec le système de condition monitoring de Bosch
- L'Internet des objets et la 5G : Piloter l'avenir des véhicules connectés
- Sécuriser la maison intelligente : Pourquoi la biométrie est essentielle pour la cybersécurité IoT
- Internet des objets : tisser le monde connecté
- Révolutionner l'éducation : tirer parti de l'IoT pour améliorer l'apprentissage et l'enseignement
- Construisez un char laser contrôlé par Leap Motion – Arduino, Raspberry Pi, LEDs RGB
- UnifiedWater v1 – Kit complet de capteur de qualité d'eau Arduino
- Comment les compresseurs d'air connectés pilotent l'Industrie 4.0 et l'IoT dans la fabrication moderne
- Épisode 7 : IoT et Industrie 4.0 – Compresseurs connectés intelligents expliqués