我正在开发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:xxxxxx” -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”,协议本身正在运行。
但我不知道从设备发布测量的正确网址是什么。有什么帮助吗?
答案 0 :(得分:3)
您是否尝试过之前使用的相同网址,但使用-H“Content-Type:application / json”?
即使正文是UL2.0,内容类型也应设置为JSON。
如果这可以解决您的问题,请告诉我。 感谢您使用IDAS!