Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 2.43 KB

File metadata and controls

64 lines (45 loc) · 2.43 KB

Google Cloud Platform logo

Google Cloud IoT Core NodeJS HTTP example

This sample app publishes messages to Google Cloud Pub/Sub or updates device states using the HTTP bridge provided as part of Google Cloud IoT Core.

Note that before you can run this sample, you must register a device as described in the parent README.

Setup

Run the following command to install the library dependencies for NodeJS:

npm install

Running the sample

The following command summarizes the sample usage:

Usage: cloudiot_http_example_nodejs [options]

Example Google Cloud IoT Core HTTP device connection code.

Options:

-h, --help                       output usage information
--projectId <projectId>          GCP cloud project name.
--registryId <registryId>        Cloud IoT Core registry id.
--deviceId <deviceId>            Cloud IoT Core device id.
--privateKeyFile <key_file>      Path to private key file.
--algorithm <algorithm>          Encryption algorithm to generate the JWT.
                                 Either RS256 (RSA) or ES256 (Eliptic Curve)
--cloudRegion [region]           GCP cloud region (e.g. us-central1, europe-west1)
--numMessages [num]              Number of messages to publish.
--tokenExpMins [num]             Minutes to JWT token expiration.
--httpBridgeAddress [address]    HTTP bridge address.
--messageType [events|state]     The message type to publish.

For example, if your project ID is blue-jet-123, your region is asia-east1, and you have generated your credentials using the shell script provided in the parent folder, you can run the sample as:

node cloudiot_http_example.js \
    --cloudRegion=asia-east1 \
    --projectId=blue-jet-123 \
    --registryId=my-registry \
    --deviceId=my-node-device \
    --privateKeyFile=../rsa_private.pem \
    --algorithm=RS256

Reading Cloud Pub/Sub messages written by the sample client

  1. Create a subscription to your topic.

    gcloud beta pubsub subscriptions create
    projects/your-project-id/subscriptions/my-subscription
    --topic device-events

  2. Read messages published to the topic

    gcloud beta pubsub subscriptions pull --auto-ack
    projects/my-iot-project/subscriptions/my-subscription