Have you ever sat at your desk and wondered what was happening back at home? Maybe you wanted to see how your baby was? Maybe you wanted to make sure that the dog wasn't sitting on the couch or maybe just enjoy the view outside your living room!
If only there was a way! Ever wished you had eyes everywhere? Well, good news! Now you can! And even better news! You don't have to spend a cartload of money!
You can build your very own IoT Sentry Ward using an Intel Edison, an old Android phone, a few household materials, and pure elbow grease!
Your Sentry Ward allows you to sneak a peek into what's happening around your house!
Files
tweetint.py
Final Python code for integration of Light Sensors
The first thing you'll need to do is set up the Intel Edison. There are a number of very comprehensive guides scattered around the Internet on how to do that. This one in particular is my favourite if you plan to develop many more applications on your Edison.
Connect your Intel Edison to your PC using the J3 and J15 micro USB ports
Start the Driver setup and follow the instructions given
Now you've completed the basic setup for your Edison. Now we'll get to configuring your Edison to your WiFi at home.
Go to Start Menu >> Device Manager >> COM (Ports and LPT)
There will be a device labelled "USB Serial Port". Note the COM number written in brackets in front of it.
Open PuTTY and start a session with the following parameters
COM Port = (Number you noted down)
Baud Rate = 115200
Click "Open"
Hit Enter twice and type in "root" when prompted
Type in "configure_edison --setup"
Follow the instructions to set your password and WiFi. It will show you the IP address of your Edison when you're done.
To test the connection type in "ping www.google.com". If you see that Google is returning your pings, your Edison is connected to the Internet!
2
Step 2
For every sentry, you're going to need a watchful eye that is capable of capturing images.
Good news is, you don't need to buy an expensive camera or camcorder! You can make one using an old Android phone lying around the house! Just make sure its running an Android version post 2.3.4 Gingerbread.
I'll be using an old Sony Xperia Play that was catching dust in my drawer. It shipped with a snazzy little dock onto which it sits pretty comfortably and so I don't have to worry about propping it up!
What you're going to want to do is install an app called IP Webcam on your old Android device from the play store from the following link;
Once you're done, make sure you're connected to your home wifi network and open up IP Webcam and scroll to the bottom. Select "Start Server" and note the IP address that appears near the bottom of the screen. It should look something like "http://192.168.x.xxx:8080";
To check if your camera is connected to the network, open up a browser on your computer and type in the IP address you saw on your phone including the 8080 at the end. The tab will be named "IP Webcam", and you should see a number of options regarding the video recorder. Select the "Browser" button in front of the "Video Renderer" option and you should see a live stream of the video on your Android device!
Alright! Now that you've configured your sentry, let's see how we can get it to send image data to the Internet!
3
Step 3
In order to communicate with a Twitter account, we will need some credentials. These credentials are stored by Twitter in keys which it allows developers to use for their apps. To get your keys, do the following;
Fill in your app details like its name and description. In the Website field, you may put in a dummy webpage. Agree to the conditions and hit "Create your Twitter Application"
Once your application has been created, go to the "Permissions" tab and select "Read,Write and Access direct messages" and hit "Update Settings"
You can check your keys in the "Keys and Access Tokens" tab. Scroll down and click on "Create my Access Token"
Once the tokens have been created, make note of;
Consumer Key
Consumer Secret
Access Token
Access Token Secret
Great work! Now you've configured Twitter to send and receive data from your account!