У меня есть устройство, которое отправляет пакет двоичных данных на сервер. Я хочу перенести это в центр IoT Azure. Я хочу придерживаться самих двоичных данных и анализировать двоичные данные в функции Azure.
Я написал имитатор устройства в .NET с использованием Azure SDK и написал функцию Azure, которая запускается при получении сообщения на концентраторе IoT.
Код на симуляторе устройства:
double currentTemperature = 23.0;
byte[] temp= BitConverter.GetBytes(currentTemperature);
double currentHumidity = 24.0;
byte[] humidity= BitConverter.GetBytes(currentHumidity);
List<byte> bytes = new List<byte>();
bytes.AddRange(temp);
bytes.AddRange(humidity);
DeviceClient s_deviceClient; // Created device client here.
var message = new Microsoft.Azure.Devices.Client.Message(bytes.ToArray());
await s_deviceClient.SendEventAsync(message);
В функции Azure - если я преобразую
public static void Run(string myIoTHubMessage, ILogger log)
{
byte[] dataArray = Encoding.ASCII.GetBytes(myIoTHubMessage);
}
Здесь я попробовал различные типы кодирования для преобразования myIoTHubMessage в байтовый массив, но это не сработало.