To help device manufacturers join the Internet of Things (IoT), ARM mbed created mbed Client: a library that connects devices to mbed Device Connector Service, and to mbed-enabled cloud services from our partners. It is a free, high-level C++ API with porting guidelines and examples that can turn any device into an endpoint to use with mbed Device Connector.
mbed Client implements a subset of mbed OS functionality and is optimized for constrained networks and devices; it uses the Constrained Application Protocol (CoAP) to provide energy-efficient communication and supports security measures tailored for low-memory devices.
Manufacturers who use mbed Client can rely on:
- Full compatibility with mbed Device Connector Service and cloud services from mbed partners, as well as mbed OS and most RTOSs and Linux:
- Easily port to the most popular IoT device platforms. We provide sample ports and porting guides.
- Compile a single code base for multiple platforms.
- A communication stack with low power consumption, based on CoAP.
- Free, open source library under the Apache 2.0 license.
- Small memory footprint.
- ARM mbed TLS for a secure connection and supports other TLS libraries.
- OMA Lightweight Machine to Machine (LWM2M) compliance.
High-level C++ API features
The mbed Client API provides full control of endpoint and application logic, including:
- Registration and deregistration.
- Information reporting with Observe, Notify and Cancel Observation.
- Device management and service enablement using GET, PUT, Write, Write Attribute, Create and Delete.
- LWM2M object management.
- Delivery support using queue mode for UDP.
- Data format support for plain text and OMA TLV.
See the mbed Client User Guide for more information about the API.
Porting mbed Client to your platform
If you would like to port mbed Client to your preferred platform, you can check the porting guide. You can then contribute your code to the wider developer community as open-source. Please contact your partner lead or send an e-mail to firstname.lastname@example.org.
Example applications of mbed Client using mbed Device Connector Service
Two example applications to get you started with mbed Client and using mbed Device Connector Service:
mbed OS example, for the mbed OS-powered FRDM-k64F Ethernet-enabled board.
Linux example, for Linux computers.
Deployment Example - mbed Client with mbed Device Connector Service
In this example, the mbed Client is running on an embedded device - a door lock. It uses the WiFi connection of a nearby phone or the home's router to connect to the mbed Device Connector Service, which provides web services.