My job in the company is to find stuffs to simplify and speed-up the production of the newspaper.
In this case I applied the knowledge I have due to my hobby, out of the “official” work.
It started as a joke, to learn something more about remote controls, waiting to find something “more professional” to perform that task.
In nine years I've never found something similar, so this device has become more and more important and the journalists start complaining because they cannot manage more decoders.
Every day it’s more difficult to follow all the IR remote control protocols for the increasing number of devices. So I decided to change approach.
The basic concepts of the project are the same of the original project
. The schematic
of the IR control board is exactly the same.
The old eIP-10
has been replaced by a BeagleBone Black
on which runs a node.js
server. Through a web socket, this acts as a gateway between the high level GUI and one ore more serial interfaces towards the low level board.
The software is divided in two parts. On the IR LEDs driver board runs a C program
written in MPLABX
IDE and compiled with XC8
on node.js server. The BBB is an embedded board with a Debian distribuition of Linux. This is good because is cheap, powerful enough with many serial ports available. On the standard distribution there are already installed all the tools needed (included node.js). You have just to install the node.js modules described in the package.json file attached to my software with "npm install". Any other platform with at least one serial port can fit the needs, e.g.: the classic Raspberry PI.
Web Remote Control Evolution
the new version to accept more remote control protocols
After 9 years of day and night continuous work (mostly on night) with the journalists changing via web the channels of the centralized decoders to see the sport events, it’s time to update the WRC.
I changed the old PIC18F452 with a pin-to-pin compatible but more powerful PIC18F4620. Ported the firmware from Microchip MPLAB to the new, multi-platform, MPLABX and modified it in order to use the AnalysIR output as a C array for timing the IR carrier pulses.
This is the development environment used.
AnalysIR (on a virtual machine) to capture the RC codes needed and export them.
An MPLABX session to convert the codes into C arrays to use as pulse timing.
The web interface used to change the channels.
Underneath AnalysIR there is a terminal session that started node.js server and open the serial interfaces.
The high level software is much more simple, robust and flexible, allowing also the use of as many boards as the number of the serial ports available on BBB, meaning 16 x N possible devices to drive.
The rack is in a small room near the roof where all the TV stuffs are located and where all the distribution cables start.
Anyone in the building, if authorized, can manage the channels from it’s own workstation.