X-CUBE-GCP
Data brief
Google Cloud Platform
™
software expansion for STM32Cube
X-CUBE-GCP application
GCP IoT SDK
protobuf-c
Middleware level
Features
•
•
•
•
•
•
•
•
Quick evaluation and development of IoT Core service for the Google Cloud
Platform
™
Ready-to-run firmware example
Based on Google Cloud
™
IoT Device SDK for Embedded C
MQTT cloud connection
JWT secure connection
TLS encryption
Wi-Fi
®
connectivity
Telemetry data reporting
SBSFU
cJSON
mbedTLS
Network library
MEMS
HAL
Wi-Fi
®
BSP
Drivers
Sensors
Wi-Fi
®
module
STM32L4
Hardware components
B-L475E-IOT01A
Development board
Description
The
X-CUBE-GCP
Expansion Package provides the porting of the Google Cloud
™
IoT Device SDK for STM32L4 Series microcontroller acting as end device. X-CUBE-
GCP runs on the
B-L475E-IOT01A
Discovery kit using Wi-Fi
®
connectivity with an
on-board Inventek module. For this platform, a sample application configures the
network connectivity parameters, and illustrate various ways for a device to interact
with the cloud. The application shows how a simple client application can connect to
the IoT Core service of Google Cloud Platform
™
to publish device state and
telemetry data, and receive device configuration from the cloud. Device
authentication through JWT (Json Web Token), TLS encryption, and authentication
are supported. The B-L475E-IOT01A board reports telemetry data such as
measurement of humidity, temperature, and atmospheric pressure.
Product status link
X-CUBE-GCP
DB3679
-
Rev 2
-
August 2020
For further information contact your local STMicroelectronics sales office.
www.st.com
X-CUBE-GCP
General information
1
General information
The
X-CUBE-GCP
Expansion Package runs on STM32 microcontrollers based on Arm
®
cores.
Note:
Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
1.1
Ordering information
X-CUBE-GCP
is available for free download from the
www.st.com
website.
1.2
What is STM32Cube?
STM32Cube
is an STMicroelectronics original initiative to significantly improve designer's productivity by reducing
development effort, time and cost. STM32Cube covers the whole STM32 portfolio.
STM32Cube includes:
•
A set of user-friendly software development tools to cover project development from the conception to the
realization, among which are:
–
STM32CubeMX,
a graphical software configuration tool that allows the automatic generation of C
initialization code using graphical wizards
–
STM32CubeIDE,
an all-in-one development tool with peripheral configuration, code generation, code
compilation, and debug features
–
STM32CubeProgrammer (STM32CubeProg), a programming tool available in graphical and command-
line versions
–
STM32CubeMonitor (STM32CubeMonitor,
STM32CubeMonPwr, STM32CubeMonRF,
STM32CubeMonUCPD)
powerful monitoring tools to fine-tune the behavior and performance of STM32
applications in real-time
•
STM32Cube MCU & MPU Packages,
comprehensive embedded-software platforms specific to each
microcontroller and microprocessor series (such as STM32CubeL4 for the STM32L4 Series), which include:
–
STM32Cube hardware abstraction layer (HAL), ensuring maximized portability across the STM32
portfolio
–
STM32Cube low-layer APIs, ensuring the best performance and footprints with a high degree of user
control over the HW
–
A consistent set of middleware components such as FAT file system, RTOS, USB Host and Device,
TCP/IP, Touch library, and Graphics
–
All embedded software utilities with full sets of peripheral and applicative examples
•
STM32Cube Expansion Packages,
which contain embedded software components that complement the
functionalities of the STM32Cube MCU & MPU Packages with:
–
Middleware extensions and applicative layers
–
Examples running on some specific STMicroelectronics development boards
DB3679
-
Rev 2
page 2/6
X-CUBE-GCP
Software architecture
2
Software architecture
The top-level architecture of the X-CUBE-GCP Expansion Package is shown in
Figure 1.
Figure 1.
X-CUBE-GCP architecture
X-CUBE-GCP application
Application level demonstration
User
application
PC
software
GCP IoT SDK
protobuf-c
Middleware level
cJSON
Network library
SBSFU
MEMS
mbedTLS
Wi-Fi
®
Utilities
Board support package
(BSP)
Drivers
Hardware abstraction layer
(HAL)
CMSIS
Sensors
Hardware components
Wi-Fi
®
module
STM32L4 Series
B-L475E-IOT01A
Development board
DB3679
-
Rev 2
page 3/6
X-CUBE-GCP
License
3
License
X-CUBE-GCP
is delivered under the
Mix Ultimate Liberty+OSS+3rd-party V1
software license agreement
(SLA0048).
The software components provided in this package come with different license schemes as shown in
Table 1.
Table 1.
Software component license agreements
Software component
Google Cloud
™
IoT Device SDK for Embedded
C
cJSON
Board Support Package (BSP)
Cortex
®
-M CMSIS
FreeRTOS
™
STM32L4xx_HAL_Driver
Inventek driver
LwIP
mbedTLS
STM32_Network_Library
STM32_Secure_Engine
Project examples
Google LLC
Dave Gamble and Cjson contributors
STMicroelectronics
Arm Limited
Amazon Web Services, Inc.
STMicroelectronics
STMicroelectronics
Owner
License
BSD-3-Clause
The MIT License
BSD-3-Clause
Apache License 2.0
The MIT License
BSD-3-Clause
Ultimate Liberty (source release)
2001-2004 Swedish Institute of Computer
BSD-3-Clause
Science
Arm Limited
STMicroelectronics
STMicroelectronics
STMicroelectronics
Apache License 2.0
Ultimate Liberty (source release)
Ultimate Liberty (source release)
Ultimate Liberty (source release)
DB3679
-
Rev 2
page 4/6
X-CUBE-GCP
Revision history
Table 2.
Document revision history
Date
6-Sep-2018
Version
1
Initial release.
Focused on Google Cloud
™
IoT Device SDK for Embedded C using the
B-
L475E-IOT01A
sensor Discovery kit with Wi‑Fi
®
connectivity:
10-Aug-2020
2
•
•
Updated
Features
and
Description
Updated
Software architecture
and
License
Changes
Added
What is STM32Cube?
DB3679
-
Rev 2
page 5/6