微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在 IoT Agent Fiware 中注册命令

如何解决无法在 IoT Agent Fiware 中注册命令

我将 IoT 代理与 Ultralight 直接运行一起使用(而不是作为 dockerized 组件)。我可以注册在 Orion Context broker 中映射的新设备。但是,我在注册需要配置数据中的命令的执行器时遇到问题。我使用:

curl -iX POST \
  'http://MYIP:4061/iot/devices' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: openiot' \
  -H 'fiware-servicepath: /' \
  -d '{
  "devices": [
    {
      "device_id": "lamp003","entity_name": "urn:ngsi-ld:Lamp:003","entity_type": "Lamp","protocol": "PDI-IoTA-UltraLight","transport": "MQTT","commands": [
        {"name": "on","type": "command"},{"name": "off","type": "command"}
       ]}
  ]
}

作为回应,我很震惊:

op=IoTAgentNGSI.DeviceProvisioning |从=n/a | srv=n/a | subsrv=n/a | msg=由于以下错误,设备配置失败:| comp=IoTAgent 连接到上下文代理的请求错误: {"code":"400","re​​asonPhrase":"Bad Request","details":"missing isDomain 注册属性值"}

我尝试将 "isDomain": "false" 添加到命令表的元素中,但没有成功。它以前可以工作,而且 official guide 上提供了类似的解决方案。

解决方法

isDomain 部分 已弃用 NGSI-v1 语法。它未用于 NGSI-v2NGSI-LD

我认为您可能将 IoT 代理作为 NGSI-v1 运行。您需要在 contextBroker.ngsiVersion 中设置 config.js 或设置以下 Env variable in Docker 或 Docker-compose。

IOTA_CB_NGSI_VERSION=v2
config.js
{
    host: '192.168.56.101',port: '1026',ngsiVersion: 'v2'
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。