registration_id=registration_id,
    id_scope=id_scope,
    x509=x509,
)

registration_result = provisioning_device_client.register()

# The result can be directly printed to view the important details.
print(registration_result)

if registration_result.status == "assigned":
    print("Will send telemetry from the provisioned device")
    # Create device client from the above result
    device_client = IoTHubDeviceClient.create_from_x509_certificate(
        x509=x509,
        hostname=registration_result.registration_state.assigned_hub,
        device_id=registration_result.registration_state.device_id,
    )

    # Connect the client.
    device_client.connect()

    for i in range(1, 6):
        print("sending message #" + str(i))
        device_client.send_message("test payload message " + str(i))
        time.sleep(1)

    for i in range(6, 11):
        print("sending message #" + str(i))
        msg = Message("test wind speed " + str(i))
        device_client.send_message(msg)
Ejemplo n.º 2
0
# "HostName=<iothub_host_name>;DeviceId=<device_id>;x509=true"
#hostname = "arm-iot.azure-devices.net;SharedAccessKeyName=device;SharedAccessKey=vw7ID6nS8gIS4wyyhmtp6EOZmGnesU"
hostname = 'arm-iot.azure-devices.net'
# The device that has been created on the portal using X509 CA signing or Self signing capabilities
device_id = "ArmDevice"

x509 = X509(
    cert_file=
    "/home/minhthuc/Desktop/work-space/control-arm/azure-iot-sdk-c/azure-iot-sdk-c/tools/CACertificates/certs/azure-iot-test-only.chain.ca.ArmDevice.cert.pem",
    key_file=
    "/home/minhthuc/Desktop/work-space/control-arm/azure-iot-sdk-c/azure-iot-sdk-c/tools/CACertificates/private/new-device.key.pem",
    pass_phrase="1234",
)

# The client object is used to interact with your Azure IoT hub.
device_client = IoTHubDeviceClient.create_from_x509_certificate(
    hostname=hostname, device_id=device_id, x509=x509)
# Connect the client.
device_client.connect()
# send 5 messages with a 1 second pause between each message
for i in range(1, 6):
    temperature = TEMPERATURE + (random.random() * 15)
    humidity = HUMIDITY + (random.random() * 20)
    msg_txt_formatted = MSG_TXT.format(temperature=temperature,
                                       humidity=humidity)
    msg = Message(msg_txt_formatted)
    msg.message_id = uuid.uuid4()
    msg.correlation_id = "correlation-1234"
    msg.content_type = "application/json"
    msg.content_encoding = "utf-8"
    msg.custom_properties["tornado-warning"] = "yes"
    print("Sending message: {}".format(msg))