Платформа IBM watson IoT - шестнадцатеричные данные

У меня вопрос о подключении сетевого сервера loriot к платформе IBM Watson IoT. Мне удалось подключить серверную часть loriot к платформе Watson IoT и увидеть, как поступают некоторые данные. Однако данные представлены в шестнадцатеричном формате. Есть идеи, как преобразовать эти шестнадцатеричные данные в удобочитаемые для человека?


person kots    schedule 06.08.2017    source источник
comment
В этом рецепте (developer.ibm.com/recipes/tutorials/) они использовали мостовой декодер для преобразования. Вы также можете проверить наличие каких-либо узлов lora в node-red, которые могут помочь с преобразованием.   -  person ValerieLampkin    schedule 07.08.2017
comment
это видео youtube.com/watch?v=H18pVF8qIaY, показывающее, как настроить LoRa с помощью мультитехнологии канал может быть вам полезен   -  person ValerieLampkin    schedule 09.08.2017


Ответы (1)


Если данные, поступающие на платформу Watson IoT, имеют формат JSON, но содержат свойства, значения которых указаны в шестнадцатеричном формате, вы можете использовать возможности Управление данными для преобразования данных в этих событиях в состояние устройства. Язык выражений, используемый в выражениях сопоставления свойств, включает функцию $ unpack, которую можно использовать для преобразования строк и шестнадцатеричных октетов в числовые значения. При использовании вместе с функцией $ substring вы можете извлекать определенные строки из большого шестнадцатеричного значения и преобразовывать его в число.

В качестве примера предположим, что у вас было следующее входящее событие:

{
  "propertyA": "valueA",
  "propertyB": "valueB",
  "data": "3b45940201000000010e4601"
}

... вы можете сопоставить значения со свойствами в состоянии устройства, используя выражения сопоставления, подобные следующим:

$unpack($substring($event.data, 0, 8),  "l32f")
$unpack($substring($event.data, 8, 2),  "l8")
$unpack($substring($event.data, 10, 8), "l32")

Соответствующий вывод трех приведенных выше выражений:

2.1786381830505485E-37
1
16777216

Возможности управления данными описаны здесь:

https://console.bluemix.net/docs/services/IoT/GA_information_management/ga_im_device_twin.html#device_twins

person Martin Smithson    schedule 10.03.2018