Устройства Sigfox или Lora с Azure-Digital-Twins
У меня есть пара вопросов для настройки цифрового близнеца с устройствами Lora и Sigfox, данные которых кодируются:
- как получить строку iothubowner для создания обратного вызова для бэкэнда Lora или Sigfox?
- как мы имеем дело с обязательными свойствами, особенно с HardwareId?
- Какова наилучшая практика, чтобы декодировать сообщение и затем вычислить сообщение? Зная, что мы должны каскадировать обработку: декодирование, затем нормализация, затем телеметрическая аналитика (например, мониторинг состояния помещения).
1 ответ
Вот ответы: 1. Строка подключения IoT Hub (iothubowner) будет представлена в API через пару месяцев. 2. Для устройства уникальный идентификатор со стороны клиента - HardwareId. Мы рекомендуем добавить MacAddress устройства. Для SensorId.HardwareId у вас есть несколько вариантов, которые мы рекомендуем: либо Device.HardwareId + SensorName, либо просто SensorName, если он уникален для каждого устройства, или просто GUID. SensorId.HardwareId важно установить, так как это значение должно соответствовать свойству заголовка сообщения телеметрии DigitalTwins-SensorHardwareId, чтобы UDF мог сработать. См. https://docs.microsoft.com/en-us/azure/digital-twins/concepts-device-ingress 3. Вам необходимо создать средство сопоставления, которое связывает нужный UDF с код для декодирования байтового массива для датчиков определенного типа. Например, если у вас есть датчики типа: LoRa, а затем различные типы данных: вы должны создать сопоставление с типом для соответствия "LoRa", а затем с различными типами данных. На данный момент вам придется обрабатывать все это в одном UDF. В будущем мы могли бы поддерживать цепочку, и вы могли бы иметь UDF для каждого шага отдельно, но до тех пор, все в одном.