Google Introduces Cloud IoT Device SDK

Smart Blog

Google Introduces Cloud IoT Device SDK

The Google Cloud IoT platform allows clients to manage devices, establish data streams with analytics tools, monitor performance, and visualize data. In collaboration with its silicon partners, Google introduced a new Cloud IoT Device SDK (software development kit) that allows microcontroller-class devices to connect directly to Google Cloud IoT.

The SDK consists of client libraries written in Embedded C that enable 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.
The Cloud IoT Device SDK can easily be ported 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. 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.
Some more key features include:

  • A 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 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 SDK allows embedded engineers to rapidly prototype, profile, and test in a standard desktop environment before porting to an embedded target, allowing for shorter time to market. Meanwhile, the SDK allows semiconductor companies to update product lines with support for the latest features in Cloud IoT Core. 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. Partners and developers can start building with the SDK today via our GitHub repository.
Among Google’s partners for Cloud IoT Device SDK are Arm, Cypress Semiconductor, Nordic Semiconductor, Espressif Systems, Microchip and NXP.

Author: Tim Cole
Image Credit: COMP


Leave a Reply

Your email address will not be published. Required fields are marked *