A platform for casual encounters with interactive technology – Introduction
This series of articles will show you how to easily take any Arduino project and open it up for anyone to control using their cell phone.
What can let people do?
- Set the color of the lights on your X-mas tree as they walk by your window
- Add their vote to a survey on a highway billboard as they drive past
- Check the prices of items while standing in front of a store window
- Turn on the street lights before walking down an otherwise dark alley
- Check the temperature of the water in the community pool from the parking lot
- Find their location and the location of others hiking in a park that has no cellphone coverage
- Fire a water canon on your roof
We will use the Arduino Yun, which costs about $70.
The Yun will create an open Wifi network that anyone can connect to. When they connect, the a control screen automatically pops and they can immediately start interacting.
You do not need to know anything about Linux or shell scripts or Python or CGI or captive portals or IP chains. If you can make a blinking LED on an Arduino and can stumble though editing an existing HTML file, you know everything you need.
Just to get you excited, here is a project I made that lets anyone walking by control a digit of this giant clock…
It is surprisingly fun to control something that is big and far away.
Q: Does my project need an internet connection?
A: Nope! Everything is completely self contained, so you can hide the board anyplace you can find power. In a later project we will even make a solar powered version that can live alone on the top of a mountain.
Q: Why not use m0n0wall or chillispot or another existing hotspot?
A: I tried to get some of the existing hotspots to work on the Yun but eventually it was taking longer than starting from scratch. This strategy is very simple and robust – perfect for a project you want to leave unattended for long periods of time. This is all about easy and reliable.
Q: What not use the YunServer/Bridge library functions?
A: I tried. At first, I could not fit both the YunServer and my application into the Arduino (Just adding the line “YunServer server;” to a sketch costs about 5Kb of memory!). I spent a long time making my app smaller until I finally got everything to fit and upload, but then it would crash after a while. Turns out that the Bridge uses heap allocated C++ strings and so can cause you to run out of memory unpredictably at run time.