Freshly brewed from the Mobile World Congress 2015…
The internet of things(IoT for short) encompasses many devices made by many different vendors. Internet standards such as REST, HTTP and IPv4 are not suitable for many of these devices. So vendors are creating their own protocols for communication and management of sensors and devices. That means two vendor’ ’smart’ devices with the same function will not work together. So if you buy a thermometer for inside your house and a thermometer from another vendor for in your garden you will likely need a different app to access each. This is annoying for consumers, adds hurdles for vendors and is generally silly. By analogy, imagine if electricity sockets were not standardized in a country. You would need US power sockets and Euro D power sockets in the same room.
So it would be great if a bunch of thermometer vendors agreed to use the same protocols. The good news is that standards are emerging fast:
- Constrained Application Protocol (CoAP) is a document transfer protocol for constrained devices. In CoAP every byte counts. It sits on the lightweight UDP transport protocol and adds reliability and meaningful semantics for data exchange between devices and servers on the internet.
- MQTT is a publish/subscribe messaging protocol designed for lightweight M2M communications. It was originally developed by IBM and is now an open standard. A drawback is that it requires TCP, which is a greater burden on connected devices. Keep in mind these are tiny devices with not much memory, often running on a battery.
- Lightweight Machine to Machine (LWM2M) adds specifications for remote device management on top of CoAP. Basically it provides standards for reading and writing values or triggering commands on remote IoT devices. LWM2M is provided by the Open Mobile Alliance, a non-profit organisation which provides standards for the telecoms industry. The Open Mobile Alliance also provides a central registry with generic descriptions of many device types. Vendors can register their specific devices in th registry.
ARM endorses CoAP, LWM2M and MQTT
These standards are starting to get serious traction. For example ARM, the company that makes and ships tens of bilions of central processing chip for just about anything that moves (smartphones, tablets, sensors, beacons etc), is including native CoAP, MQTT and LWM2M support in their free mbed operating system which will be available at the end of 2015.
The following shows a demonstration setup by Nordic semiconductors, which produces ARM based chips and components for IoT devices. The cup has a bluetooth low energy beacon which is detected by a bluetooth low energy sensor on the coffee machine. The coffee machine communicates over the internet using a bluetooth gateway on a Raspberry Pi.
Simply place the cup and the machine looks up your coffee preferences and makes coffee!
- Introduction on CoAP and LWM2M: http://yucianga.info/?p=786
- Eclipse foundation (free tools!)
- Open mobile alliance site
- Open mobile alliance github (free tools!)
- ARM mbed (more free tools!)
- Bluetooth smart rapid growth