3.5 KiB
Utilize o certificado X.509 no código do seu dispositivo - Hardware IoT Virtual e Raspberry Pi
Nesta parte da lição, irá conectar o seu dispositivo IoT virtual ou Raspberry Pi ao IoT Hub utilizando o certificado X.509.
Conectar o seu dispositivo ao IoT Hub
O próximo passo é conectar o seu dispositivo ao IoT Hub utilizando os certificados X.509.
Tarefa - conectar ao IoT Hub
-
Copie os ficheiros de chave e certificado para a pasta que contém o código do seu dispositivo IoT. Se estiver a usar um Raspberry Pi através do VS Code Remote SSH e criou as chaves no seu PC ou Mac, pode arrastar e largar os ficheiros no explorador do VS Code para os copiar.
-
Abra o ficheiro
app.py. -
Para conectar utilizando um certificado X.509, precisará do nome do host do IoT Hub e do certificado X.509. Comece por criar uma variável que contenha o nome do host, adicionando o seguinte código antes de criar o cliente do dispositivo:
host_name = "<host_name>"Substitua
<host_name>pelo nome do host do seu IoT Hub. Pode encontrar esta informação na secçãoHostNamedaconnection_string. Será o nome do seu IoT Hub, terminando com.azure-devices.net. -
Abaixo disso, declare uma variável com o ID do dispositivo:
device_id = "soil-moisture-sensor-x509" -
Precisará de uma instância da classe
X509que contenha os ficheiros X.509. AdicioneX509à lista de classes importadas do móduloazure.iot.device:from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509 -
Crie uma instância da classe
X509utilizando os seus ficheiros de certificado e chave, adicionando este código abaixo da declaração dehost_name:x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem")Isto criará a classe
X509utilizando os ficheirossoil-moisture-sensor-x509-cert.pemesoil-moisture-sensor-x509-key.pemcriados anteriormente. -
Substitua a linha de código que cria o
device_clienta partir de uma connection string pela seguinte:device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)Isto conectará utilizando o certificado X.509 em vez de uma connection string.
-
Apague a linha com a variável
connection_string. -
Execute o seu código. Monitorize as mensagens enviadas ao IoT Hub e envie pedidos de método direto como antes. Verá o dispositivo conectar-se e enviar leituras de humidade do solo, bem como receber pedidos de método direto.
💁 Pode encontrar este código na pasta code/pi ou code/virtual-device.
😀 O programa do seu sensor de humidade do solo está conectado ao seu IoT Hub utilizando um certificado X.509!
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.