-
The App and the hardware is working!
03/02/2017 at 05:09 • 0 commentsI was able to make quite some progress with both the phone app as well as hardware. Check the repo here:
https://github.com/ExploreEmbedded/hornbill-our
When I started out with this project, I wanted to know why some of the well funded Kickstarter projects did not deliver. Here are my reasons!
- Complexity: Adding all the remotes out there in the wild is an up-heal task. Especially for a closed source project. There is a database of remotes called irdb.tk which hosts most of these remotes which could be utlilzed
- Generic UI: Simply listing all the buttons on the pane will not make a good UI and customize all the remotes is also quite a lot of work. So trying to build custom UI even for all the major brands out there would have been a huge time sunk.
- Cost of Electronics and Plastics: If the projects were prototyped on Arduino, batteries would have gone for a toss. If the hardware used was a generic dev board, getting to a lower price point would have been challenge. Also the costs of making a mold with a fancy case!
So this looks like a perfect DIY project for makers and hobbyist instead of a product. I will shoot a demo video soon and post it. I am thinking of making the code a bit more generic to add remotes and even support custom UIs other IR protocols etc., what do you think?
-
IR Remote Library for Arduino
01/11/2017 at 12:55 • 0 commentsThere is a very good IR Remote library for Arduino. This works with most controllers that work with Arduino. ESP32 has built-in remote peripheral. The library uses a timer and an interrupt pin to accomplish send and receiving IR signals. With ESP32 this can be done with the built-in Remote peripheral. Since the approach is entirely different it will be difficult to port the same library for ESP32. I have started writing one for the ESP32. The NEC encoding is working well.
#include "esp32_rmt.h" ESP32_RMT rem1, rem2; uint8_t cnt; uint16_t cmd, addr; void setup() { rem1.begin(17,1); rem2.begin(16,1); Serial.begin(115200); Serial.println("Enter Commands"); } void loop() { if(Serial.available()>0) { switch(Serial.read()) { case '0': Serial.println("power"); rem2.necSend(0x3000, 0xfd02); break; case '1': Serial.println("volume up"); rem2.necSend(0x3000, 0x7d82); break; case '2': Serial.println("volume down"); rem2.necSend(0x3000, 0x7c83); break; default: break; } } }
This is my first port of Arduino Library, let's see how it goes. Any constructive feedback is much appreciated.
-
Remotes at home
01/02/2017 at 14:46 • 0 commentsThis week I was able to get the builtin remote peripheral of ESP32 working. A step closer to getting rid of the 3 remotes at my home.
The Intex (on left) is one for the Music system, the center one is for the TV and DTH on the right. The first two were NEC and was able to decode right away. Will figure out the protocol of the last one soon.
the one with 0xf7 address is the the TV and 0xfe is the Music system. Check this cool repo of all the possible remote codes. This will make life a lot easier!
I will try and port the IRRemote lib to use the built in Remote peripheral the next few days.