I’m a big fan of the XBee Internet Gateway. I used it for The Networked On Air Light and a personal project called the Ego Ticker. XIG lets you use XBee radios to wirelessly connect your projects to the internet. Previously, your project would request a URL via serial to the XBee radio and the response (i.e. a webpage’s HTML) would be returned via serial. It works for a lot of different types of wireless projects, but it means that you sometimes have to poll for data, which you don’t always want to do. It’s like asking over and over again “are we there yet?” instead of saying “let me know when we get there.”

The latest version of XIG lets you communicate in both directions with your wireless project, meaning you can do away with the pesky polling. Check out the video above to get a quick demo of how to set up XIG push serial data to your project using the iDigi Cloud and also take a look at the project’s wiki to see a few other ways of communicating with your project from the cloud. According to Jordan Husney, iDigi Solutions Architect, the XIG creates a persistant outbound connection to the iDigi Cloud, so you won’t have to monkey around with your router’s settings to get data from the internet to your projects. I have a few projects in mind that this update is perfect for.

BY Matt Richardson

Matt Richardson is a Brooklyn-based creative technologist, contributing editor for MAKE magazine, and co-author of Getting Started with Raspberry Pi. He's also the owner of Awesome Button Studios, a technology consultancy. Highlights from his work include the Descriptive Camera (a camera which outputs a text description instead of a photo) and The Enough Already (a DIY celebrity-silencing device). Matt's work has been featured at The Nevada Museum of Art, The Rome International Photography Festival, Milan Design Week and has garnered attention from The New York Times, Wired, and New York Magazine.

2 Responses to XIG Update Pushes Wireless Data to Projects

  1. Another easy solution to the polling problem, if you have control over the server side, is to set up the server-side function to block until either the desired event happens or a timeout is reached. If the client gets a timeout, it immediately resends the request.

    Works about like polling, but with less overhead and the immediate response time of a server-pushed message, and the server doesn’t need to keep track of interested clients.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

%d bloggers like this: