Test your end-to-end IoT solution on Google Cloud Platform – Start with free trial
IoT Cloud Tester is a desktop application that enables users to learn and test their end-to-end IoT solution on the Google Cloud Platform (GCP).
IoT Cloud Tester application enables users to create virtual devices and gateways in GCP's Cloud IoT Core. Users can define custom data model for the devices, the application will generate automated data based on the data model constraints. The application also generates and maintains device keys which are required to communicate with GCP.
Devices publish messages to topics through the MQTT bridge. Users can create subscriptions to topics in GCP. IoT Cloud Tester application also enables users to create and maintain subscribers that listen to one or more subscriptions. The Pub/Sub Monitor window of the application shows the real-time pub/sub messages. Users can also setup dataflows to write the pub/sub topic messages to BigQuery or to write pub/sub subscriber messages to BigQuery.
Free Trial - Begin with free trial of Google Cloud and IoT Cloud Tester.
No hardware required - Create virtual gateways and devices with IoT Cloud Tester.
Test end-to-end - Develop and test your end-to-end IoT solution on Google Cloud Platform using IoT Cloud Tester
IoT Cloud Tester - Quick Start
- Start with Google Cloud Free program.
- Add your GCP project to the IoT Cloud Tester application.
- Add topic and device registry using the application.
- Add a device.
- Publish data from the device to GCP through MQTT bridge.
- Create a subscriber and listen to messages from subscribed topics.
- Set up a Dataflow to write pub/sub topic messages to BigQuery or pub/sub subscriber messages to BigQuery
Google Cloud Platform (GCP) Account Setup
- Start with Google Cloud Free program to evaluate and test Google Cloud Platform (GCP) by setting up an account.
- Once an account is setup, create a new project in Google Cloud Platform (GCP) or use the default project for this tutorial.
Google Cloud Project
- Generate the service account key for the project in GCP.
- Enable Cloud Resource Manager API
- Verify the service account in the IoT Cloud Tester application
- Enable Cloud IoT API for the IoT Cloud Tester application to use IoT APIs for the project.
- Enable Cloud Pub/Sub API for the IoT Cloud Tester application to use Pub/Sub APIs for the project.
- Add GCP project to IoT Cloud Tester
- View GCP project info in IoT Cloud Tester. This view provides information about project name, id, creation date and service account details.
- Remove GCP project from the IoT Cloud Tester. Note the project is not removed in the Google Cloud Platform.
- Multiple projects can be added and the current active project can be selected in the IoT Cloud Tester.
- Google Cloud IoT scopes - Use scopes to setup right permission for the application.
Topics
Topics are used by devices to publish messages.
- Add topics in Google Cloud - In the pub/sub messaging system, messages are published to "topics" which are logical channels. For example, devices that are monitoring weather may publish the temperature data periodically to a topic called 'temperature'. Anyone subscribed to that topic will receive messages published to that topic. In Google Cloud, topics are created at the project level.
- Delete topic in Google Cloud - Users can delete unused topics in the Google Cloud.
Device Registries
Devices are added to Device Registries in the Google Cloud. Device registries defines the protocols used by the device (MQTT/HTTP), logging levels and the topics.
- Add device registry - Device registries are containers of devices that share common properties. A project may contain one or more device registries. With IoT Cloud Tester, users can setup the registry ID, protocol, logging level, topics while creating the device registry.
- Update device registry - Users can update the device registry information such as protocol, logging and topic assignments.
- Delete device registry - Users can get the list of device registries and delete any registry from the list.
Gateways
Gateway devices communicate with the Google Cloud Platform on behalf of their client devices.
- Add a gateway - Gateway is a device that connects its clients to the Google Cloud Platform. For example, a cellular-enabled Zigbee gateway device may send data from Zigbee client devices to the Google Cloud platform. With IoT Cloud Tester, a user can create a new Gateway device within a device registry of a project.
- Get a list of gateways - Users can get the list of gateway devices within a registry. IoT Cloud Tester application will display the Gateway ID and the bounded devices for that Gateway in the list view.
- Bind device to a gateway -
- Unbind device from a gateway
- Delete a gateway
Devices
Devices connect to Google Cloud Platform and send/receive data through MQTT or HTTP.
- Add a device
- Get a list of devices in a device registry
- Delete a device from a device registry
Data Models
Data models define the data that the devices will send to the Google Cloud Platform. The IoT Cloud Tester application will auto-generate data based on the data model associated to the device.
Publish
Devices publish data to Google Cloud platform using the Message Queue Telemetry Transport (MQTT) protocol.
- Publish with gateway
- Publish without gateway
- Publish with QoS 1
- Publish with QoS 0
- QoS 2 is not supported in Google Cloud platform
Subscription
Subscriptions to topics enable subscribers to listed to messages published for the topic.
- Create a pull subscription
- Create a push subscription
- Get a list of subscriptions
- Delete subscription to a topic
Subscribers
- Create a subscriber
- Edit a subscriber
- Delete a subscriber
- Subscriber - Get messages published to subscribed topics
- Get subscribed messages in URL endpoint
Cloud Storage
Big Query
- Create a dataset in BigQuery
- Get the list of datasets
- Delete a dataset
- Create a table within a dataset
- Get the list of tables in a dataset
- Delete a table
Dataflow
- Setup a dataflow to write pub/sub messages from a topic to a BigQuery table
- Setup a dataflow to write pub/sub messages from a subscription to a BigQuery table
- Get the list of dataflow jobs in the project
- Cancel a dataflow in the project
Error Conditions
- Error getting access token for service account
- Unexpected exception reading PKCS#8 data
- Project access not granted to the service account
- Cloud Resource API is not enabled
- Cloud Pub/Sub API is not enabled
- Cloud IoT API is not enabled
- Invalid resource names given
- Cloud region isn't supported
- Scopes not configured for service account.
- MQTT Connection Error - Not authorized to connect
- The registry cannot be deleted