【发布时间】:2020-04-28 18:14:02
【问题描述】:
我正在使用 PowerShell 在 Windows 上进行测试。
当我输入像 bool 这样的简单类型时,WbCmd 会像预期的那样工作。
PS> wbcmd --port TCP7044 --path /Component/Led --op put --opdatatype bool --opdata true
WbCmd Movesense:
{
"response": 200,
"responsestring": "HTTP_CODE_OK",
"operation": "put",
"uri": "/net/ECSI00000000/Component/Led",
"querytimems": 0,
"querytimens": 536100
}
但是当我尝试放置一个对象时,它“找不到数据类型”。
PS> wbcmd --port TCP7044 --path /Component/Leds/0 --op get
WbCmd Movesense:
{
"response": 200,
"responsestring": "HTTP_CODE_OK",
"operation": "get",
"uri": "/net/ECSI00000000/Component/Leds/0",
"content": {
"IsOn": true,
"LedColor": [
0,
"Red"
]
},
"querytimems": 0,
"querytimens": 613500
}
PS> wbcmd --port TCP7044 --path /Component/Leds/0 --op put --opdatatype LedState --opdata '{ "LedState":
{ "IsOn": false, "LedColor": 0 } }'
WbCmd Movesense:
{
"response": 404,
"responsestring": "Failed to find data type LedState",
"operation": "put",
"uri": "/net/ECSI00000000/Component/Leds/0",
"querytimems": 3,
"querytimens": 3526200
}
我该如何解决这个问题或获取有关后台发生的事情的更多信息?
【问题讨论】:
-
我认为你必须删除包装,只包含对象的内部部分
-
... 这样 wbcmd 的工作方式与 MDS 有点不同。在 MDS 中,需要有具有正确属性名称(=参数名称)的包装器。在 wbcmd 中,您只需提供参数对象
-
@user1987093 不管
--opdata的内容是什么,只要它存在。
标签: movesense