zephyr/samples/net/google_iot_mqtt
Paul Sokolovsky 6f6b46971a samples: google_iot_mqtt: Explicitly cast socklen_t to int in printf
Otherwise, it can lead to warning like:

main.c:80:10: warning: format '%d' expects argument of type 'int',
but argument 2 has type 'socklen_t' {aka 'long unsigned int'}
[-Wformat=]

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2019-05-11 13:25:58 +03:00
..
src samples: google_iot_mqtt: Explicitly cast socklen_t to int in printf 2019-05-11 13:25:58 +03:00
CMakeLists.txt license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
Kconfig
README.rst doc: use :zephyr_file: where appropriate 2019-03-09 09:50:27 -05:00
prj.conf logging: Remove SYS_LOG implementation 2019-03-28 09:30:29 -04:00
sample.yaml

README.rst

.. _google-iot-mqtt-sample:

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:
:zephyr_file:`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
<https://cloud.google.com/iot/docs/how-tos/mqtt-bridge>`_.