Keil Logo

IoT clients

Learning Platform

The Internet of Things (IoT) describes connected end-node devices that collect, process and exchange data. Such devices are frequently connected via the Internet to a cloud service that provides processing power, data analytics, and storage capabilities. An IoT client is a software interface which runs in the IoT end-note device and establishes the connection to a cloud service.

Many cloud service providers offer open-source software that implements an IoT client for an embedded system. Arm adopted these clients for using the reliable MDK-Middleware network component for communication with the cloud service. Alternatively, you can use WiFi devices that are supported by a CMSIS-WiFi driver. The following IoT clients are supported:

Most IoT clients use the MQTT protocol, which is a lightweight messaging protocol for IoT applications. It communicates over TCP/IP using a TCP socket (in case of a non-secure connection) or a TLS socket (in case of a secure connection with encryption).

Building blocks

The following MDK-Packs provide the basic building blocks that are required to connect to the cloud providers. These software packs are available from the Pack Installer:

MDK-Packs for IoT cloud providers

For the above mentioned cloud providers, an IoT client is available. The end node application uses this client, connected to the MDK-Middleware networking stack running on a CMSIS-RTOS v2 based real-time operating system.

Software flow

A simplified software flow can be described as follows:

  1. The application initializes and starts the real-time operating system.
  2. It initializes the network stack which needs to be active before the next step.
  3. The IoT client is used through its API.
Building Blocks

Further information and download

Application note 312 provides further details on the various cloud services that are supported.

All software packs are fully CMSIS-Packs compliant so that they can be used in any third party development environment with CMSIS-Pack support.

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.