ASHIM DAS
- Published on
28/11/2024, 02:41 am Loading...
IR Remote Cloner App With React + ESP8266
Angry Remote App
A universal IR remote system. You can receive IR signals from any IR remote and configure each buttons with customized labels. After that saved signals can be re transmitted like a normal remote would do. It can save any cloned remote & import it for reuse. App is built using React & WebSocket.
How to use it
-
Power on the ESP8266 ESP will broadcast ANGRY REMOTE access point.
-
Connect to the network
-
Sign in to the network A "Sign In to ANGRY REMOTE" notification will appear. Click on it to open the app.
-
Alternative Access If the captive portal fails, open the browser and visit
172.217.28.1
to access the app. -
After app loads
-
Using the App: By default app comes with some commonly used buttons which are pre labeled. Buttons with red underline indicates uninitialized. Button can be configured by right clicking or long pressing it. New buttons can be added from the add button at the end.
-
Cloning a actual button: By right clicking or long pressing any button will open a dialogue. Then point the actual remote towards the IR receiver and keep pressing the button you want to clone until success message is shown.
IR receiver sometimes receives noise, to prevent app from saving any noise signal I implemented a algorithm that will accept the signal which is received at least five times by pressing same button simultaneously. For making sure correct IR signal is saved.
Finally after correct signal is received you can save the button also change the label.
Now the pressing the button will send command to ESP via WebSocket and ESP will transmit same signal using the IR LED.
Now clone your remotes, have fun, upload your cloned remotes and contribute. 😎
Technical Details
Hardware
- NodeMCU / ESP8266: Hosts the web app and acts as a WebSocket server to transmit and receive IR data.
- 5mm IR LED: Transmits IR signals to control devices like TVs, set-top boxes, or other appliances.
- TSOP34838 IR Receiver: Used for capturing IR signals from existing remote controls.
Technologies
- React: Provides a dynamic and interactive user interface for the remote-control app.
- WebSocket: Ensures real-time, bidirectional communication between the app and ESP8266.
- Captive Portal: Ensures a seamless user experience by automatically prompting the user to open the app when they connect to the ESP8266's Wi-Fi network, eliminating the need for manual IP entry.
Circuit Diagram
How to set up
Wiring
- Do the wiring properly according to the circuit diagram.
Flashing ESP8266
-
Download the flash file: For the ease of use I uploaded the image file backup_flash.bin to my github repo. Download the file.
-
Connect NodeMCU with PC via USB: Use good quality USB cable.
-
Find the COM Port:
- Press
Windows + X
and selectDevice Manager
, or search for Device Manager in the Start menu. - In the Device Manager window, expand the
Ports (COM & LPT)
section. You should see an entry like"USB Serial Port (COMx)"
or something similar (where x is a number, eg: COM3).
- Press
-
Install esptool using pip:
Run Command Prompt as Administrator
and enter commandpip install esptool
-
Run the following command: replacing
COMx
with your ESP8266 COM port andbackup_flash.bin
with the path to your downloaded image file.esptool --port COM3 --baud 115200 write_flash 0x00000 C:\path\to\backup_flash.bin
-
After flashing you can follow steps with pictures above.