0

我正在使用 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
}

我该如何解决这个问题或获取有关后台发生的事情的更多信息?

4

1 回答 1

0

Movesense 传感器中有两个 LED API。具有真/假值的简单 /Component/Led(与当前 Movesense 传感器中的单个 LED 匹配)。添加了第二个 LED API 以支持其他 Movesense 兼容设备中的多个/多色 LED。

对于 Movesense 传感器,我建议使用简单的 API。但是,要使用 wbcmd 放入复杂的 API,请使用以下命令(我已经测试过并且它可以工作,在 Mac 中确实如此,这就是端口看起来像这样的原因):

wbcmd --port /dev/cu.usbserial-AL01XHQC --path /component/leds/0 --op put --opdata '{"IsOn":true}'

全面披露:我为 Movesense 团队工作

于 2020-04-28T10:14:02.343 回答