This project is an implementation of an ESP32-based Android TV controller using the Android TV Remote protocol v2. It leverages the PlatformIO ecosystem for development and includes various features and functionalities to control and monitor the Android TV. This implementation does not require ADB or enabling developer tools on the Android TV device. It only requires the Android TV Remote Service that comes pre-installed on most Android TV devices.
Key list you can see at RemoteKeycode.h
- Pairing
- Send command
- Add voice support
- Official implementation of the pairing protocol in Java
- Implementation in Python but for the old v1 protocol
- Implementation in Node JS for the v2 protocol
- Implementation in python for the v2 protocol
- Description of the v2 protocol
- PlatformIO installed on your development environment.
- ESP32 development board.
- Necessary libraries and dependencies (specified in
platformio.ini
).
- Clone the repository:
git clone https://github.com/nguyluky/ESP32_android_tv_remote_v2.git
- Navigate to the project directory:
cd ESP32_android_tv_remote_v2
- Open the project in your preferred IDE (e.g., VS Code with PlatformIO extension).
- Connect your ESP32 board to the computer.
- Build the project:
pio run
- Upload the firmware to the board:
pio run --target upload
- Power on the ESP32 board.
- Use the remote control to operate the Android TV.
Contributions are welcome! Please fork the repository and create a pull request with your changes.