首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IOT Agent Json在设备上修改属性

IOT Agent Json在设备上修改属性
EN

Stack Overflow用户
提问于 2018-09-25 13:38:38
回答 1查看 459关注 0票数 2

我正在使用带有MQTT绑定的IOT代理JSON。

我有一个传感器驱动器注册在猎户座使用物联网代理和我创建了订阅。

如果第三方应用程序修改传感器值,orion必须向设备发送物联网代理信息和物联网代理。

例如,如果我在传感器内有3个属性,其中一个属性控制一个阀门。

在orion中,该属性是true或false。

如果属性在orion中被修改,则必须将此属性发送给物联网代理和物联网代理,以关闭或打开阀门。

额外信息:

该软件是Fiware泛型启用的两个组件。

物联网代理JSON:https://github.com/telefonicaid/iotagent-json Fiware-orionCB:https://github.com/telefonicaid/fiware-orion

有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-04 09:36:17

没有官方教程将JSON IoT代理连接到MQTT上的设备,但对于超轻IoT试剂存在一个非常类似的教程

IoT设备要么是:

  • 传感器-读取来自现实世界的测量数据
  • 执行器-改变世界状态
  • --两者都是

这里的问题是不能让Orion直接更新传感器的属性/状态。上下文代理中实体的属性表示传感器的传入状态-即来自该传感器的度量。

例如,对于读取阀门状态的传感器,它可能是"open: "true"

为了更新执行器,您需要发送一个命令,而不是修改这个值。

在提供设备时,应该设置命令(假定您已经有了服务):

代码语言:javascript
运行
复制
curl -iX POST \
  'http://localhost:4041/iot/devices' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: openiot' \
  -H 'fiware-servicepath: /' \
  -d '{
  "devices": [
    {
      "device_id": "bell001",
      "entity_name": "urn:ngsi-ld:Bell:001",
      "entity_type": "Bell",
      "protocol": "PDI-IoTA-UltraLight",
      "transport": "MQTT",
      "commands": [
        { "name": "ring", "type": "command" }
       ],
       "static_attributes": [
         {"name":"refStore", "type": "Relationship","value": "urn:ngsi-ld:Store:001"}
      ]
    }
  ]
}
'

然后你可以发送命令去做一些事情(比如敲响铃铛,打开阀门等等)。通过更改命令属性的状态。

代码语言:javascript
运行
复制
curl -iX PATCH \
  'http://localhost:1026/v2/entities/urn:ngsi-ld:Bell:001/attrs' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: openiot' \
  -H 'fiware-servicepath: /' \
  -d '{
  "ring": {
      "type" : "command",
      "value" : ""
  }
}'

根据配置设备的方式,您可能还需要注册命令 --尽管这可能不是必要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52499615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档