IRremoteESP8266 Library — Sming Documentation

Sming Logo

Contents:

  • Getting Started
  • Tools Integration
  • Debugging
  • Features
  • Framework
  • Sample Projects
  • Libraries
    • AM2321 Temperature/Humidity Sensor
    • APA102 LED
    • Adafruit BME280 Library
    • Adafruit BMP280 Driver (Barometric Pressure Sensor)
    • Adafruit Bus IO Library
    • Adafruit GFX Library
    • Useful Resources
    • Adafruit ILI9341 Arduino Library
    • Adafruit NeoPixel Library
    • Adafruit PCD8544 Nokia 5110 LCD Library
    • Adafruit_SSD1306
    • Adafruit ST7735 Display
    • Adafruit Unified Sensor Driver
    • Adafruit VL53L0X Library
    • AnimatedGIF
    • ArduCAM Library
    • arduinoFFT
    • ArduinoJson Version 5
    • ArduinoJson Version 6
    • Arduino TensorFlow Lite
    • At Client
    • BH1750FVI Light Sensor
    • ESP32 BLE Gamepad
    • ESP32 BLE Keyboard
    • BME280 Barometric Pressure Sensor
    • BMP180 Pressure/Temperature Sensor
    • Bounce library for Arduino
    • CS5460 energy meter IC
    • Capacitive Sensor Library
    • Command Processing
    • ConfigDB
    • CSV Reader Library
    • DFPlayer - A Mini MP3 Player For Arduino
    • DHT ESP Temperature/Humidity Sensors
    • DIscovery And Launch (DIAL)
    • DS18S20 Temperature Sensor
    • Arduino DS3232RTC Library v1.0
    • Disk Storage
    • FatIFS
    • Flash In-Place
    • GoogleCast
    • Sming Graphics Library
    • HMC5883L Compass
    • HardwareSPI
    • Hue Emulator
    • I2C Device Class
    • IO Control
    • IRremoteESP8266 Library
      • v2.7.7 Now Available
        • Upgrading from pre-v2.0
        • Upgrading from pre-v2.5
      • Supported Protocols
      • Troubleshooting
      • Frequently Asked Questions
      • Library API Documentation
      • Installation
      • Contributing
      • Contributors
      • Library History
      • References
      • Used by
      • SoC support
    • Nextion Serial Displays
    • JsonStreamingParser
    • Liquid Crystal
    • LittleFS
    • MCP23008 Port Expander
    • MCP23017 I2C Port Expander
    • MCP23S17 SPI Port Expander
    • MCP_CAN Library for Arduino
    • mDNS: Multicast Domain Name System
    • MFRC522 RFID Module
    • MHZ19 CO2 Sensor
    • MMA-7455 Accelerometer
    • MPU6050 Gyro / Accelerometer
    • Mirf for NRF24L01
    • ModbusMaster RTU Library
    • Multipart Parser
    • ESP32 NimBLE
    • OneWire for Arduino
    • Over-The-Air(OTA) Upgrader
    • Over-The-Air(OTA) Network Upgrader
    • Over-the-Air Firmware Upgrade
    • OTA Firmware Upgrade via MQTT
    • rc-switch
    • Arduino driver for nRF24L01 2.4GHz Wireless Transceiver
    • RapidXML
    • Embedded RingBufCPP
    • RingTone
    • SD Card
    • SI7020/SI7021 Environmental Sensors
    • SPI Library
    • SSDP
    • SD Storage
    • Servo RC PWM Control
    • Signal Generator
    • SmingTest
    • Solar Calculator
    • SparkFun APDS9960 RGB and Gesture Sensor Arduino Library
    • SPIFFS IFS Library
    • Switch Joycon
    • ILI9163C TFT Display
    • TFT_S1D13781
    • TM1637 LED Driver
    • Timezone
    • Tone Generator
    • UPnP Schema
    • UPnP
    • USB
    • Ultrasonic
    • VT100 Emulator
    • WS2812 Neopixel
    • WebCam
    • Yeelight
    • FAT Filing System
    • Flatbuffers
    • JerryScript
    • libsodium
    • modbusino RTU Library (modbus slave)
    • Nano Protocol-Buffer
    • rBPF Femto-Container support
    • Si4432 RF Transceiver
  • API Documentation
  • Information
  • Upgrading
  • Experimental Stuff
  • Contributing
  • Troubleshooting
  • About
Sming
  • Libraries
  • IRremoteESP8266 Library
  • View on GitHub
IRremoteESP8266 Library Build Status arduino-library-badge Average time to resolve an issue Percentage of issues still open GitLicense

This library enables you to send *and* receive infra-red signals on an ESP8266 or an ESP32 using the Arduino framework using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48}* demodulators etc.

v2.7.7 Now Available

Version 2.7.7 of the library is now available. You can view the Release Notes for all the significant changes.

Upgrading from pre-v2.0

Usage of the library has been slightly changed in v2.0. You will need to change your usage to work with v2.0 and beyond. You can read more about the changes required on our Upgrade to v2.0 page.

Upgrading from pre-v2.5

The library has changed from using constants declared as #define to const with the appropriate naming per the C++ style guide. This may potentially cause old programs to not compile. The most likely externally used #defines have been aliased for limited backward compatibility for projects using the old style. Going forward, only the new kConstantName style will be supported for new protocol additions.

In the unlikely case, it does break your code, then you may have been referencing something you likely should not have. You should be able to quickly determine the new name from the old. e.g. CONSTANT_NAME to kConstantName. Use common sense or examining the library’s code if this does affect code.

Supported Protocols

You can find the details of which protocols & devices are supported here.

Troubleshooting

Before reporting an issue or asking for help, please try to follow our Troubleshooting Guide first.

Frequently Asked Questions

Some common answers to common questions and problems are on our F.A.Q. wiki page.

Library API Documentation

This library uses Doxygen to automatically document the library’s API. You can find it here.

Installation

  1. Click the “Sketch” -> “Include Library” -> “Manage Libraries…” Menu items.

  2. Enter IRremoteESP8266 into the “Filter your search…” top right search box.

  3. Click on the IRremoteESP8266 result of the search.

  4. Select the version you wish to install and click “Install”.

  1. Click on “Clone or Download” button, then “`Download ZIP <https://github.com/crankyoldgit/IRremoteESP8266/archive->master.zip>`_“ on the page.

  2. Extract the contents of the downloaded zip file.

  3. Rename the extracted folder to “IRremoteESP8266”.

  4. Move this folder to your libraries directory. (under windows: C:\Users\YOURNAME\Documents\Arduino\libraries\)

  5. Restart your Arduino IDE.

  6. Check out the examples.

cd ~/Arduino/libraries git clone https://github.com/crankyoldgit/IRremoteESP8266.git cd ~/Arduino/libraries/IRremoteESP8266 && git pull

Contributing

If you want to contribute to this project, consider:

  • Reporting bugs and errors

  • Ask for enhancements

  • Improve our documentation

  • Creating issues and pull requests

  • Tell other people about this library

Contributors

Available here

Library History

This library was originally based on Ken Shirriff’s work (https://github.com/shirriff/Arduino-IRremote/)

Mark Szabo has updated the IRsend class to work on ESP8266 and Sebastien Warin the receiving & decoding part (IRrecv class).

As of v2.0, the library was almost entirely re-written with the ESP8266’s resources in mind.

References

  • Source Code

  • Embedded RingBufCPP

Used by

  • IR Library Sample

SoC support

  • esp8266

Tag » Arduino Ir Remote Library Documentation