Ever saw these wireless security cameras that you can buy off the shelf? These are devices that you can setup somewhere in your home or outside, connect to your WiFi network, and then access the video stream from anywhere. However, they are usually using the interface given by the manufacturer, which means you are quite limited with what you can do with your camera.
In this project, we are going to build our own DIY version of such devices. The project is based on the Arduino Yun, to which we are going to connect a standard USB webcam and a PIR motion detector to create some cool applications.
The first application will be a modern version of standard tasks that you want for a security camera: taking pictures when some motion is detected. The project will store pictures taken by the USB camera on an SD card inserted into the Yun, but that’s not all. Because we are in the age of the Internet of Things, we also want these pictures to be automatically uploaded on a secure location. And that’s exactly what we are going to do by uploading the pictures to Dropbox at the same time.
Then, we are going to stream video coming from the camera directly on Youtube. At the end, you will have your own video stream accessible from anywhere in the world so you can check what is going on in your home. This way, you can also just share the link with your family or friends, so they can monitor your home when you are not there. Excited? Let’s dive in!
Arduino YUN (YÚN). Arduino Yún is the first member of a new groundbreaking line of wifi products combining the power Linux with ease of use of Arduino.
Yún means “cloud” in Chinese language as the purpose of this board is to make it simple to connect to complex web services directly from Arduino.
The first Arduino Yún is the combination of a classic Arduino Leonardo (based on the Atmega32U4 processor) with a Wifi system-on-a-chip running Linino (a MIPS GNU/Linux based on OpenWRT).
Designed in collaboration with Dog Hunter, a company with extensive experience with Linux, the board adopts the linino distribution which provides signed packages to ensure the authenticity of the software installed on the device.
We embedded the Linux machine directly on the PCB of the Arduino Leonardo and we connected the two so that from Arduino it’s very easy to run commands on the Linux side and use it as an Ethernet and Wifi interface.
Historically, interfacing Arduino with complex web services has been quite a challenge due to the limited memory available. Web services tend to use verbose text based formats like XML that require quite a lot or ram to parse. On the Arduino Yún we have created the Bridge library which delegates all network connections and processing of HTTP transactions to the Linux machine. To make it even simpler to create complex applications, the Arduino Yún comes loaded with the power of Temboo, an innovative startup which provides normalized access to 100+ APIs, databases, and code utilities from a single point of contact allowing developers to mix and match data coming from multiple platforms (for example, Facebook, Foursquare, Dropbox and even FedEx and PayPal).
The board can be programmed with an USB cable in the classic Arduino way or through the Wifi connection without the need to physically access the board. The new Arduino 1.5.4 IDE has the ability to detect any Arduino Yún connected to the local network. Clicking on the name of board and inputting a password is all it’s needed to program a board.
This is the first official Arduino made in Asia, in Taiwan, because dealing with a tiny embedded Linux machine and Wifi all on a small board like this requires special equipment and expertise that are easier to find there.