小工具知识网

当前位置: 首页 > 行业知识 > EdgeX Foundry - 导出数据到 HTTP 服务

行业知识

EdgeX Foundry - 导出数据到 HTTP 服务

2026-11-15 18:55:31 来源:互联网转载

文章目录

    • 一、概述
      • 1.安装说明
      • 2.HTTP 服务
      • 二、安装部署
        • 1.docker-comepse
        • 2.修改配置
        • 3.启动 EdgeX Foundry
        • 4.访问 UI
          • 4.1. consul
          • 4.2. EdgeX Console
          • 5.���试
            • EdgeX Foundry
              # EdgeX Foundryhttps://iothub.org.cn/docs/edgex/https://iothub.org.cn/docs/edgex/device/export-http/

              一、概述

              1.安装说明

              安装方式:

              • 部署虚拟设备服务 ds-virtual 模拟设备
              • EdgeX 导出数据到 HTTP 服务
              • 使用 Spring Boot 开发 HTTP 服务,接收导出数据

                2.HTTP 服务

                Spring Boot 程序

                @RestControllerpublic class EdgexController {    @RequestMapping("/income")    public void edgexCallback(@RequestBody HashMap hashMap) {        System.out.println(hashMap);    }}
                # 导出数据接口http://192.168.3.4:8888/income

                二、安装部署

                1.docker-comepse

                # 1.克隆 edgex-compose$ git clone git@github.com:edgexfoundry/edgex-compose.git $ git clone https://github.com/edgexfoundry/edgex-compose.git$ cd edgex-compose $ git checkout v3.1# 2.生成 docker-compose.yml 文件(注意这包括 mqtt-broker)$ cd compose-builder$ make gen ds-virtual asc-http no-secty# 3.检查生成的文件$ ls | grep 'docker-compose.yml'docker-compose.yml
                [root@edgex mqtt-device]# git clone https://github.com/edgexfoundry/edgex-compose.gitCloning into 'edgex-compose'...remote: Enumerating objects: 4779, done.remote: Counting objects: 100% (2916/2916), done.remote: Compressing objects: 100% (173/173), done.remote: Total 4779 (delta 2831), reused 2804 (delta 2741), pack-reused 1863Receiving objects: 100% (4779/4779), 1.22 MiB | 450.00 KiB/s, done.Resolving deltas: 100% (4042/4042), done.[root@edgex mqtt-device]# lltotal 4drwxr-xr-x. 6 root root 4096 Feb  1 04:10 edgex-compose[root@edgex mqtt-device]# cd edgex-compose/[root@edgex edgex-compose]# git checkout v3.1Note: checking out 'v3.1'.You are in 'detached HEAD' state. You can look around, make experimentalchanges and commit them, and you can discard any commits you make in thisstate without impacting any branches by performing another checkout.If you want to create a new branch to retain commits you create, you maydo so (now or later) by using -b with the checkout command again. Example:  git checkout -b new_branch_nameHEAD is now at 488a3fe... Merge pull request #424 from lenny-intel/device-mqtt-secure-mode-napa[root@edgex edgex-compose]# cd compose-builder/[root@edgex compose-builder]# make gen ds-virtual asc-http no-sectyecho MQTT_VERBOSE=MQTT_VERBOSE=docker compose  -p edgex -f docker-compose-base.yml -f add-device-virtual.yml -f add-asc-http-export.yml convert > docker-compose.ymlrm -rf ./gen_ext_compose[root@edgex compose-builder]# ls | grep 'docker-compose.yml'docker-compose.yml
                [root@edgex compose-builder]# vim docker-compose.yml name: edgexservices:  app-http-export:    container_name: edgex-app-http-export    depends_on:      consul:        condition: service_started        required: true      core-data:        condition: service_started        required: true    environment:      EDGEX_PROFILE: http-export      EDGEX_SECURITY_SECRET_STORE: "false"      SERVICE_HOST: edgex-app-http-export      WRITABLE_LOGLEVEL: INFO      WRITABLE_PIPELINE_FUNCTIONS_HTTPEXPORT_PARAMETERS_URL: http://EXPORT_HOST_PLACE_HOLDER:7770    hostname: edgex-app-http-export    image: edgexfoundry/app-service-configurable:3.1.0    networks:      edgex-network: null    ports:      - mode: ingress        host_ip: 127.0.0.1        target: 59704        published: "59704"        protocol: tcp    read_only: true    restart: always    security_opt:      - no-new-privileges:true    user: 2002:2001    volumes:      - type: bind        source: /etc/localtime        target: /etc/localtime        read_only: true        bind:          create_host_path: true......

                2.修改配置

                # 修改配置注意WRITABLE_PIPELINE_FUNCTIONS_HTTPEXPORT_PARAMETERS_URL: http://192.168.10.131:8080/income这里配置了我们的导出端点,即http://192.168.10.131:8080/income,这里是我自定义的一个springboot应用WRITABLE_PIPELINE_FUNCTIONS_HTTPEXPORT_PARAMETERS_URL: http://192.168.3.4:8888/income[root@edgex compose-builder]# vim docker-compose.yml name: edgexservices:  app-http-export:    container_name: edgex-app-http-export......    environment:      EDGEX_PROFILE: http-export      EDGEX_SECURITY_SECRET_STORE: "false"      SERVICE_HOST: edgex-app-http-export      WRITABLE_LOGLEVEL: INFO      WRITABLE_PIPELINE_FUNCTIONS_HTTPEXPORT_PARAMETERS_URL: http://192.168.3.4:8888/income

                3.启动 EdgeX Foundry

                使用以下命令部署 EdgeX:

                $ cd edgex-compose/compose-builder$ docker compose pull$ docker compose up -d# 修改配置文件替换IP地址 127.0.0.1 为 0.0.0.0# 修改 http接口WRITABLE_PIPELINE_FUNCTIONS_HTTPEXPORT_PARAMETERS_URL: http://192.168.3.4:8888/income
                # docker compose pull# docker compose up -d

                4.访问 UI

                4.1. consul
                # 访问地址http://192.168.202.233:8500
                4.2. EdgeX Console
                # 访问地址http://192.168.202.233:4000/

                5.测试

                {profileName = Random - Boolean - Device, apiVersion = v3, readings = [{id = 638 d5e03 - 5 f65 - 4007 - 95 f6 - 856986e cf3b0,origin = 1708432044141665586,deviceName = Random - Boolean - Device,resourceName = Bool,profileName = Random - Boolean - Device,valueType = Bool,value = true}], origin = 1708432044141665586, id = 5 c05ac22 - 59e6 - 41e e - 8 f9b - c3973b0e17d6, sourceName = Bool, deviceName = Random - Boolean - Device} {profileName = Random - Float - Device, apiVersion = v3, readings = [{id = 33e07 d1d - dc31 - 4e5 f - b4ca - 4 d2505da81cf,origin = 1708432044120816042,deviceName = Random - Float - Device,resourceName = Float64,profileName = Random - Float - Device,valueType = Float64,value = -1.669694e+308}], origin = 1708432044120816042, id = bc40b33a - 9270 - 40 a2 - 90 cb - 510995 d92a02, sourceName = Float64, deviceName = Random - Float - Device} {profileName = Random - Integer - Device, apiVersion = v3, readings = [{id = 450 d2e8d - 057 d - 4e85 - a09e - d9165d97473c,origin = 1708432044127607940,deviceName = Random - Integer - Device,resourceName = Int8,profileName = Random - Integer - Device,valueType = Int8,value = 93}], origin = 1708432044127607940, id = 292 b0bd7 - 8e a1 - 4 aa4 - a903 - 462 df4361169, sourceName = Int8, deviceName = Random - Integer - Device} {profileName = Random - UnsignedInteger - Device, apiVersion = v3, readings = [{id = 403e305 c - 300 d - 468 a - a057 - edc97a0b3cdf,origin = 1708432044131510252,deviceName = Random - UnsignedInteger - Device,resourceName = Uint8,profileName = Random - UnsignedInteger - Device,valueType = Uint8,value = 223}], origin = 1708432044131510252, id = f8ed3c1b - cdb6 - 4189 - bf76 - 3 b3d209bffd0, sourceName = Uint8, deviceName = Random - UnsignedInteger - Device} ......
                • EdgeX Foundry
                  # EdgeX Foundryhttps://iothub.org.cn/docs/edgex/https://iothub.org.cn/docs/edgex/device/export-http/

上一篇:易语言图片转PDF教程,轻松实现图片转文件,一键转换!

下一篇:远程电脑服务器怎么开机?