As the months go by, more and more tools and appliances are gaining internet connectivity to improve our daily lives. As people are connecting more and more of these ‘things’ at home, in the car, and in business environments to the internet, the need arises to connect devises at a lower cost. There will come a time when every new product will be able to connect to the internet, but until then, there needs to be a way to join unconnected ‘things’ to the internet that are too pricy to replace with updated versions. This project connects a previously unconnected LED light strip to the internet.
RemoteLight is a forward-thinking system that provides a cost-effective method of connecting a variety of appliances to the internet, which in turn enables an individual to control the item while away from the physical device without requiring it to be modified or replaced. Many appliances can be controlled by the use of a remote such as a TV, cable box, lights, HVAC system, etc.. Almost all remotes utilize infrared light (IR) to communicate with the devices they control. Creating a system that can replicate these commands through the use of its own inferred LED not only replaces the need for multiple remotes, but also connects these devices to the Internet of Things. As companies move toward a connected society, it will become a common standard for all electrical appliances to be connected to the internet. By using a Raspberry Pi, connected with an IR transmitter and receiver, this project achieves internet connectivity with older unconnected RGB LED lights, and can be applied to other appliances at home and throughout the work place as well.
The goal is to be able to power on/off, change color, fade, and flash the strip over the internet. Currently this is only possible using a close-range IR remote, but this project will allow these changes to be made from a web browser anywhere in the world with an internet connection. Using the light strip as a test case, this method of connecting devices to the internet can be directly applied to any other IR remote controlled device.
One of LIRC’s main features that is utilized in this project is its ability to decode IR signals that come through the GPIO pins connected to an IR receiver, which are then translated into excitable codes. The second use of LIRC is to send IR signals back out of the pins and to the IR circuit in order to transmit these codes. In order for the pi to be able to send the codes, the light strips’ remote first needs to be decoded. To do this, LIRC reads the different infra-red pulses sent by each of the remote’s buttons. Once complete, it creates a configuration file of the rate of the IR LED pulses that are sent from the remote, so that individual buttons can be programmed.
LIRC allows for sending and receiving IR codes, but it is only accessible through the command line. To fix this and control it through the internet while away from the pi, two things are needed. The first is a package called lirc_web; as its name insinuates, this will allow for sending the codes through a HTML web interface. Unfortunately, it only can be used on the local network. To fix this and host the site on a public webpage, the remot3.it package comes into play. This works as a proxy server so that the pi can tunnel a connection to remote3.it, and the end user establishes a connection to remot3.it with a provided URL. This makes port forwarding unnecessary (if you don’t have admin access on the network), so the pi doesn’t need to host its own site.
After I recorded the remote’s codes using the IR receiver, I moved the components used to emit the codes from the breadboard to a circuit board.
I presented this along with my research at the University of North Georgia’s annual research conference found here.