ARM is making its Mbed online development platform the cornerstone of its push into the internet of things (IoT), while settling on Java as the connection between the worlds of embedded processing and cloud-based IT.
John Cornish, executive vice president and general manager of ARM’s system-design division, explained at ARM TechCon 2013: “What we are doing now is refocusing Mbed on IoT. We are stepping up our investment and several of our partners are stepping up theirs. And expanding support for the key radio standards necessary to connect things to the cloud.”
Following on from the company’s acquisition of Sensinode over the summer, Cornish said ARM is providing the software built by the IoT startup on Mbed: “We are making evaluation versions of the Nanostack and Nanoservice software available on Mbed this week [31 October] so developers can use it to control their Mbed projects. We are consolidating the fundamental building blocks.”
Photo ARM's John Cornish speaking at ARM TechCon 2013
IoT needs more than cellular
“We have partnered with NXP and Freescale. Xively [an IoT software startup] worked with us for over a year. And we’ve worked with operators, such as Vodafone and Sprint,” Cornish added. “We are building out support for all the radios that are required. Cellular modems alone can’t power the IoT. Low-power wireless will connect into the internet backbone.
“I saw a nice demo last week: a wireless module addon to an Mbed board. Using that, the board could connect to services with just a $10 hardware cost. In the industrial space, things like pumps could take advantage of the WiFi infrastructure and add communications capability at a low marginal cost.”
Cornish said ARM sees the 6LowPan protocol, to which Sensinode contributed, as one of the key low-power wireless protocols for low-cost IoT implementations. Although they consume less power and are generally cheaper to implement that cellular or WiFi-based protocols, the low-power radio systems cannot easily run Internet Protocol stacks.
Whereas cellular and WiFi support packet sizes of 1Kbyte and up, “these low-power wireless protocols have much smaller packets. Protocols have been developed to fragment and reassemble them, and software such as Nanostack supports this”, Cornish explained. “To map the internet stack to these low-cost devices, you have to bridge them through a proxy of some kind, which is usually on a gateway or cloud server.”
For ARM, this proxy is likely to be running Java, not least because of the ready availability of graduates who have learned the language at college. “We are seeing a static and even shrinking number of C and C++ developers, while seeing the emergence of platform languages such as Java,” said Cornish.
“ARM has been a long-term supporter of Java. The ARM926 had acceleration built-in to support Java. It was a good idea at the time because we were seeing the first handsets built to support Java. Now ARM and Java are used even more now than they were. We have been working with Oracle and the Java abstraction layer in Java ME. We have been doing this work together with Freescale,” Cornish said.
“We have donated our Sensinode COAP code to OpenJDK, the open-source Java,” Cornish added.
The COAP stack was designed to provide a web services-like programming interface to low-end embedded devices that talk to servers through 6LowPan. ARM hopes that COAP will become widely adopted in the same manner as the SOAP web-services interface used over HTTP on the core internet.
“Big data is clearly formed from lots of little data. It will come from billions of low cost devices connected together. But it will only grow if the industry closes around key standards,” said Cornish.