Вам необходимо внедрить приложение, которое использует Azure IoT Hub Device SDK и которое может отправлять данные в IoT Hub.
Вам нужно будет выполнять чтение данных из файла каждые 4-10 секунд и отправлять информацию в IoT Hub с помощью DeviceClient из SDK, упомянутого выше.
Ниже приведен один фрагмент кода в C #, который извлекает данные из датчика температуры / влажности DHt11 и отправляет данные в концентратор IoT каждые 2 с.
...
var deviceClient = DeviceClient.CreateFromConnectionString("ConnectionString");
var dht = new DHT(pin, gpioController, DHTSensorTypes.DHT11);
while (true)
{
try
{
var measurement = new Measurement();
var dhtData = dht.ReadData();
measurement.Temperature = (int)dhtData.TempCelcius;
measurement.Humidity = (int)dhtData.Humidity;
if (gpioController.IsPinOpen(pin))
{
gpioController.ClosePin(pin);
}
}
SendMeasurementAsync(deviceClient, measurement).Wait();
Console.WriteLine(DateTime.UtcNow);
Console.WriteLine(" sent to iot hub temp: " + measurement.Temperature);
Console.WriteLine(" sent to iot hub hum: " + measurement.Humidity);
}
catch (DHTException)
{
Console.WriteLine(" problem reading sensor data ");
}
Task.Delay(2000).Wait();
}
.
.
.
private static Task SendMeasurementAsync(DeviceClient deviceClient, Measurement measurement)
{
var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(measurement);
var eventMessage = new Message(Encoding.UTF8.GetBytes(jsonString));
return deviceClient.SendEventAsync(eventMessage);
}
Что касается уровня free , вы можете иметь один концентратор IoT с бесплатнымуровень на подписку со всеми включенными функциями.