Consisting of client libraries written in Embedded C, the Cloud IoT Device SDK enables developers to securely connect, provision, and manage devices with Cloud IoT Core. The kit targets energy- and size-constrained applications, such as battery-powered cellular devices that act as asset trackers, or Wi-Fi smart home devices with limited flash ROM (read-only memory).
“In addition to partner platforms that are supported out of the gate, now you or your embedded systems engineering team can easily port the Cloud IoT Device SDK to a wide array of 32-bit microcontrollers (MCUs) and across various real-time operating systems such as Zephyr, ARM Mbed OS, FreeRTOS kernel, with more to come,” says Indranil Chakraborty, Product Lead, Google Cloud IoT Core. “The SDK also operates on POSIX-compliant operating systems like Linux, and can scale down to bare metal devices with the inclusion of its asynchronous API and event scheduler.”
Key features included in the SDK:
- A highly portable feature set paired with a lightweight BSP (Board Support Package) allowing for the deployment of new features with minimal engineering impact
- Single-threaded operations with co-routines to support bi-directional messaging without interrupting device applications
- All the necessary security requirements to connect to IoT Core via JSON Web Token (JWT) authentication, out-of-the-box integration with third party TLS stacks (wolfSSL, mbedTLS), including TLS 1.2 and support for various secure elements
- Integrated back-off logic that implements intelligent networking behavior to prevent self-inflicted DDoS (distributed denial of service) events after service outages
- Future support for Cloud IoT Provisioning
- Support for compute-, memory-, or space-constrained devices:
- Small memory footprint (estimated 25KB of flash memory depending on tool chain optimizations, 80kb with a TLS software solution) with optional feature modularity for size optimizations
- Asynchronous API enabling no-OS operation
- Low power consumption via non-blocking sockets
- An event scheduler and optional thread pool for user callbacks
The Cloud IoT Device SDK allows embedded engineers to rapidly prototype, profile, and test in a standard desktop environment before porting to an embedded target, while at the same time, says the company, it allows semiconductor companies to easily update product lines with support for the latest features in Cloud IoT Core. Google partners collaborating on the SDK include Arm, Cypress Semiconductor, Nordic Semiconductor, Espressif Systems, Microchip Technology, and NXP Semiconductors.
For customers designing, building, or deploying IoT solutions, the SDK supports a wider array of MCU-class devices, opening up the opportunity to build systems for asset tracking, smart agriculture, and energy metering. Google partners and developers can start building with the SDK via the company’s GitHub repository.
Google Cloud partner releases IoT and cloud platform beta
Microchip IoT dev board is Google Cloud-ready
IoT dev board connects PIC MCU apps to Google Cloud in minutes
Google to acquire Xively IoT platform from LogMeIn