As IoT devices become more prevalent in the consumer world, how long will it be before it’s cheaper to buy one, than to make one? Definitely not yet, which means if you want your very own IoT power strip — you’ll have to make your own. Good thing it’s not that hard!
[Dev-Lab] came up with this project which allows him to control several outlets with his phone. What we really like about it is that he designed a 3D printed housing that fits on the end of the power-strip. This keeps all messy wires out of sight, and it looks like it was designed to be there!
The beauty with an IoT device like this is that it doesn’t require any infrastructure besides a WiFi enabled device with an HTTP browser — the ESP8266 module means no server is necessary. An Arduino was used in the project just because it was quick an easy to do. But it really boils down to being a glorified pin expander. This could very easily be fixed by upgrading from an ESP01 to and ESP03 module to get more IO broken out on the carrier board. If you do this, let us know!
To grab the 3D files yourself, head over to Thingiverse, and for the software, GitHub.
When will IoT go too far? One of our favorites might have already crossed the line. [Charalampos] wasn’t being motivated enough by his FitBit enough to stay in shape, so he decided to let it control the power to his refrigerator. If he didn’t exercise, his fridge didn’t get power. No run, no dinner. Ha!
It seems the arduino in this case is unnecessary. The ESP8266 has two unused GPIO pins and is using the Rx/Tx pins to communicate with the arduino so the arduino can drive two GPIO pins. It works but in a redundant Rube Goldberg sort of way.
Not everyone wants to mess around with the weird esp core… I really wish the esp32 just had an m3 in it…
The ESP works pretty well in Arduinoland, and also in Eclipse with CDT or the Arduino Eclipse plugin. I’ve been fooling around with it for a couple of months now, and I’m not even really an Arduino user, just trying to find the easiest way to work with the ESP modules since they’re so cheap.
You could always just use a CC3200 instead if you want a Cortex-M core. :)
Yes, if you look at ESP-01 you may think that GPIO0 and GPIO2 are enough for such kind of project. Initially I have started without arduino, and found that it is quite trivial to use those pins to control 2 channel relay module. But this aproach didn’t satisfy my requirements to reliability. I was going to use that device for turning on/off my 3d printer, and for turning off/on a server when it hangs and I can’t control it over the network. For such use cases, there is no excuse for accidential relay switch because of any reason, including restarting of ESP module. When playing with NodeMCU, I have found that ESP may restart because of a number of reasons, here are a couple of them.
1. Accidental DDOS on NodeMCU HTTP server. You don’t need tsung for checking it. Just open several HTTP sessions simultanously, and the ESP module will be restarted because of out of memory. I think that with switching from Lua to C I might resolve that problem, but I really liked to have possibility to change the functionality in runtime (with Web IDE).
2. This one is wierd, and probably applicable only to me and to a couple of ESP-01 modules I used. When I were touching any part of ESP-01 -based circuit (including GND and relay output contacts) with something conductive, ESP-01 restarted itself. That was a reproducible behaviour on 2 different modules, I used NodeMCU 0.9.5 on that time.
Another reason for using arduino here is to not limit myself with HW enhancements in future (for existing devices, without reflashing them). I am going to collect temperature from a couple of sensors in one case, and use PWM in another case. Both Web UI and arduino sketch already contain the code for such enhancements (not tested yet), I only have to connect the hardware to some arduino pins and configure the usage of additional GPIO pins through Web UI.
I attempted a similar project with MQTT and Bluemix to allow general control of my Christmas lights as a sort of social experiment, But abandons because of stability/reliability of the ESP-01 when close to mains current. I never found a real solution to the issue. aside from moving the ESP far from the enclosure with the mains power. Maybe the ESP-12 with the shield would have worked better.
HTTP with optional authentication, eh? I love IoT–not only does it give you remote control over your holiday lights, but it gives me and many others remote control over your holiday lights as well.
If you can break through VPN tunnel (or SSH tunnel, or HTTPS frontend, or whatever else on DMZ boundary) just to sniff plain text HTTP coming to Christmas lights, you really know how to spend the holiday with fun. ;-)
Can you please post this project on http://www.esp8266.com its an excellent example for everyone to talk about there! Thanks for the info.
The project posted to esp8266.com, the link is: http://www.esp8266.com/viewtopic.php?f=19&t=7258