edgex启动设备服务,获取设备信息,控制设备等操作

[复制链接]
458|4
手机看帖
扫描二维码
随时随地手机跟帖
keer_zu|  楼主 | 2020-10-26 10:00 | 显示全部楼层 |阅读模式
开启设备服务
修改docker-compose.yml 文件,打开device-random 设备服务:
#################################################################
# Device Services
#################################################################
......
  device-random:
    image: edgexfoundry/docker-device-random-go:1.0.0
    ports:
      - "49988:49988"
    container_name: edgex-device-random
    hostname: edgex-device-random
    networks:
      edgex-network:
        aliases:
            - edgex-device-random
    volumes:
      - db-data:/data/db
      - log-data:/edgex/logs
      - consul-config:/consul/config
      - consul-data:/consul/data
    depends_on:
      - data
      - command

重新启动服务:sudo docker-compose up -d



使用特权

评论回复
评论
keer_zu 2020-10-26 10:06 回复TA
@21ic小管家 干货,编辑推荐 

相关帖子

keer_zu|  楼主 | 2020-10-26 10:05 | 显示全部楼层
本帖最后由 keer_zu 于 2020-10-26 10:07 编辑

测试设备服务
device-random这个service包含Random-Boolean-Device、Random-Integer-Device、 Random-Integer-Generator01等多个设备


拿Random-Integer-Generator01为例:
获取该设备信息:

GET http://192.168.138.128:48082/api/v1/device/name/Random-Integer-Generator01


我使用postman,运行在windows,这里的IP192.168.138.128是虚拟机的ip地址。


172985f962ed570fde.png


详细内容如下:

{
    "id": "09d43a05-aca0-42f2-a3e0-76360ae9d573",
    "name": "Random-Integer-Generator01",
    "adminState": "UNLOCKED",
    "operatingState": "ENABLED",
    "lastConnected": 0,
    "lastReported": 0,
    "labels": [
        "device-random-example"
    ],
    "location": null,
    "commands": [
        {
            "created": 1603089038273,
            "modified": 1603089038273,
            "id": "fb00eb8f-faff-4b4f-a65c-0772824c8c28",
            "name": "GenerateRandomValue_Int8",
            "get": {
                "path": "/api/v1/device/{deviceId}/GenerateRandomValue_Int8",
                "responses": [
                    {
                        "code": "503",
                        "description": "service unavailable"
                    }
                ],
                "url": "http://edgex-core-command:48082/api/v1/device/09d43a05-aca0-42f2-a3e0-76360ae9d573/command/fb00eb8f-faff-4b4f-a65c-0772824c8c28"
            },
            "put": {
                "path": "/api/v1/device/{deviceId}/GenerateRandomValue_Int8",
                "parameterNames": [
                    "Min_Int8",
                    "Max_Int8"
                ],
                "url": "http://edgex-core-command:48082/api/v1/device/09d43a05-aca0-42f2-a3e0-76360ae9d573/command/fb00eb8f-faff-4b4f-a65c-0772824c8c28"
            }
        },
        {
            "created": 1603089038273,
            "modified": 1603089038273,
            "id": "790ff76e-5481-485c-a7cd-5c79bd7d216e",
            "name": "GenerateRandomValue_Int16",
            "get": {
                "path": "/api/v1/device/{deviceId}/GenerateRandomValue_Int16",
                "responses": [
                    {
                        "code": "503",
                        "description": "service unavailable"
                    }
                ],
                "url": "http://edgex-core-command:48082/api/v1/device/09d43a05-aca0-42f2-a3e0-76360ae9d573/command/790ff76e-5481-485c-a7cd-5c79bd7d216e"
            },
            "put": {
                "path": "/api/v1/device/{deviceId}/GenerateRandomValue_Int16",
                "parameterNames": [
                    "Min_Int16",
                    "Max_Int16"
                ],
                "url": "http://edgex-core-command:48082/api/v1/device/09d43a05-aca0-42f2-a3e0-76360ae9d573/command/790ff76e-5481-485c-a7cd-5c79bd7d216e"
            }
        },
        {
            "created": 1603089038273,
            "modified": 1603089038273,
            "id": "35b53068-d0fb-43d3-82d0-00b34de362a8",
            "name": "GenerateRandomValue_Int32",
            "get": {
                "path": "/api/v1/device/{deviceId}/GenerateRandomValue_Int32",
                "responses": [
                    {
                        "code": "503",
                        "description": "service unavailable"
                    }
                ],
                "url": "http://edgex-core-command:48082/api/v1/device/09d43a05-aca0-42f2-a3e0-76360ae9d573/command/35b53068-d0fb-43d3-82d0-00b34de362a8"
            },
            "put": {
                "path": "/api/v1/device/{deviceId}/GenerateRandomValue_Int32",
                "parameterNames": [
                    "Min_Int32",
                    "Max_Int32"
                ],
                "url": "http://edgex-core-command:48082/api/v1/device/09d43a05-aca0-42f2-a3e0-76360ae9d573/command/35b53068-d0fb-43d3-82d0-00b34de362a8"
            }
        }
    ]
}



Random-Integer-Generator01设备有 GenerateRandomValue_Int8、GenerateRandomValue_Int16、GenerateRandomValue_Int32这 3 种属性






使用特权

评论回复
keer_zu|  楼主 | 2020-10-26 10:22 | 显示全部楼层
控制设备


通过命令微服务(Command Service)检查到设备可以调用的设备属性,使用put或get其url值读取或设置设备参数

GET http://192.168.138.128:48082/api/v1/device/09d43a05-aca0-42f2-a3e0-76360ae9d573/command/fb00eb8f-faff-4b4f-a65c-0772824c8c28

521125f96305d0d496.png

获取结果:
{
    "device": "Random-Integer-Generator01",
    "origin": 1603677368224,
    "readings": [
        {
            "origin": 1603677368224,
            "device": "Random-Integer-Generator01",
            "name": "RandomValue_Int8",
            "value": "-21"
        }
    ]
}




使用特权

评论回复
keer_zu|  楼主 | 2020-10-26 10:23 | 显示全部楼层
device-service数据推送

EdgeX Foundry 除了接受端设备的数据外,还可以将数据推送到各种云服务上,例如将获取到的随机数据推送到 MQTT 服务器上。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1303

主题

12221

帖子

53

粉丝