Do it yourself: Build A Remote Surveillance App Using Bluemix, Cloudant, And Raspberry Pi. via developer works
Bluemix is an open-standards, cloud-based platform for building, managing, and running applications of all types (web, mobile, big data, and smart devices, for example).
To implement a home security system, you can create an app that sends pictures taken by a Raspberry Pi device to Cloudant. By using Node.js, you can display the picture on a web page that you can monitor remotely.
What you’ll need for your application
0
Raspberry Pi device, running Raspbian
The following Python 3.4.1 libraries and packages installed (get these through Apt-Get or pip):
autobahn
asyncio
cloudant
uuid
base 64
picamera
Familiarity with Node.js and Express Node.js
Familiarity with JADE
Familiarity with HTML and CSSBasic steps
0The home-security app performs the following actions:
1. Using Python, the app opens a web socket on the Raspberry Pi device.
2. The Node.js app running on Bluemix connects to that web socket.
3. The Python HGServerProtocol.onConnect event calls the function that takes the picture.
4. The picture is taken and uploaded to Cloudant.
5. The web socket returns the document ID to Node.js.
6. Node.js connects to Cloudant and uses the document ID to retrieve the image from the database.
7. Node.js displays the image on the web page.
This app uses the following protocols and classes:
The class HGServerProtocol, which implements the WebSocketServerProtocol on the Raspberry PI and defines what to do when the following events are encountered:
onConnect
onOpen
onMessage
onCloseThe class HGCloudantDB, which handles the connection to the Cloudant database and handles the manipulation of the JSON documents (including the calls GET, PUT, POST, and so on)
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!