I went through a similar experience when rigging up my own little "child sleep improver" project. We play the same album of world music lullabies when our kids go to bed. I wanted to be able to trigger playback remotely, so if I heard my child stirring I could play the lullabies again and help them settle again.<p>I'm also a R-Pi fan, so I rigged one up which allows me to have mplayer start playing the album via a simple webpage which I access from my mobile phone. That is excellent for the middle of the night times, but when we put the child into bed at night I wanted a simple button to press to do the same thing.<p>I hunted around and just could not bring myself to pay $50 to $100 for a damn button! Especially if I had to rely on some web service... It just seemed ridiculous.<p>In the end I realised that I could just use a cheap wireless mouse. It is stuck onto the change table; we left click to trigger playback, right click to stop, mouse wheel to volume up or down.
If he really wanted to "learn to solder", one of the esp8266 devkits from the likes of sparkfun or adafruit would have served him better and been cheaper and less power hungry as well. Running an entire Linux server nonstop just to watch for a button press seems excessive.<p>Otoh, we've reached the point where you can reasonably run an entire Linux server just to watch a button! Awesome.
Note that Amazon rolled out a second revision of the Dash button that is 4x more energy efficient: <i>"I measured the new Dash Button’s energy usage to be 4.3±2.2 J per activation and the original Button’s energy usage to be 16.4±0.1 J per activation."</i> Source: <a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/" rel="nofollow">https://mpetroff.net/2016/07/new-amazon-dash-button-teardown...</a><p>Although the Dash is still much over-engineered: for every activation it has to establish (I believe) an HTTPS session and exchange a few requests with Amazon servers. A much dumber wifi button sending a single packet should be able to use 1/10th of this energy.
The new Dash button is very different from the old one: <a href="https://hackaday.com/2016/07/26/bending-the-new-amazon-dash-button-to-your-will/.." rel="nofollow">https://hackaday.com/2016/07/26/bending-the-new-amazon-dash-...</a>. and now, Amazon also has the over-priced Amazon IoT button: <a href="https://www.amazon.com/AWS-IoT-Button-Limited-Programmable/dp/B01C7WE5WM/" rel="nofollow">https://www.amazon.com/AWS-IoT-Button-Limited-Programmable/d...</a>
In case you decide to go with a Dash button anyways, I made it easier: <a href="https://github.com/ipartola/amadash" rel="nofollow">https://github.com/ipartola/amadash</a><p>I like the dash buttons because for the price you actually get decent value. Compared to an ESP8266 board, you also get the button, the case, and the battery. The interface for it is not th best, but this actually lets you monitor for many button presses from a single Linux node, so I think this is the cheapest solution.<p>That is not to discourage anyone from learning how to solder, or make their own electronics, but in case you have a bunch of these Dash buttons around already.
Very cool!<p>I too am a "pure software" guy. A few years ago I was really into hardware but started to go with buying finished solutions instead of building things on my own to save time and concentrate on the software.<p>I had no idea it's this simple to solder something together and speak to it.<p>Now I'd love to know how to do the same with a arduino or similar "less heavy" build. Does anyone have links to resources in how to do that and how to get started?
For the Dash, surely it can't be that hard to replace the soldered-in battery with a couple of spring terminals so it can be easily replaced in the future..
<i>— the program effectively is saying “Once every .2 seconds, send some power over this one pin on the board, and let me know if the circuit is complete.” </i><p>No, that's not how this works at all. You're just querying some bit in memory. Nobody is "sending power".
The Raspberry Pi Zero is nice, but he should decider using a Arduino device instead. Both are very different devices. Using a Raspberry Pi for this kind of task is like using a big truck to get a sixpack beer.
I was also tempted to use new IOT amazon buttons with the IOT AWS offering ( <a href="https://aws.amazon.com/iot/" rel="nofollow">https://aws.amazon.com/iot/</a> ), but after looking a bit deeper, the free limit is not that high.
Instead, I bought ESP8266 Wemos D1 mini for $4 each. Instead of AWS IOT I used Google Firebase and I have to admit, it works pretty sweet for me. IFTTT, Siri integration and all.<p><a href="https://piszek.com/2015/06/24/smartpi/" rel="nofollow">https://piszek.com/2015/06/24/smartpi/</a>
I also am constantly looking for better easier solutions for things like this. right now I think the wemos d1 mini is the sweet spot for ease of use/versatility.
Jebus, running a raspberry pi off a battery to turn a light on and off, and it's dependent on an internet connection to function as well? Get a zwave remote control and lights and have something that won't need rebuilding every three months...<p>Yes it'll be more expensive than 15$ or whatever, but he claims he 'just wanted someone to take my money' in the post.
man, I love the RPI. I will love the CHIP, especially the CHIP Pocket, if it's any good, because it's a mobile device with PHYSICAL BUTTONS. That I can kinda TYPE ON. And it RUNS LINUX, so I can code on it. This is truly a brave new world.<p>>If you think tech that was in the PPC in '05 was revolutionary, that is...<p>SHUT UP!<p><i>goes to sob in corner</i>
Interesting! My house is full of multi-way switches that I want to replace with "on" and "off" buttons. Whenever I look at fancy electronic switches, they are expensive and the reviews indicate that they are very unreliable.<p>Perhaps I should just find some time to make my own on and off buttons?
Learning something new is great, but if you just want to turn the light on or off with a remote, you don't need a computer or the Internet:
<a href="https://www.amazon.com/dp/B0087EIDRS" rel="nofollow">https://www.amazon.com/dp/B0087EIDRS</a>