On 25-26 October Nicholas Herriot and Ashley Mills from Vodafone Group R&D joined forces with developer.vodafone.com to showcase some of the demos from their collaboration with ARM's mbed platform for rapid prototyping. The picture below shows the demo part of their stand:
This comprised of:
A) An SMS driven, websockets
triggered live tile guessing game.
B) "The Question Mark" - an adhoc feedback point for anywhere gatherings (prints out SMSs sent to it).
C) The color changing light (changes color according to remote instructions).
D) The Dwarf Door (remote access enabled).
In addition to these four interactive demos, we provided three hacking stations on an adjacent table so that participants could get down and dirty with the code and try things for themselves. This proved to be a popular offering, with many Android devs "crossing over" for the first time.
If you fancy trying your hand at some embedded dev using a Vodafone dongle, head over to our pages at http://developer.vodafone.com/labs/m2m to get started, therein you can find a tutorial or two and links on where to download the code.
We had a few FAQs at the event, so it's probably worth giving those a quick airing:
1. Is this an Arduino?
No, this is not an Arduino, but ... it has similar functionality to an Arduino. There are 13 variants of the Ardiuno, but only one of these is based on an ARM chip: the recently released Arduino Due, the rest are based on AVR chips. The former is the only one with native USB host, and thus capable of interfacing with a USB dongle in a practical manner. This didn't exist when we started our project.
Ideally the Vodafone USB dongle suite should work with all popular embedded controllers, but at the moment R&D has resources to focus only on the mbed (there are lots of other exciting projects in R&D). On a personal note, I'd love to see the mbed online compiler support the Arduino Due.
2. Is this a Raspberry Pi?
No, this not a Raspberry Pi. The Raspberry Pi is an incredible project that we love, it's doing great things for education, and with expansion boards it can do anything the mbed can. In fact, hangon a minute, looks like a Raspberry Pi is actually cheaper than an mbed! So why would I not just use the latter?
This is an excellent question, and I'm glad I was asked it. I could come up with a few reasons myself, but I also asked the mbed IRC channel and had a look on the mbed forum. I've come up with a few reasons, listed below. Please don't take these reasons to be some kind of "mbed vs Raspberry Pi": they are simply things to think about when designing a new embedded project. Some of them might be controversial, but that's the point: discussion is the brother of understanding and the key to making an informed decision.
a) The codebase of the mbed is an order of magnitude smaller than that of Raspberry Pi. This could be relevant in mission-critical applications where a full audit of the code is desirable.
b) mbed consumes approx 1/2 power of a Raspberry Pi. This could be relevant for applications in the field.
c) mbed doesn't require knowledge of a (potentially unfamiliar) OS to operate, and conversely the concepts of embedded programming can be understood outside of the context of that OS.
d) volume manufacture should be cheaper for a product based on the mbed (despite the mbed being more expensive than the Raspberry Pi), because the base chip is significantly cheaper (CortexM3 vs ARM11).
e) mbed has a fantastic online cloud compiler that facilitates easy collaboration and sharing of code, without having to keep extensive tool chains up-to-date.
3. Why are you using SMS?
For each of the SMS demos we showcased, we have also tested equivalents which are IP driven, either directly over sockets, or via HTTP calls. So do not fear, everything you saw would work over IP. The reason we use SMS in our demos is that:
a) It requires no additional infrastructure (servers
etc), and no maintenance of that infrastructure.
b) It is more secure than an *unencrypted* connection to the internet.
d) It almost always works.
e) Devices can be addressed uniquely and globally.
f) It doesn't require a PDP context to be maintained open for long periods of time.
g) It requires less power than a 3G connection.
mbed provides a fully fledged IP implementation and BSD sockets library, as well as C++ abstractions for TCP and UDP sockets. It also provides a HTTPClient, and websockets clients. Thus, any ordinary functionality you would expect for a library designed to interact with the rest of the Internet, is present. So please, go for it! :)
4. Can I buy this now, is this a product?
Yes you can buy this now. All you need is an mbed, which you can buy here: http://mbed.org/handbook/Order, and a Vodafone USB dongle http://shop.vodafone.co.uk/shop/mobile-broadband-devices/internet-dongle-K3772-z-payg. Once you've got that, head over to http://mbed.org/handbook/Vodafone to get started.
We'd like to thank all the engaging and stimulating visitors that came to quiz us throughout the day: you made it a great show.
Pingbacks / Trackbacks
Pingbacks are closed.
- Vodafone India announces unique monetizing opportunities for Developers!
- Vodafone appStar is Back !
- Vodafone and TiE bring you 'Innovation in Education through Collaboration'. Thursday, October 24, 2013
- AppSelect update - February 2013
- Winners of the Vodafone App Star Challenge announced in South Africa
- accessibility awards 2011
- vodafoneshop developer apps mobile
- Mobile Clicks 2011 6 entries
- Survey 2 entries
- The Internet of Things 0 entries
- Vodafone Backstage 0 entries
- Vodafone developer backstage 1 entry
- Discover Content 0 entries
- Competition 34 entries
- Event 33 entries
- New Content 12 entries
- News 47 entries
- Publishing 12 entries
- Testing 9 entries
- Tips 30 entries
- Uncategorized 16 entries
- Webinar 4 entries
- January 2014
- October 2013
- February 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009