# Cloud IoT Core Java Samples
This folder contains Java samples that demonstrate an overview of the
Google Cloud IoT Core platform.

## Quickstart

1. Install the gCloud CLI as described in [the device manager guide](https://cloud.google.com/iot/docs/device_manager_guide).
2. Create a PubSub topic:

    gcloud beta pubsub topics create projects/my-iot-project/topics/device-events

3. Add the special account `cloud-iot@system.gserviceaccount.com` to that
PubSub topic from the [Cloud Developer Console](https://console.cloud.google.com)
or by using the helper script in the [/scripts](./scripts) folder.

4. Create a registry:

    gcloud alpha iot registries create my-registry \
        --project=my-iot-project \
        --region=us-central1 \
        --pubsub-topic=projects/my-iot-project/topics/device-events

5. Use the [`generate_keys.sh`](generate_keys.sh) script to generate your signing keys:

    ./generate_keys.sh

6. Create a device.

    gcloud alpha iot devices create my-java-device \
        --project=my-iot-project \
        --region=us-central1 \
        --registry=my-registry \
        --public-key path=rsa_cert.pem,type=rs256

7. Connect a sample device using the sample app in the [`mqtt_example`](./mqtt_example) folder.
8. Learn how to manage devices programatically with the sample app in the
`manager` folder.

