Fiware 带参数的Ultralight 2.0命令(轮询模式)
我在使用命令时发现了一些问题。根据协议的原理,可以使用对Orion上下文代理的updateContext操作来执行命令,现在它工作得很好 问题是,如何按照协议中的规定为命令提供一些参数Fiware 带参数的Ultralight 2.0命令(轮询模式),fiware,fiware-orion,Fiware,Fiware Orion,我在使用命令时发现了一些问题。根据协议的原理,可以使用对Orion上下文代理的updateContext操作来执行命令,现在它工作得很好 问题是,如何按照协议中的规定为命令提供一些参数 <device name>@<command name>|<param name>=<value>|.... 如果参数不在“value”键中,我应该在哪里发出参数 如果我使用以下请求,它将按预期运行: curl -X PUT \ 'http://MYIP:10
<device name>@<command name>|<param name>=<value>|....
如果参数不在“value”键中,我应该在哪里发出参数
如果我使用以下请求,它将按预期运行:
curl -X PUT \
'http://MYIP:1026/v2/entities/1111/attrs/blink?type=Thing' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'fiware-service: howtoservice' \
-H 'fiware-servicepath: /howto' \
-d '{
"type": "command",
"value": "true"
}'
提前感谢关于这个问题,有几件事要做。这两件事都与错误的文件有关,我感到震惊 首先,文档应说明从代理向UL设备发送命令的一般方式为:
<device name>@<command name>|<value>
也就是说,我们告诉我们的UL设备向左转动阀门
或者它可以是这样的组合值(仅举一个例子):
也就是说,我们告诉我们的UL设备在经过3秒的时间后左转。在这种情况下,我们发送方向:左,失效:3
字符串,因为我们的UL设备知道如何解码。你可以通过许多其他的选择,ir取决于你的UL设备能够理解什么;举几个例子:
dev1@turn|direction:left|lapse:3 --> value is direction:left|lapse:3
dev1@turn|direction|left|lapse|3 --> value is direction|left|lapse|3
dev1@turn|direction left lapse 3 --> value is direction left lapse 3
考虑到这一点,在文档示例中,我们必须假设发送的
是:
<param1 name>=<value>|<param1 name>=<value>|...
这是完全正确的。这不是方向=left |失效=3
或包含=
的任何其他字符串的情况
编辑:上的文档已修复。非常感谢@frb,我担心会发生这种情况!我之前也对您的答案实施了与您建议的相同的sintaxis:)Answerd已被编辑,以告知IoAgent存储库文档已修复。
dev1@turn|direction:left,lapse:3
dev1@turn|direction:left|lapse:3 --> value is direction:left|lapse:3
dev1@turn|direction|left|lapse|3 --> value is direction|left|lapse|3
dev1@turn|direction left lapse 3 --> value is direction left lapse 3
<param1 name>=<value>|<param1 name>=<value>|...
direction:left|lapse:3
direction|left|lapse|3
direction left lapse 3