These days i was working on many platform simultaneously, this involved the switching the output on monitor frequently, one kali running PC, embedded linux, windows running laptop with extended screen.
I had a hdmi switch hardware, which i bought from amazon.in but i got a faulty remote, earlier it even doesn’t bothered me as i had different application which didn’t had that much switching.
When i started to explore the protocol which it must have been using, i faced an issue that these cheap Chinese remote didn’t have standard common protocol.
Try1 :- After opening it, i found an IC AD009-01T but again i found some chinese datasheet which doesn’t even elaborate the hex code in use for data transmission. By hardware debugging, (analysing the PCB tracks), i found pin (7,11),(4,6),(3,6) pin for button 1,2,3 respectively. But again lack of datasheet and information left this thread unfruitful.
Try2 :- Got a list of commonly used HEX code in IR remote transaction from the IC AD009 series, By chance i found a luck in NEC protocol for IR remote and incorporated that in code under the umbrella of HTTP webserver in IOTA.
Another possible try could have been brute force try with incremental increase in hex code in for loop until an interrupt, that can be found on led of hardware that switch when it receives the relevant code.
import urllib2 import time link='192.168.3.200' req = urllib2.Request('http://'+link+'/hdmi/4') response = urllib2.urlopen(req)
Finally, i lniked ” CTRL+ALT+SHIFT+Z ” with this python code that change the HDMI output on my requirement.
Strive To Be Lazy – Work To Not Work!
Source code can be found on github repository shared below.
GitHub repository for this event is :- https://github.com/MrityunjaiKumar/IOTA_HDMI_remote_automation
UPDATE:- After a while i incorporated all the home’s IR application(Audio system, TV) on various keys to solve various work that demands finding the remote 😛 .