Senden von Daten von Python nach Azure Iot Hub

Da ich keinen Zugriff auf die Drohnendaten zur Laufzeit der Drohne habe, sonder erst nach Beenden des Fluges, simuliere ich das senden von den Drohnen-Daten zum Azure Iot Hub.

Voraussetzungen:

  1. Microsoft Account

Gliederung:

  1. Erstelle ein Gerät

  2. Kopiere den Geräte connection string

  3. Produzieren von Daten

1. Erstelle ein Gerät

  1. Öffne das Azure Portal

  2. Gehen Sie zu ihrem IoT Hub

  3. Gehe zu Devices und click auf "Add Device"

  1. Gebe einen Namen ein und clicke auf Save

2. Kopiere den Geräte connection string

  1. Click auf Device

  1. Copy den Primary connection string

3. Produzieren von Daten

#import libraries
import time
import datetime
from azure.iot.device import IoTHubDeviceClient, Message
import pandas as pd

#load data
data= pd.read_csv('testdata.csv').drop("Unnamed: 0",axis=1)

# Connection string for the device
conn_str = "HostName=iothubd06f90321d7a48c59a.azure-devices.net;DeviceId=iotdevice;SharedAccessKey=tgLzHiemAfvoTBS4EwrhRKi3idTGEu+H0rGmNmcEEzU="

# Create an instance of the device client
device_client = IoTHubDeviceClient.create_from_connection_string(conn_str)

# Connect to IoT Hub
device_client.connect()

#Send a single message to IoT Hub
message = Message(data.iloc[10].to_json())
device_client.send_message(message)

#Send all data to IoT Hub
for i in range (0,len(data)):
    message = Message(data.iloc[i].to_json())
    device_client.send_message(message)
    
# Disconnect from IoT Hub
device_client.disconnect()

Last updated