Cloud IoT Device SDK: embedded IoT device connections to Google Cloud IoT Core #Google #IoT
Via the Google Cloud blog – Embedded processors—in particular, microcontrollers—are the fundamental building blocks of the internet of things (IoT), powering edge devices such as smart refrigerators, industrial motors, and energy monitors.
Google has announced their Cloud IoT Device SDK, consisting 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 (read-only memory).
In addition to partner platforms supported now, embedded systems engineering teams may port the Cloud IoT Device SDK to various 32-bit microcontrollers (MCUs) across real-time operating systems such as Zephyr, ARM Mbed OS, FreeRTOS kernel. 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.
A few 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
Google is collaborating with the following partners on our Cloud IoT Embedded SDK:
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.