Protocols for the Internet of Things

What does the phrase Internet of Things mean? It depends a lot on where you stand in the supply chain. Many have tried to define it, and the definitions are often colored by the needs of their own industries and their own agendas. But as a hardware or software engineer, you already understand the essential element: to build products that are interconnected. And embedded systems will play – and are playing – a crucial role in the development of the IoT. In this article, we will take a look at the Internet and its existing and new protocols supporting the IoT efforts. Before we look at these protocols, let’s define what a thing is because the end device tasks will dictate most of the requirements for the protocols to use.

Industrial Vs. Consumer IoT


The software requirements for industrial and consumer IoT devices can differ quite a bit. Although they might share a common kernel and low-level services, the middleware required by their applications can be radically different. 

Industrial IoT, i.e. a WSN node represents a software stack for an industrial IoT device, such as a wireless sensor node (WSN). This low-power, low-cost device may run entirely on battery. Such a device might typically use a 32bit

processor. It can also use an 8 or 16 bit processor, but with the communications stacks running on an add-on modules. It would use a highly efficient network protocol such as 6LoWPAN to reduce transmission time and save power. It also could communicate over short distances wirelessly using Bluetooth. As an edge node, we need to transfer the data from the wireless network to an IP based network (local or public Internet) and it would use a low-power Wi-Fi or Ethernet. 

learly, the software requirements for this device are much greater. It might need a Java VM. It also may well use a vertical market protocol. Unfortunately, the consumer IoT is very fragmented in terms of vertical market protocol (application protocol). Many companies are proposing proprietary solutions. In the home consumer market for example:

  •   Apple has MFI (Made For Idevices)

  •   Google (Nest) has announced Thread

  •   Samsung, Intel , Dell , Atmel and Broadcom have joined forces to launch the Open Interconnect Consortium (OIC)

  •   The AllSeen Alliance (previously AllJoyn) has been proposing a standard for years. The Premier members are Haier, LG, Microsoft, Panasonic, Qualcomm, Sharp, Silicon Image, Technicolor and TP-Link.  

There are other examples like power line communication: HomePlug and HomeGrid.

In the medical vertical market, organizations like the Continua Alliance, IHE (Integrating the HealthCare Enterprise) or IEEE are also developing and proposing standards.

These protocols are not offered by Micrium. An equipment manufacturer requiring its products to be compatible with one of these consumer IoT protocols need to register with these organizations and then integrate these protocols as part of its product application.

In the Industrial IoT, there is less of this market driven initiative. There is one major activity called the Industrial Internet Consortium (IIC) with AT&T, Cisco, GE, Intel and IBM as founding members. But, outside of IIC, the development of IoT devices and systems is pretty much proprietary. This is why the knowledge of the Internet and the Internet Protocols (IP) are so important now to embedded system developers.

Internet Protocol (IP)

The use of IP technology is fundamental to IoT. IP allows for systems interoperability. This feature may not seem important today, but as IoT evolves, systems interoperability will become a major revenue generating capability. Ethernet/Wi-Fi and 6LoWPAN both rely heavily on IPv4 and IPv6.

IP protocols used in IoT

It is certainly possible to build an IoT system with existing Web technologies, even if it is not as efficient as the newer protocols. HTTP(S) and Websockets are common standards, together with XML or JavaScript Object Notation (JSON) in the payload. When using a standard Web browser (HTTP client), JSON provides an abstraction layer for Web developers to create a stateful Web application with a persistent duplex connection to a Web server (HTTP server) by holding two HTTP connections open.

HTTP

HTTP is the foundation of the client-server model used for the Web. The safest method to implement HTTP in your IoT device is to include only a client, not a server. In other words, it is safer when the IoT device can initiate connections to a Web server, but is not able to receive connection requests. After all, we don’t want to allow outside machines to have access to the local network where the IoT devices are installed.

WebSocket

WebSocket is a protocol that provides full-duplex communication over a single TCP connection over which messages can be sent between client and server. It is part of the HTML 5 specification. The WebSocket standard simplifies much of the complexity around bi-directional Web communication and connection management. Using Websockets in conjunction with HTTP is a good solution for IoT devices if the devices can afford the HTTP payloads.

XMPP

XMPP (Extensible Messaging and Presence Protocol) is a good example of an existing Web technology finding new use in the IoT space.

XMPP has its roots in instant messaging and presence information, and has expanded into voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. It is a contender for mass scale management of consumer white goods such as washers, dryers, refrigerators, and so on.

XMPP strengths are its addressing, security, and scalability. This makes it ideal for consumer-oriented IoT applications.

HTTP, Websocket, and XMPP are just examples of technologies being pressed into service for IoT. Other groups are also working furiously to develop solutions for the new challenges IoT is presenting us.

IoT dedicated Protocols

Many IoT experts refer to IoT devices as constrained systems because they believe IoT devices should be as inexpensive as possible and use the smallest MCUs available, while still running a communication stack. 

Currently, adapting the Internet for the IoT is one of the main priorities for many of the global standardization bodies. 

If your system does not require the features of TCP, and can function with the more limited UDP capabilities, removing the TCP module entirely, greatly helps to reduce the size of the total code footprint of your product. This is what 6LoWPAN (for WSN) and CoAP (light Internet protocol) bring to the IoT universe.

CoAP

Although the Web infrastructure is available and usable for IoT devices, it is too heavy for the majority of IoT applications. In July 2013, IETF released the Constrained Application Protocol (CoAP) for use with low-power and lossy (constrained) nodes and networks (LLNs). CoAP, like HTTP, is a RESTful protocol.

CoAP is semantically aligned with HTTP, and even has a one-to-one mapping to and from HTTP. Network devices are constrained by smaller microcontrollers with small quantities of flash memory and RAM, while the constraints on local networks such as 6LoWPAN are due to high packet error rates and a low throughput (tens of kilobits per second). CoAP can be a good protocol for devices operating on battery or energy harvesting.

Features of CoAP: CoAP uses UDP

 Because CoAP uses UDP, some of the TCP functionalities are replicated directly in CoAP. For example, CoAP distinguishes between confirmable (requiring an acknowledgement) and non-confirmable messages.

  •   Requests and responses are exchanged asynchronously over CoAP messages (unlike HTTP, where an existing TCP connection is used).

  •   All the headers, methods and status codes are binary encoded, which reduces the protocol overhead. However, this requires the use of a protocol analyzer to troubleshoot network issues.

  •   Unlike HTTP, the ability to cache CoAP responses does not depend on the request method, but the Response Code.

    CoAP fully addresses the needs for an extremely light protocol and with the nature of a permanent connection. It has semantic familiarity with HTTP and is RESTful (resources, resource identifiers and manipulating those resources via uniform Application Programming Interface (API)). If you have a Web background, using CoAP is relatively easy.

    MQTT

    MQ Telemetry Transport (MQTT) is an open source protocol that was developed and optimized for constrained devices and low-bandwidth, high-latency, or unreliable networks. It is a publish/subscribe messaging transport that is extremely lightweight and ideal for connecting small devices to networks with minimal bandwidth. MQTT is bandwidth efficient, data agnostic, and has continuous session awareness, as it uses TCP. It is intended to minimize device resource requirements while also attempting to ensure reliability and some degree of assurance of delivery with grades of service.

    MQTT targets large networks of small devices that need to be monitored or controlled from a back-end server on the Internet. It is not designed for device-to-device transfer. It is also not designed to “multicast” data to many receivers. MQTT is simple, offering few control options. Applications using MQTT are generally slow in the sense that the definition of “real time” in this case is typically measured in seconds.

    Comparison of potential IoT protocols

    Cisco is at the heart of the Internet; their IP equipment is everywhere. Cisco is now actively participating in the evolution of IoT. It sees the potential for connecting physical objects and getting data from our environment and to process this data to improve our living standards.

  • These Internet-specific IoT protocols have been developed to meet the requirements of devices with small amounts of memory, and networks with low bandwidth and high latency.
  • HTTP can be a heavy protocol for an IoT device. It has large messages because they are sent in human-readable format. For IoT devices, payload size is often a constraint. For a large family of devices, reporting and accepting commands can be done more efficiently with a much lighter protocol. MQTT has been proposed as the answer to these problems. MQTT is not an IETF standard, and is driven by IBM and the Eclipse foundation.

    Conclusion

    In the term “Internet of Things” there is Internet. Some may offer devices coined as IoT devices without the use of the Internet Protocol. We should expect this. Today, IoT is such a strong term (some may say hype) that every manufacturer wants to take advantage of the enormous IoT media coverage.

    The Internet Protocol (IP) is a carrier; it can encapsulate just as many protocols for the IoT as it does today for the Web. A lot of industry pundits are calling for protocol standardization. But if there is such a large number of protocols for the Web, why wouldn’t there be just as many for the IoT? You choose the protocols that meet your requirements. The only difference is that the IoT protocols are still fairly young, and have yet to demonstrate their reliability. Remember that, when the Internet became a reality, IP version 4 was what made it possible. We are now massively deploying IP version 6, and IoT is the killer application that telecommunication carriers have been waiting for to justify the investment required.

    The positioning for each of the IoT protocols requires a similar questioning. With the exception of HTTP, all these protocols are positioned as real-time publish-subscribe IoT protocols, with support for millions of devices. Depending on how you define “real time” (seconds, milliseconds or microseconds) and “things” (WSN node, multimedia device, personal wearable device, medical scanner, engine control, etc.), the protocol selection for your product is critical. Fundamentally, these protocols are all very different.

    Beyond hardware and software design, however, is the design of IoT data systems. We need to separate the data from the application so that we can do new things with it, things we have not yet imagined. For the typical embedded system developer, thinking specifically about the data the system generates requires a new frame of mind. There is a value in this data. In embedded system design, we understand very well how to architect the Thing, the local network and even the gateway. The processor, sensor, wireless connectivity, gateway, IP network and security are all elements that are well-known to the embedded developer.

    The new challenge for the embedded community is to take advantage of the value inherent in our data by leveraging some type of cloud computing. In order to monetize the embedded system’s data, some type of cloud computing is absolutely required, be it private, outsourced or public. This is a new paradigm for the embedded community.

    Embedded systems hardware technology, software technology, infrastructure, and cloud computing are actively being tested and deployed, fostering the emerging Internet of Things. To be really successful, and realize the 50 billion devices that will be deployed by 2020, we require the same open standards, development and cooperation that supported the creation of the Internet of People (also known as the Web). The IPSO Alliance is promoting the IP standards and uses it to build the reference architectures product developers are looking for.

    IoT for embedded systems is the new industrial revolution. The growth potential for the embedded industry is enormous. To realize this potential, the embedded industry needs to adopt the new IoT paradigm. We now understand what needs to be done. We may not yet have well-defined and established standards for each structural element of future IoT systems like ease of configuration or secure remote firmware upgrade. But this should not stop anyone from building a system that will provide value to their customers. 


     



최신 뉴스

Sorry, your filter selection returned no results.

개인정보 보호정책이 업데이트되었습니다. 잠시 시간을 내어 변경사항을 검토하시기 바랍니다. 동의를 클릭하면 Arrow Electronics 개인정보 보호정책 및 이용 조건에 동의하는 것입니다.

당사의 웹사이트에서는 사용자의 경험 향상과 사이트 개선을 위해 사용자의 기기에 쿠키를 저장합니다. 당사에서 사용하는 쿠키 및 쿠키 비활성화 방법에 대해 자세히 알아보십시오. 쿠키와 추적 기술은 마케팅 목적으로 사용될 수 있습니다. '동의'를 클릭하면 기기에 쿠키를 배치하고 추적 기술을 사용하는 데 동의하는 것입니다. 쿠키 및 추적 기술을 해제하는 방법에 대한 자세한 내용과 지침을 알아보려면 아래의 '자세히 알아보기'를 클릭하십시오. 쿠키 및 추적 기술 수락은 사용자의 자발적 선택이지만, 웹사이트가 제대로 작동하지 않을 수 있으며 사용자와 관련이 적은 광고가 표시될 수 있습니다. Arrow는 사용자의 개인정보를 존중합니다. 여기에서 당사의 개인정보 보호정책을 읽을 수 있습니다.