Fiware iotagent:如何从设备发送度量?

时间:2015-08-24 07:28:28

标签: fiware fiware-cygnus

我正在开发Fiware系统,但我不知道如何通过IDAS iot-agent从设备发送指标。

我正在运行Orion和Cygnus,但是我将这些措施直接发送到Orion,我想将进程切换到IDAS iot-agent

我已经正确地创建了服务和设备,但我仍然坚持从设备到iot-agent的POST。

我的设备创建如下:

  

{“device_id”:“0010”,“entity_name”:“0010”,“entity_type”:   “xxxxx”,“timezone”:“Europe / Madrid”,“attributes”:[{“object_id”   :“0010”,“name”:“fecha”,“type”:“timestamp”,“name”:“coord_x”,   “type”:“double”,“name”:“coord_y”,“type”:“double”,“name”:   “coderr”,“type”:“string”,“name”:“s_temp”,“type”:“double”,   “name”:“s_hum”,“type”:“double”,“name”:“num_sat”,“type”:   “int”,“name”:“voltaje”,“type”:“double”,“name”:“inicio”,   “type”:“int”}],“service”:“xxxxx”,“service_path”:“/ xxxxx”}

如何从设备发送POST来发送措施?

感谢。

修改

我尝试从命令行进行POST测试,如下所示:

  

curl -X POST xxxxxxxxxxxx:8080 / iot / d?i = 0010 \    -一世 \    -H“内容类型:应用程序/文本”    -H“Fiware-Service:x​​xxxxx”    -H“Fiware-ServicePath:/ xxxxxx”\    -d“s_temp | 25”

以下是回复:

  

HTTP / 1.1 415连接:关闭   Content-Length:88 {“reason”:“不支持的媒体类型(仅支持application / xml和application / json)”}

现在的问题是......如果我安装了iot-agent-base和iot-agent-ul,为什么我无法POST文本?我错过了一些配置吗?

修改

我可以将值发送到此网址:

http://xxxxxxxx:8080/iot/xx?k=xxxxxxx&i=xxxxxxxx#fecha|1#coord_x|1#coord_y|1#coderr|1#s_temp|1#s_hum|1#s_temp|1#num_sat|1#voltaje|1#inicio|1

这就是反响

DEBUG - Accept: */*
DEBUG - End filters status 200
DEBUG - Proccessing in handle /iot
DEBUG - iota::AdminService::error_response 0
DEBUG - finish connection 2
DEBUG - Get statistics /iot/ngsi Counters 0
INFO - Agent Activity {"statistics":[{"resource":"/iot/ngsi","data":[]}]}

但猎户座没有得到任何东西

修改

这是一个版本问题,现在我安装了最新版本的iot-agent和UltraLight模块以及带有“协议”的设备:“PDI-IoTA-UltraLight”,协议本身正在运行。

但我不知道从设备发布测量的正确网址是什么。有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

您是否尝试过之前使用的相同网址,但使用-H“Content-Type:application / json”?

即使正文是UL2.0,内容类型也应设置为JSON。

如果这可以解决您的问题,请告诉我。 感谢您使用IDAS!