Creating a device
-
In the management console
, select a folder to create a device in. -
Select IoT Core.
-
Select the required registry from the list.
-
On the left side of the window, select the Devices section.
-
Click Add device.
-
Under General information, add:
-
Device Name, e.g.,
my-device
. -
(Optional) Description with additional information about the device.
-
(Optional) Password that you will use to access the device. To create a password, you can use the password generator
.Note
Make sure to save your password, as you will need it for authentication.
-
-
(Optional) Add aliases:
- Click Add alias.
- Fill in the fields: enter an alias, e.g.,
events
, and the topic type after$devices/<device_ID>
, e.g.,events
. You will be able to use theevents
alias instead of the$devices/<device_ID>/events
topic.
-
(Optional) Add a certificate:
-
To add a file:
- Choose the
File
method. - Click Attach file.
- Select the file with the public key of the certificate and click Open.
- Click Add.
- Choose the
-
To add text:
- Choose the
Text
method. - Paste the certificate's public key to the Content field.
- Click Add.
- Choose the
-
-
Click Create.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
-
Review a list of the registries where you can create a device or create a new registry.
-
Create a device:
yc iot device create \ --registry-name <registry_name> \ --name <device_name>
The device naming requirements are as follows:
- The name must be from 3 to 63 characters long.
- It may contain lowercase Latin letters, numbers, and hyphens.
- The first character must be a letter and the last character cannot be a hyphen.
Result:
id: b9135goeh********** registry_id: b91ki3851h********** created_at: "2019-05-28T16:08:30.938Z" name: <device_name> status: ACTIVE
-
(Optional) Assign the device a password for authentication with a username and password:
yc iot device password add --device-name <device_name>
You will be prompted to enter a password. Password requirements:
- The password must contain numbers, upper-case and lower-case letters, and special characters.
- It must be at least 14 characters long.
Result:
device_id: b9135goeh********** id: aoek49ghmk********* created_at: "2019-05-28T16:12:30.938Z"
-
(Optional) Add to the registry a certificate for authentication with certificates:
yc iot device certificate add \ --device-name <device_name> \ --certificate-file <certificate>
Where:
--device-name
: Device name.--certificate-file
: Path to the public key of the certificate, e.g.,cert.pem
.
Result:
device_id: b9135goeh********** fingerprint: 589ce16050**** certificate_data: | -----BEGIN CERTIFICATE----- MIIE/jCCAuagAwIBAgIJAPRA... -----END CERTIFICATE----- created_at: "2019-05-28T16:15:30.938Z"
-
(Optional) Add aliases:
yc iot device add-topic-aliases \ --name <device_name> \ --topic-aliases <alias>='<topic>'
Example:
yc iot device add-topic-aliases \ --name my-device \ --topic-aliases events='$devices/are0ej5kpik1********/events'
Result:
id: aoek49ghmk********* registry_id: b91ki3851h********** created_at: "2019-05-28T16:17:30.938Z" name: <device_name> topic_aliases: <alias>: <topic> status: ACTIVE
Terraform
For more information about the provider resources, see the documentation on the Terraform
If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.
If you don't have Terraform, install it and configure the Yandex Cloud provider.
Note
To add certificates to a device, generate them in advance.
To create a device:
-
Review a list of the registries where you can create a device or create a new registry.
-
In the configuration file, describe the parameters of the resource to create:
-
yandex_iot_core_registry
: Device properties:registry_id
: ID of the registry where the device will be created.name
: Device name.description
: Device description.aliases
: Topic aliases. For more detail, please see Creating an alias.passwords
: List of passwords for authentication with a username and password.certificates
: List of certificates for authentication with certificates.
Note
Make sure to use only one of the two authentication methods.
Here is an example of the resource structure in the configuration file:
resource "yandex_iot_core_device" "my_device" { registry_id = "<registry_ID>" name = "test-device" description = "test device for terraform provider documentation" aliases = { "some-alias1/subtopic" = "$devices/{id}/events/somesubtopic", "some-alias2/subtopic" = "$devices/{id}/events/aaa/bbb", } passwords = [ "<password>", ] certificates = [ file("<certificate_file_path>") ] }
For more information about the resources you can create with Terraform, see the provider documentation
. -
-
Make sure the configuration files are correct.
- In the command line, go to the folder where you created the configuration file.
- Run a check using this command:
terraform plan
If the configuration is described correctly, the terminal will display a list of created resources and their parameters. If the configuration contains any errors, Terraform will point them out.
-
Deploy cloud resources.
- If the configuration does not contain any errors, run this command:
terraform apply
- Confirm that you want to create the resources.
All the resources you need will then be created in the specified folder. You can check the new resources and their settings using the management console
. - If the configuration does not contain any errors, run this command:
To create a device, use the create REST API method for the Device resource or the DeviceService/Create gRPC API call.