1.Сущности против сущностей IoT
Я полагаю, что вы подразумеваете под сущностью IoT запись, сделанную агентом IoT при получении показаний датчика от подготовленного устройства.
Логически существуетнет разницы между объектом, созданным и поддерживаемым агентом IoT, и объектом, созданным и поддерживаемым любой другой службой, отправляющей запрос NGSI посреднику контекста.
Ваш так называемый IoT-объект - это просто конструкция, в которой агент IoT выполняет всю тяжелую работу за вас и преобразует данные, поступающие с устройства в примирительном формате, в стандарт NGSI.
2.Краткосрочная история обычной сущности
Для создания краткосрочной истории вам понадобится отдельный общий активатор, такой как STH-Comet или QuantumLeap.Оба эти активатора получают обновления от Orion, используя механизм подписок.Если вы настроили свои данные IoT, используя один заголовок fiware-service
, а свои не-IoT данные, используя другой fiware-service
, вы можете легко настроить подписку, чтобы различать их.
, например, следующая подписка:
curl -iX POST \
'http://localhost:1026/v2/subscriptions/' \
-H 'Content-Type: application/json' \
-H 'fiware-service: iotdata' \
-H 'fiware-servicepath: /' \
-d '<body>'
Применяется только к объектам с iotdata
путем службы, который будет создан при предоставлении услуги IoT.
3.Повторяющиеся атрибуты, которые не изменились.
<body>
подписки можно использовать для сужения условий, при которых сохраняются исторические данные.
entities
,conditions
и attrs
являются важной частью subject
subject": {
"entities": [
{
"idPattern": "Motion.*"
}
],
"condition": {
"attrs": [
"count"
]
}
},
"notification": {
"http": {
"url": "http://quantumleap:8668/v2/notify"
},
"attrs": [
"count"
],
"metadata": ["dateCreated", "dateModified"]
},
"throttling": 1
}'
Подписка, определенная выше, будет срабатывать только при изменении атрибута count
и сохраняться только в атрибуте count
.Если вы не ограничите свой attrs
, то несколько строк будут сохранены в базе данных.Точно так же, если вы не ограничите condition
, то несколько записей count
будут сохранены при обновлении других атрибутов.