SparkFun will be closed on Tuesday, November 5th to support our team in being able to go out and vote! Orders placed after 2 pm MT Monday, November 4th will ship on Wednesday, November 6th. Thanks for your patience and understanding.
Tomorrow, I am flying out to Las Vegas to help at the AT&T Code for Car and Home hackathon, which is part of the Super Mobility Week conference.
...OK, so in all seriousness, I won't be partying much.
The Super Mobility Week is a week-long conference in Las Vegas that focuses on mobile and connected technology. AT&T's hackathon takes this one step further and asks developers to create some kind of app, device, program, etc. with the focus on a connected home or car (or both!).
SparkFun is one of the many sponsors at the hackathon, and most of the sponsors are bringing hardware or software kits for people to hack on.
SparkFun is including the CC3000 WiFi shield in its kit of parts for people to play with. This shield allows Arduino-type devices to connect to the Internet. Out of the box, the CC3000 can connect to a WiFi router and create basic TCP connection to a server. Luckily, a TCP connection allows us to send and receive RESTful API calls (e.g. GET, PUT, POST, DELETE). That means we can talk to any service that implements the RESTful API.
AT&T's M2X happens to be one of those services. Similar to other Internet of Things services (data.sparkfun, Xively, Electric Imp, etc.), M2X offers a place to store data, so long as your connected device can communicate with REST-style HTTP calls. For example, I can record the temperature in my office for a period of time and look for trends.
A neat trick with M2X is that you can perform a GET command to retrieve the information in a data stream followed by a DELETE to remove all of that data. If these commands are used in conjunction, you can create a very crude Producer-Consumer model with the M2X stream. You can have one device logging values to a data stream and another device (on the other side of the planet) consuming those values to perform some action.
Here, I have set up a basic LED circuit that turns off whenever it sees a "0" in an M2X data stream and turns on for any other value.
If you would like to try connecting the CC3000 to M2X, here is the step-by-step process for creating an M2X account and connecting some hardware. Also, here is a wishlist of the parts in the developer kits:
M2X-with-CC3000 example code can be found on my GitHub page.
Finally, if you happen to be in Vegas this weekend, stop by the Cosmopolitan Hotel and say hi! I'll do my best to be wearing a bow tie...