Using Pico to get state from LED lights is ingenious. Mad props! If you just want to control infrared devices and set their state without first reading their state (like any standard IR remote), looking into BroadLink RM4 Mini. Works with almost everything I've thrown at it.
Do those work with mini split AC units? They have really odd remotes, but they’re IR. We have some Fujitsu halcyon units I would love to control over the web.
It depends - some units broadcast individual commands to turn up/down temp, so those would be easy. Some units broadcast the entire state every time you press the button though (normally remotes with an display on them), so recoding the remote would just give you a state to cycle through. You may be able to find just the individual temperature commands on remotecentral.com or other places online by searching “Pronto Code database” - those can be converted to whatever format you need.
Yes. I have a Mitsubishi mini split and my broadlink (RM3, but effectively the same from an IR standpoint) is able to transmit codes. I did have to train the broadlink unit, which basically consists of putting it into a “learn” mode and then pressing the desired button on the mini split remote.
The ESP32 has a built in infrared decoder/encoder, I wonder if you could just skip the intended IR LED that it's supposed to drive and just wire it directly to the receiver pins on the target device with an appropriate resistor. That's the same thing going on here except using the PIO (which was cool to see explained and makes me want to play with the 2040W) and I have an air purifier I kinda want to smarten up...
For the most part, don’t connect to Wi-Fi and use hdmi in. If you’re one of the lucky few with a tv that will wardrive your neighborhood looking for open networks, find the Wi-Fi chip and pull it off.
I find it easier to start with a dumb device. However as that increasingly looks not so possible for TVs, I'd love to see somebody document the process for what you propose.
> It does have a problem however, the TV tends to hit resonance frequency very often with its built-in speakers, causing the body of the unit to vibrate something awful and produce some ear wrenching sounds as a result.
This has no bearing on the project but since I am implementing a toy server I am wondering about the choice of the PUT method. I thought that it was mostly unused (browser don't send PUT requests) and was replaced by POST request most of the time.
Browsers will happily send any standard HTTP method including PUT. HTML forms always produce a GET or POST [0], but nowadays most requests are probably made with fetch() etc, not HTML forms.
I've had thoughts of a project for making my TV smart but never got started on it.
I think developing a ML vision model for detecting commercials during sporting events or detecting YouTube ads and when the skip ads button appears would be a fun and not too complicated project.
But connecting it to hardware with an infrared remote seemed significantly harder and this project confirms my worry.
It might still be possible in software with a software Roku remote, I briefly looked into what it takes to write apps on there and was able to control my Roku over WiFi. But would be nice to not have to depend on it.
MythTV commercial skipping was absolutely magical. I understand at a high level how they did it; there are lots of obvious heuristics you can use for this (black detection, silence detection, observing the CBS logo/bug going away, etc.) I also find it fascinating that this was never described as "AI" back in the day; today it would 100% be.
Neat project! I used Python Dejavu to recognize audio from a library of known commercials.
A more general commercial detector via a ML model would be great!
When a commercial is detected, the program sends a http request to a local server running on a Raspberry Pi.
The Pi has an infrared remote control transmitter, and uses LIRC to send commands to a Polk sound bar.
grug love dumb devices. not only understandable by grug brain, simple design help trap complexity demon. when it come to devices around home -- tv, thermostat, etc. -- complexity demon only make things worse. plus hide more insidious demons, like spyware demon, etc.
Not quite the same thing, but it still amuses me that we use the infrared Remote Control Tranceiver driver and hardware in the ESP32 to generate LED strip PWM signals!
I find posts like this inspirational. The explanation makes me feel like I could have done this despite lacking a lot of knowledge about the hardware. Thanks for sharing!
I've done something very similar with infrared controlled Hexbug battle bot toys.
It was a pretty interesting exercise but in the end cutting a few traces and sending commands directly from a piggyback micro-controller to the motor drivers was much more responsive (and allowed for differential steering and braking).
This article is sick because now I feel like the approach wasn't a complete waste of time. Thanks!
I'd been thinking of trying something similar (but with much less experience) for my Dikon heatpump rather than paying the $300 / indoor unit cost for the official iot solution. I wonder if someone has already done this for the Daikon, too.
I'd never seen these circuit/code/breadboard emulator/visualizer widgets, those are very cool and help illustrate the article along with the code snippets, love it.
I made a local server running on a Raspberry Pi.
The Pi has an infrared remote control transmitter, and uses LIRC to send commands to a Polk sound bar.
There are many bars available which have remote control learning.... e.g Yamaha YAS-306. Its just 2-3 mins job and you dont have to do these hacks. I have one from early 2000s which works perfect.y
Not crapping on this project because it's hella awesome, but a more scalable solution (which might not be worth it at all) would be to make a HTTP interface to a remote control, then have the remote control beam IR signals at whatever. This would mean that for any new device you add, you just have to pair the remote instead of wiring up another Pi to it.
I think this was a comment on the fact that many stereo components were sold with remote receivers but no remotes.
I have memories a bunch of in the late 80s going to our electronics store so my brother could program our new programmable remote so we use it could use it with our cd player.. so sneaky we were.