Skip to content

Infrared remote library for ESP8266: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/

License

Notifications You must be signed in to change notification settings

bajkad/IRremoteESP8266

 
 

Repository files navigation

IRremote ESP8266 Library

Build Status

This library enables you to send and receive infra-red signals on an ESP8266 using Arduino framework (https://github.com/esp8266/Arduino)

v2.0.0 Now Available

Version 2.0 of the library is now available. This is a large change to existing versions. You will need to change your pre-v2.0 code slightly to work with this version. You can read more about the changes on our wiki page. Please report an issue if you find any problems with the documentation or the library itself.

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).

Installation

  1. Click "Download ZIP"
  2. Extract 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
Using Git to install library ( Linux )
cd ~/Arduino/libraries
git clone https://github.com/markszabo/IRremoteESP8266.git
To Update to the latest version of the library

cd ~/Arduino/libraries/IRremoteESP8266 && git pull

Unit Tests

The Unit Tests under the test/ directory are for a Unix machine, not the micro-controller (ESP8266). This allows execution under Travis and on the developer's machine. We can do this from v2.0 of the library onwards, as everything now uses c98-style type definitions. e.g. uint16_t etc. Any Arduino/ESP8266 specific code needs to disabling using the following lines:

#ifndef UNIT_TEST
<Arduino specific code ...>
#endif

This is not a perfect situation as we can not obvious emulate hardware specific features and differences. e.g. Interrupts, GPIOs, CPU instruction timing etc, etc.

If you want to run all the tests yourself, try the following:

$ cd test
$ make
$ for UNITTEST in *_test; do if [ -x "./${UNITTEST}" ]; then ./${UNITTEST}; fi; done

Contributing

If you want to contribute to this project, consider:

Contributors

Available here

About

Infrared remote library for ESP8266: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 97.4%
  • Makefile 2.5%
  • C 0.1%