2

首先我使用这个脚本注册服务

curl -H“内容类型:应用程序/json”-H“Fiware-Service:cairoUniversity”-H“Fiware-ServicePath:/FCI/ICDL”\ http://XXXX:4041/iot/services -d'{“服务”:[{“apikey”:“api1”,“cbroker”:“ http://0.0.0.0:1026 ”,“entity_type”:“Camps”,“资源”:“/iot/d”}]} '

然后我使用这个注册设备

curl http://XXXX:4041/iot/devices \ -H "Content-type: application/json" -H "Fiware-Service:cairoUniversity" -H "Fiware-ServicePath: /FCI/ICDL" \ -d '{ “设备”:[ { “device_id”:“smartmeter2”,“entity_name”:“ICDL2”,“entity_type”:“Camps”,“协议”:“PDI-IoTA-UltraLight”,“时区”:“欧洲/马德里", "属性": [ { "object_id": "c", "name": "Conscemption", "type": "int" } ] } ] }'

然后我订阅了猎户座

curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "Fiware-Service: cairoUniversity" \ -H "Fiware-ServicePath: /FCI/ICDL" -H​​ "Cache -Control: no-cache" -d '{ "entities": [ { "type": "Camps", "isPattern": "false", "id": "ICDL2" } ], > "attributes": ["概念”],“参考”:“http ://XXXX:8666/notify”,“持续时间”:“P1M”,“notifyConditions”:[{“type”:“ONCHANGE”,“condValues”:[“概念”]}]}'“ http://XXXX:1026/v1/subscribeContext ”}

之后我发送观察

curl " http://XXXX:7896/iot/d?k=api1&i=smartmeter2 " -d 'c|47' -H "内容类型:文本/纯文本"

最后从某事中检索数据

curl -X GET \
' http://XXXX:8666/STH/v1/contextEntities/type/Camps/id/ICDL/attributes/Conscemption?aggrMethod=min&aggrPeriod=day&dateFrom=2015-01-28T00%3A00%3A00&dateTo=2018- 01-01T23%3A59%3A59 '\-H'接受:应用程序/json'\-H'缓存控制:无缓存'\
-H'内容类型:应用程序/json'\-H'fiware-service: cairoUniversity' \ -H 'fiware-servicepath: /FCI/ICDL' | python -mjson.tool }

我得到了这个回应

“contextResponses”:[{“contextElement”:{“attributes”:[{“name”:“Conscemption”, “values”:[] }],“id”:“ICDL”,“isPattern”:false,“type ": "Camps" }, "statusCode": { "code": "200", "reasonPhrase": "OK" } } ]

这是日志

……彗星 | 时间=2017-09-04T14:26:44.782Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=OPER_STH_SERVER_LOG | 来自=n/a | srv=n/a | subsrv=n/a | 比较=STH | msg=一切正常,最近 60 秒间隔内有 0 个请求参与 sth-comet | 时间=2017-09-04T14:27:44.787Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=OPER_STH_SERVER_LOG | 来自=n/a | srv=n/a | subsrv=n/a | 比较=STH | msg=一切正常,过去 60 秒间隔内有 0 个请求参与

……彗星 | 时间=2017-09-04T14:27:52.834Z | lvl=警告 | corr=99577e81-bbd4-4130-95f6-a9d029f84db0 | 反式=99577e81-bbd4-4130-95f6-a9d029f84db0 | 操作=OPER_STH_GET | 来自=n/a | srv=开罗大学 | subsrv=/FCI/ICDL | 比较=STH |

> msg=获取聚合数据集合进行检索时出错(集合可能不存在)

……彗星 | 时间=2017-09-04T14:28:44.792Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=OPER_STH_SERVER_LOG | 来自=n/a | srv=n/a | subsrv=n/a | 比较=STH | msg=一切正常,最近 60 秒间隔内有 0 个请求参与 sth-comet | 时间=2017-09-04T14:29:44.797Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=OPER_STH_SERVER_LOG | 来自=n/a | srv=n/a | subsrv=n/a | 比较=STH | msg=一切正常,最近 60 秒间隔内有 0 个请求参与 sth-comet | 时间=2017-09-04T14:30:44.805Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=OPER_STH_SERVER_LOG | 来自=n/a | srv=n/a | subsrv=n/a | 比较=STH | msg=一切正常,最近 60 秒间隔内有 0 个请求参与 sth-comet | 时间=2017-09-04T14:31:44.811Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=OPER_STH_SERVER_LOG | 来自=n/a | srv=n/a | subsrv=n/a | 比较=STH | msg=一切正常,

什么可能会导致此问题以及如何解决

4

1 回答 1

1

根据您发布的日志,通知永远不会到达 SHT 服务,这就是为什么您在获取要检索的聚合数据集合时收到 msg=Error(该集合可能不存在)所以问题看起来与您如何创建Orion 中的实体。

我注意到您已经创建了一个名为 ICDL2 的实体,在该实体中包含属性“name”:“Conscemption”,“type”:“int”,但从不包含“value”属性,因此当您发送数据时它永远不会在该实体中更新。

其次,您以这种方式将数据发送到您的设备 "curl " http://XXXX:7896/iot/d?k=api1&i=smartmeter2 " -d 'c|47' -H "Content-type: text/plain"但正如我之前告诉你的,值 '47' 永远不会被写入实体,因为它没有被创建,你将触发器关联到值 "name": "Conscemption" 但它永远不会改变,因为没有属性值。

因此,管理您的实体和对 ORION 的订阅似乎是一个问题,您可以找到有关如何在 ORION 中创建和更新实体以及如何进行一些测试的更多信息:https ://fiware-orion.readthedocs.io/en /master/user/walkthrough_apiv1/index.html#introduction。在您确定 Orion 向您发送通知后,您可以在 STH comet 中查看您的数据。此外,如果您有与 fiware 产品相关的问题,您可以在https://jira.fiware.org中发布问题,并收到 fiware 每个组件团队的直接答复。

于 2018-01-22T10:49:28.457 回答