Android and the Web of Things: NFC, EPC, QR and Arduino

As hinted by Vlad on his last post, mobile phones and more specifically Android phones, are great actors of the Web of Things. The openness of the Android platform and the possibility of extending it both in hardware and software terms make it an ideal candidate for a universal Web of Things gateway!

Let me share a hands-on illustration of this here. The video and slide-deck you’ll find below were taken at the last Google Dev Fest in Zurich. There, I was showing how Android phones can be very easily used to decode 1D barcodes, QR-codes (using zxing ) and NFC-tags (using the Android SDK native NFC support) from your custom apps. Illustrating these concepts with the FreezeMe app.

But that’s not it. Android also let’s you prototype the integration of all kinds of devices and accessories through the great and famous Arduino platform. The talk illustrates this using two techniques:

  • The first being an “abuse” of the ADB (Android Debug Bridge) that some smart dudes used as a communication channel to the external world. This gives you a super simple and cheap way of communicating with many Arduinos (like the Uno) from any Android >1.5 mobile phone. The example is based on the ~25$ Circuits@home USB Host Shield (they do ship to Europe as well, I tested it!) as well as the Android Microbridge Project. Note: make sure you check: if you decide to use the Microbridge project.
  • The second being Google’s reaction to the ADB “abuse”. It could have been to patch it to prevent people from using the ADB for extensions but it rather was a nice reaction where Google actually decided to standardize the process of creating (prototypes of) Android accessories in a system called the ADK (Accessory Development Kit), early basis of the Android @ Home project and supported by Arduino devices like the Mega ADK. Note: make sure you check: if you decide to use the ADK.

The tutorial also contains dozens of links, code samples, and troubleshooting notes. Enjoy the video and the slides below, comments are welcomed!

Dominique Guinard