Google IOT MQTT Sample

Overview

This sample application demonstrates a “full stack” application. This currently is able to

  • Acquire a DHCPv4 lease.
  • Connect to an SNTP server and acquire current time
  • Establish a TLS connection with the Google IOT Cloud servers
  • Publish data to the Google IOT Cloud
  • Send/Receive keep alive / pings from cloud server

The source code for this sample application can be found at: samples/net/google_iot_mqtt.

Requirements

  • Entropy source
  • Google IOT Cloud account
  • Google IOT Cloud credentials and required information
  • Network connectivity

Building and Running

This application has been built and tested on the NXP FRDMK64F. RSA or ECDSA certs/keys are required to authenticate to the Google IOT Cloud. The application includes a key creation script.

Run the create_keys.py script in the samples/net/google_iot_mqtt/src/private_info/ directory.

Users will also be required to configure the following Kconfig options based on their Google Cloud IOT project:

  • CLOUD_CLIENT_ID - created from <telemetry>/<region>/registries/<registry name>/devices/<device name>
  • CLOUD_AUDIENCE - created from telemetry without projects on front
  • CLOUD_SUBSCRIBE_CONFIG - created from /devices/<device name>/config
  • CLOUD_PUBLISH_TOPIC - created from /devices/<device name>/state

See Google Cloud MQTT Documentation.