forked from GoogleCloudPlatform/python-docs-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds token refresh to MQTT example. (GoogleCloudPlatform#1197)
* Adds token refresh to MQTT example. * Fixes lint error.
- Loading branch information
Showing
4 changed files
with
205 additions
and
84 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
.. This file is automatically generated. Do not edit this file directly. | ||
Google Cloud IoT Core API Python Samples | ||
=============================================================================== | ||
|
||
This directory contains samples for Google Cloud IoT Core API. `Google Cloud IoT Core`_ allows developers to easily integrate Publish and Subscribe functionality with devices and programmatically manage device authorization. | ||
The following example runs the sample using the project ID `blue-jet-123` and the device name `my-python-device`: | ||
|
||
python cloudiot_mqtt_example.py \ | ||
--registry_id=my-registry \ | ||
--project_id=blue-jet-123 \ | ||
--device_id=my-python-device \ | ||
--algorithm=RS256 \ | ||
--private_key_file=../rsa_private.pem | ||
|
||
|
||
|
||
|
||
.. _Google Cloud IoT Core API: https://cloud.google.com/iot/docs | ||
|
||
Setup | ||
------------------------------------------------------------------------------- | ||
|
||
|
||
Install Dependencies | ||
++++++++++++++++++++ | ||
|
||
#. Install `pip`_ and `virtualenv`_ if you do not already have them. You may want to refer to the `Python Development Environment Setup Guide`_ for Google Cloud Platform for instructions. | ||
|
||
.. _Python Development Environment Setup Guide: | ||
https://cloud.google.com/python/setup | ||
|
||
#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. | ||
|
||
.. code-block:: bash | ||
$ virtualenv env | ||
$ source env/bin/activate | ||
#. Install the dependencies needed to run the samples. | ||
|
||
.. code-block:: bash | ||
$ pip install -r requirements.txt | ||
.. _pip: https://pip.pypa.io/ | ||
.. _virtualenv: https://virtualenv.pypa.io/ | ||
|
||
Samples | ||
------------------------------------------------------------------------------- | ||
|
||
MQTT Device Client Example | ||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
|
||
|
||
|
||
To run this sample: | ||
|
||
.. code-block:: bash | ||
$ python cloudiot_mqtt_example.py | ||
usage: cloudiot_mqtt_example.py [-h] [--project_id PROJECT_ID] --registry_id | ||
REGISTRY_ID --device_id DEVICE_ID | ||
--private_key_file PRIVATE_KEY_FILE | ||
--algorithm {RS256,ES256} | ||
[--cloud_region CLOUD_REGION] | ||
[--ca_certs CA_CERTS] | ||
[--num_messages NUM_MESSAGES] | ||
[--message_type {event,state}] | ||
[--mqtt_bridge_hostname MQTT_BRIDGE_HOSTNAME] | ||
[--mqtt_bridge_port {8883,443}] | ||
[--jwt_expires_minutes JWT_EXPIRES_MINUTES] | ||
Example Google Cloud IoT Core MQTT device connection code. | ||
optional arguments: | ||
-h, --help show this help message and exit | ||
--project_id PROJECT_ID | ||
GCP cloud project name | ||
--registry_id REGISTRY_ID | ||
Cloud IoT Core registry id | ||
--device_id DEVICE_ID | ||
Cloud IoT Core device id | ||
--private_key_file PRIVATE_KEY_FILE | ||
Path to private key file. | ||
--algorithm {RS256,ES256} | ||
Which encryption algorithm to use to generate the JWT. | ||
--cloud_region CLOUD_REGION | ||
GCP cloud region | ||
--ca_certs CA_CERTS CA root from https://pki.google.com/roots.pem | ||
--num_messages NUM_MESSAGES | ||
Number of messages to publish. | ||
--message_type {event,state} | ||
Indicates whether the message to be published is a | ||
telemetry event or a device state message. | ||
--mqtt_bridge_hostname MQTT_BRIDGE_HOSTNAME | ||
MQTT bridge hostname. | ||
--mqtt_bridge_port {8883,443} | ||
MQTT bridge port. | ||
--jwt_expires_minutes JWT_EXPIRES_MINUTES | ||
Expiration time, in minutes, for JWT tokens. | ||
.. _Google Cloud SDK: https://cloud.google.com/sdk/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# This file is used to generate README.rst | ||
|
||
product: | ||
name: Google Cloud IoT Core API | ||
short_name: Cloud IoT Core | ||
url: https://cloud.google.com/iot/docs | ||
description: > | ||
`Google Cloud IoT Core`_ allows developers to easily integrate Publish and | ||
Subscribe functionality with devices and programmatically manage device | ||
authorization. | ||
|
||
The following example runs the sample using the project ID `blue-jet-123` | ||
and the device name `my-python-device`: | ||
|
||
python cloudiot_mqtt_example.py \ | ||
--registry_id=my-registry \ | ||
--project_id=blue-jet-123 \ | ||
--device_id=my-python-device \ | ||
--algorithm=RS256 \ | ||
--private_key_file=../rsa_private.pem | ||
|
||
setup: | ||
- install_deps | ||
|
||
samples: | ||
- name: MQTT Device Client Example | ||
file: cloudiot_mqtt_example.py | ||
show_help: True | ||
|
||
cloud_client_library: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters