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.

Matt Richardson is a San Francisco-based creative technologist and Contributing Editor at MAKE. He’s the co-author of Getting Started with Raspberry Pi and the author of Getting Started with BeagleBone.

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.