What I’m working with
I have an Arduino Uno R3 with a bunch of sensors, LEDs, a small breadboard, various jumper wires, a multimeter.
Goal: detect with sensor, send me a text
I want to build a prototype that can read sensor data and notify me via text message (SMS) or Email when certain conditions are true. For example, I just created a quick human motion detector alarm using this tutorial, with slight modifications because my piezo buzzer is different:
View this post on Instagram
My first pass at an #arduino motion activated alarm. Using a PIR (passive infrared) motion sensor, an LED and a piezo buzzer. And yes, people in the office are starting to hate me for using buzzers. TO DO: get a WiFi shield or breakout board like the Adafruit CC3000 (or switch to RFDuino, Yun, etc), hook it up to a notification service (AWS, TelAPI, Twillio, TextBelt) and have it text /email me when motion is detected.
Roadblock: No built-in WiFi with an Uno
My Arduino Uno R3 was great to get started with. It’s simpler than a Leonardo or a Yun. The Yun has built-in WiFi and a built-in mini Linux server. An RFDuino is smaller and has built-in WiFi. I wanted to start with the simple stuff first. Now that I’ve worked my way up to building more complex prototypes, internet connectivity is a must.
Other Option: Uno + Laptop + WiFi = Interwebs
There are ways to have an Uno send a text or email by keeping it hooked up to a laptop or PC that’s running a python script that talks to a web service or your local web server. I can also use BreakoutJS or NodeJS library like Johny-Five in a similar fashion, where the Uno has to be connected to my laptop so it can have internet connectivity. I want my toys to be free-standing, independent of a laptop, so, it looks like I’ll need to get a WiFi Shield or a WiFi breakout board.
WiFi Options for Uno
So far, Adafruit’s CC3000 looks like the best option for laptop-free Arduino Uno WiFi solution. It claims to be faster than other WiFi shields / boards because it’s not using UART. I need to look into this further.
I’ll need to order CC3000 WiFi Shield from Adafruit and sign up for a web service provider that lets me call their API, something like Amazon Web Services (SNS service), Twillio, TelAPI, TextBelt. The AWS account allows up to 100 free texts/mo and small fee if you go over. TextBelt is free but describes itself as “fairly reliable”.
CC3000 Shield v. the CC3000 Breakout Board
- shield is tied only to Arduino Uno size boards, plus you have to solder stuff
- shield comes with more functionality, like an SD Card slot, in case I decide to add photo capture functionality later
- breakout board, you have to solder it but if I switch to an Arduino Mini tomorrow, it will still work since it connects to a breadboard and not the board directly
With CC3000 there’s the initial one-time cost of buying a few soldering tools. I guess, in that sense an official Arduino WiFi Shield won’t require soldering, even though it costs a bit more than double. I need to see if that UART speed issue is a factor.
There’s a cool tutorial from Open Home Automation to set up a motion detecting HUB with two micro controllers, one (or more) for the sensor and the other as the central hub.
This is a work-in-progress. To be continued…