[英]IoT Agent for a JSON - Sensor sends measures already in NGSI
我們有一個基於 FIWARE 的架構,它使用IoT 代理來實現基於 JSON 的協議。
我們有一個發送措施的傳感器,其格式已經是 NGSI。
我認為代理的行為是識別 NGSI 格式並操作數據,以便最終結果是正確的。
相反,當前的結果是 Orion 上的值變成了完整的 NGSI。
例如
獵戶座實體的屬性:
"altitude": {
"type": "number",
"value": "12",
"metadata": {
"TimeInstant": {
"type": "ISO8601",
"value": "2019-10-16T09:01:40.460Z"
}
}
}
發送:
{
"altitude": {
"value": "22"
}
}
結果:
"altitude": {
"type": "number",
"value": {
"value": "22"
},
"metadata": {
"TimeInstant": {
"type": "ISO8601",
"value": "2019-10-16T09:08:50.307Z"
}
}
}
這是對的嗎?
IOTA(嗯,其中之一:)的目的是將設備發送的測量值轉換為 Context Broker 的 NGSI 信息。 因此,在設備 IOTA 級別,設備發送:
{ <measure_name>: <measure_value> }
因此,IOTA 查找對應於<measure_name>
的屬性(在不存在映射的情況下,僅對應於<measure_name>
)並使用<measure_value>
更新其值。
在您的示例中,我了解<measure_name>
是"altitude"
,而<measure_value>
是 JSON object { "value": "22" }
。 我也了解您沒有適當的度量屬性映射,因此 Context Broker 的屬性名稱是"altitude"
,它接收帶有 value { "value": "22" }
的更新。
所以一切似乎都很正常,盡管您可能想要在設備-IOTA 接口上發送"22"
作為值而不是{ "value": "22" }
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.