可执行二进制程序类型进程应用

智能边缘 BIE

  • 产品描述
    • 名词解释
    • 使用限制
    • 产品概述
    • 产品优势
    • 应用场景
  • 配置文件说明
    • baetyl-rule
    • baetyl-remote-object
    • baetyl-function
    • baetyl-broker
  • 快速入门
    • 融合模式节点安装
    • 快速入门指南
    • 离线安装k3s+docker
    • 进程模式节点安装
      • 在linux上安装
      • 在windows上安装
  • 典型实践
    • OPC-UA使用
    • 使用BIE函数计算调用文心一言
    • 边缘规则引擎实战
      • 集成Kuiper流式计算引擎
      • 边缘规则实例
    • 将AI中台模型部署至边缘节点
      • 获取AI中台模型部署包进行应用部署
      • 部署模型SDK至Atlas200DK
      • 模型中心1.0
        • 通过AI中台转换模型并下发至边缘
        • 通过AI中台直接将模型下发至边缘
      • 模型中心2.0
        • 将物体检测模型部署至边缘
        • 将图像分类模型部署至边缘
    • 部署PaddleServing模型
      • 使用BIE下发PaddleOCR模型
      • 制作GPU版本Paddle Serving推理镜像
      • 通过BIE部署Paddle Serving
    • Modbus协议采集温湿度传感器
      • 连接边缘baetyl-broker
      • 使用内置modbus驱动采集数据并进行边缘函数计算
      • 数据从baetyl-broker上传至IoTCore
    • 部署EasyDL模型SDK
      • 部署EasyDL烟火检测模型至ARM64节点
    • 部署EasyEdge模型SDK
      • 进程模式下发python SDK模型
      • 使用EasyEdge模型转换获取边缘模型
      • 部署模型SDK至Windows设备
      • 部署模型SDK至Intel Movidius设备
      • 部署模型SDK至Jetson Xavier
    • 部署自定义容器镜像模型
      • 部署mnist手写数字识别模型
      • 部署物体检测模型
    • video-infer实现边缘视频AI推断
      • 使用Movidius VPU加速边缘视频推断
      • 使用CPU实现边缘视频推断
  • 操作指南
    • 主子用户鉴权
    • 设备管理
      • 设备模拟器
      • 子设备数据云边交互方式
      • 进程模式软网关设备接入指南
      • 子设备数据云边交互方式-v2
      • 视频流管理
        • IPC子设备和驱动
        • 边缘转发RTSP视频流
      • 设备接入
        • 设备模型管理
        • 接入模板
        • 设备管理
        • 子设备绑定
      • 驱动管理
        • 进程模式软网关自定义驱动开发
        • 驱动管理
        • GO语言实现示例
        • 自定义驱动开发指南
      • 不同协议设备接入
        • BACnet设备接入
        • OPC-UA设备接入
        • Modbus 设备接入
        • IEC104设备接入
        • OPC-DA设备接入
    • 节点管理
      • 边缘应用获取云端STS鉴权
      • 进程模式节点
      • 远程MQTT消息下发
      • 节点运行模式说明
      • 节点影子
      • 远程调用
      • 容器模式节点
      • 远程调试
      • 远程SSH边缘节点
      • 边缘节点OpenAPI
      • 证书管理
      • 节点预配
    • 业务编排
      • 单元管理
      • 技能管理
      • 常见技能
    • 应用管理
      • 业务模版
      • 应用部署
        • 应用运行模式与分类说明
        • 函数应用
          • 自定义函数与依赖包解耦下发
          • 从CFC引入多个函数下发
          • 典型使用说明
          • 使用函数调用边缘AI模型
          • 自定义函数与依赖包整体下发
        • 容器应用
          • subpath子路径使用说明
          • workdir工作目录使用说明
          • Job类型容器应用
          • 容器应用状态说明
          • 原生yaml接入使用说明
          • 端口映射说明
          • 容器应用工作负载类型说明
          • Deployment类型容器应用
          • DaemonSet类型容器应用
          • QPS监控
          • emptyDir卷使用说明
          • 边缘服务调用
        • 进程应用
          • 进程应用概述
          • 可执行二进制程序类型进程应用
          • 可执行脚本类型进程应用
      • 配置管理
        • 证书
        • 函数
        • 镜像仓库凭证
        • 配置项
        • 密文
        • 镜像
        • 进程程序包
    • AI加速卡
      • AI加速卡通用资源调度方法
      • 自定义加速卡算力指标采集
      • 华为昇腾
        • 昇腾310资源监控
      • 英伟达
        • GPU资源调度-显存隔离
        • Jetson资源监控
        • GPU资源调度-显存共享
        • Jetson依赖说明
        • NVIDIA GPU资源监控
      • 寒武纪
        • MLU270资源监控
      • 百度昆仑
        • 昆仑芯片资源监控
      • 比特大陆
        • 挂载比特大陆边缘计算盒子tpu资源
        • BM-SE5资源监控
  • 服务等级协议SLA
    • 服务等级协议SLA(V1.0)
  • 备份
    • 进程模式应用
    • 部署通用CPU模型
    • 部署模型SDK至Atlas200DK
    • 适配列表
    • 连接边缘节点本地baetyl-broker
    • 使用自定义modbus应用采集
    • NVIDIA GPU资源管理
    • FAQ
    • NVIDIA Jetson专用模型部署-进程模式
    • 容器模式应用
    • 连接边缘节点本地baetyl-broker服务
    • DaemonSet类型和job类型服务部署
    • 通用CPU模型部署-容器模式
    • NVIDIA Jetson专用模型部署-容器模式
    • 功能发布记录
    • 在BIE控制台部署从AI中台下载的模型
    • EasyEdge概述
    • Nvidia_Jetson
      • 使用NVIDIA官方镜像运行模型-容器模式
      • 二进制程序运行模型-进程模式
      • 使用edgekit镜像运行模型-容器模式
    • 下载专区
      • 相关资源下载
  • 产品定价
    • 产品定价
所有文档
menu
没有找到结果,请重新输入

智能边缘 BIE

  • 产品描述
    • 名词解释
    • 使用限制
    • 产品概述
    • 产品优势
    • 应用场景
  • 配置文件说明
    • baetyl-rule
    • baetyl-remote-object
    • baetyl-function
    • baetyl-broker
  • 快速入门
    • 融合模式节点安装
    • 快速入门指南
    • 离线安装k3s+docker
    • 进程模式节点安装
      • 在linux上安装
      • 在windows上安装
  • 典型实践
    • OPC-UA使用
    • 使用BIE函数计算调用文心一言
    • 边缘规则引擎实战
      • 集成Kuiper流式计算引擎
      • 边缘规则实例
    • 将AI中台模型部署至边缘节点
      • 获取AI中台模型部署包进行应用部署
      • 部署模型SDK至Atlas200DK
      • 模型中心1.0
        • 通过AI中台转换模型并下发至边缘
        • 通过AI中台直接将模型下发至边缘
      • 模型中心2.0
        • 将物体检测模型部署至边缘
        • 将图像分类模型部署至边缘
    • 部署PaddleServing模型
      • 使用BIE下发PaddleOCR模型
      • 制作GPU版本Paddle Serving推理镜像
      • 通过BIE部署Paddle Serving
    • Modbus协议采集温湿度传感器
      • 连接边缘baetyl-broker
      • 使用内置modbus驱动采集数据并进行边缘函数计算
      • 数据从baetyl-broker上传至IoTCore
    • 部署EasyDL模型SDK
      • 部署EasyDL烟火检测模型至ARM64节点
    • 部署EasyEdge模型SDK
      • 进程模式下发python SDK模型
      • 使用EasyEdge模型转换获取边缘模型
      • 部署模型SDK至Windows设备
      • 部署模型SDK至Intel Movidius设备
      • 部署模型SDK至Jetson Xavier
    • 部署自定义容器镜像模型
      • 部署mnist手写数字识别模型
      • 部署物体检测模型
    • video-infer实现边缘视频AI推断
      • 使用Movidius VPU加速边缘视频推断
      • 使用CPU实现边缘视频推断
  • 操作指南
    • 主子用户鉴权
    • 设备管理
      • 设备模拟器
      • 子设备数据云边交互方式
      • 进程模式软网关设备接入指南
      • 子设备数据云边交互方式-v2
      • 视频流管理
        • IPC子设备和驱动
        • 边缘转发RTSP视频流
      • 设备接入
        • 设备模型管理
        • 接入模板
        • 设备管理
        • 子设备绑定
      • 驱动管理
        • 进程模式软网关自定义驱动开发
        • 驱动管理
        • GO语言实现示例
        • 自定义驱动开发指南
      • 不同协议设备接入
        • BACnet设备接入
        • OPC-UA设备接入
        • Modbus 设备接入
        • IEC104设备接入
        • OPC-DA设备接入
    • 节点管理
      • 边缘应用获取云端STS鉴权
      • 进程模式节点
      • 远程MQTT消息下发
      • 节点运行模式说明
      • 节点影子
      • 远程调用
      • 容器模式节点
      • 远程调试
      • 远程SSH边缘节点
      • 边缘节点OpenAPI
      • 证书管理
      • 节点预配
    • 业务编排
      • 单元管理
      • 技能管理
      • 常见技能
    • 应用管理
      • 业务模版
      • 应用部署
        • 应用运行模式与分类说明
        • 函数应用
          • 自定义函数与依赖包解耦下发
          • 从CFC引入多个函数下发
          • 典型使用说明
          • 使用函数调用边缘AI模型
          • 自定义函数与依赖包整体下发
        • 容器应用
          • subpath子路径使用说明
          • workdir工作目录使用说明
          • Job类型容器应用
          • 容器应用状态说明
          • 原生yaml接入使用说明
          • 端口映射说明
          • 容器应用工作负载类型说明
          • Deployment类型容器应用
          • DaemonSet类型容器应用
          • QPS监控
          • emptyDir卷使用说明
          • 边缘服务调用
        • 进程应用
          • 进程应用概述
          • 可执行二进制程序类型进程应用
          • 可执行脚本类型进程应用
      • 配置管理
        • 证书
        • 函数
        • 镜像仓库凭证
        • 配置项
        • 密文
        • 镜像
        • 进程程序包
    • AI加速卡
      • AI加速卡通用资源调度方法
      • 自定义加速卡算力指标采集
      • 华为昇腾
        • 昇腾310资源监控
      • 英伟达
        • GPU资源调度-显存隔离
        • Jetson资源监控
        • GPU资源调度-显存共享
        • Jetson依赖说明
        • NVIDIA GPU资源监控
      • 寒武纪
        • MLU270资源监控
      • 百度昆仑
        • 昆仑芯片资源监控
      • 比特大陆
        • 挂载比特大陆边缘计算盒子tpu资源
        • BM-SE5资源监控
  • 服务等级协议SLA
    • 服务等级协议SLA(V1.0)
  • 备份
    • 进程模式应用
    • 部署通用CPU模型
    • 部署模型SDK至Atlas200DK
    • 适配列表
    • 连接边缘节点本地baetyl-broker
    • 使用自定义modbus应用采集
    • NVIDIA GPU资源管理
    • FAQ
    • NVIDIA Jetson专用模型部署-进程模式
    • 容器模式应用
    • 连接边缘节点本地baetyl-broker服务
    • DaemonSet类型和job类型服务部署
    • 通用CPU模型部署-容器模式
    • NVIDIA Jetson专用模型部署-容器模式
    • 功能发布记录
    • 在BIE控制台部署从AI中台下载的模型
    • EasyEdge概述
    • Nvidia_Jetson
      • 使用NVIDIA官方镜像运行模型-容器模式
      • 二进制程序运行模型-进程模式
      • 使用edgekit镜像运行模型-容器模式
    • 下载专区
      • 相关资源下载
  • 产品定价
    • 产品定价
  • 文档中心
  • arrow
  • 智能边缘BIE
  • arrow
  • 操作指南
  • arrow
  • 应用管理
  • arrow
  • 应用部署
  • arrow
  • 进程应用
  • arrow
  • 可执行二进制程序类型进程应用
本页目录
  • 1、概述
  • 2、程序包依赖文件准备
  • 2.1 可执行二进制程序
  • 2.2 程序入口配置文件
  • 3、创建程序包
  • 4、创建进程应用
  • 4.1 创建流程
  • 4.2 启动参数说明
  • 5、验证

可执行二进制程序类型进程应用

更新时间:2025-08-21

1、概述

在进程应用概述当中提到,进程应有两类,本文重点讲解可执行二进制程序类型进程应用。并以构建emqx的BIE进程应用为例来进行详细说明。

2、程序包依赖文件准备

2.1 可执行二进制程序

emqx提供了多个平台的编译程序,因此可以使用emqx作为示例介绍二进制程序文件的制作方式。

  1. 下载emqx-5.0.8-ubuntu20.04-arm64.tar.gz 并解压。
  2. 可以看到emqx的相对路径是bin/emqx,这个将作为entry的值填写到program.yml文件当中。

image.png

  1. 因为程序入口是bin/emqx,入口程序需要具有可执行权限,可以通过ls命令查看文件权限。
Bash
1ls -l
2-rwxr-xr-x 1 root root 34538 Sep 28 19:38 emqx
  1. 如果程序不具备可执行权限,可以通过自行如下命令添加可执行权限
Bash
1chmod +x emqx
  1. 当前baetyl边缘计算框架还不支持tar.gz文件的解压缩,因此需要将上述文件压缩成zip包,执行如下命令,将在该目录下得到emqx-5.0.8-ubuntu20.04-arm64.zip压缩文件。
Bash
1cd emqx-5.0.8-ubuntu20.04-arm64
2zip -r emqx-5.0.8-ubuntu20.04-arm64.zip ./*

2.2 程序入口配置文件

  1. 整理程序入口配置文件:

    • 文件名:program.yml
    • 文件内容:entry: "bin/emqx"
  2. 执行如下命令,得到zip压缩包emqx-program-yml-1.zip
Bash
1zip -r emqx-program-yml-1.zip program.yml

3、创建程序包

  1. 参考进程程序包,创建程序包emqx-5.0.8-ubuntu20.04,通过HTTP方式引入前面创建的2个文件:

    • emqx-program-yml-1.zip
    • emqx-5.0.8-ubuntu20.04-arm64.zip
  2. 也可以直接下载(右键->另存为) 进程程序包-emqx-5.0.8-ubuntu20.04.json 到本地,然后直接导入程序包。
  3. 程序包支持多平台架构。可以在一个程序包当中引入多个平台的可执行程序,边缘计算框架baetyl会自动根据实际设备的系统架构(Arch)动态下载匹配的可执行程序。因为不管是哪一种平台的emqx可执行程序,他的程序目录是基本不变的,可执行程序的入口都是bin/emqx,因此程序入口配置文件可以复用同一个emqx-program-yml-1.zip。但是不同平台的变量名需要单独定义。包含2种架构的程序包如下图所示:

image.png

4、创建进程应用

4.1 创建流程

  1. 创建进程应用

    • 名称:emqx-5-0-8-ubuntu20-04
  2. 添加服务(程序包)

    • 名称:emqx-5-0-8-ubuntu20-04
    • 程序包:关联emqx-5.0.8-ubuntu20.04
    • 启动参数:foreground
    • 点击确定
    • 点击下一步
  3. 目标节点

    • 单节点匹配
    • 选择一个进程节点
    • 点击下一步
  4. 部署方式:

    • 立即部署
    • 点击创建

4.2 启动参数说明

上述在添加服务的时候,设置了启动参数为foreground。这是因为bin/emqx不可以单独执行,还需要传入参数,可以使用的参数信息如下:

Plain Text
1$ ./bin/emqx
2Usage: emqx COMMAND [help]
3
4Commonly used COMMANDs:
5  start:      Start EMQX in daemon mode
6  console:    Start EMQX in an interactive Erlang or Elixir shell
7  foreground: Start EMQX in foreground mode without an interactive shell
8  stop:       Stop the running EMQX node
9  ctl:        Administration commands, execute 'emqx ctl help' for more details

在本文当中我们传入的参数为foreground,即完整的命令为bin/emqx foreground。

5、验证

  1. 云端查看边缘应用状态

image.png

  1. 边缘查看systemctl服务状态
Bash
1systemctl | grep baetyl
2baetyl-edge-system.baetyl-broker-77zsf48j5.1663915447jqisxn.baetyl-broker.1.service   loaded active running   baetyl-edge-system.baetyl-broker-77zsf48j5.1663915447jqisxn.baetyl-broker.1.service
3baetyl-edge-system.baetyl-core-sggwknd8w.1663915447w8dtie.baetyl-core.1.service       loaded active running   baetyl-edge-system.baetyl-core-sggwknd8w.1663915447w8dtie.baetyl-core.1.service
4baetyl-edge-system.baetyl-init-igkjsqy4b.1663915447d2ahdm.baetyl-init.1.service       loaded active running   baetyl-edge-system.baetyl-init-igkjsqy4b.1663915447d2ahdm.baetyl-init.1.service
5baetyl-edge.emqx-5-0-8-ubuntu20-04.16643650656x6gix.emqx-5-0-8-ubuntu20-04.1.service  loaded active running   baetyl-edge.emqx-5-0-8-ubuntu20-04.16643650656x6gix.emqx-5-0-8-ubuntu20-04.1.service
  1. 边缘查看应用日志文件
Bash
1# 执行命令,如果应用名称是emqx-5-0-8-ubuntu20-04,可以直接使用如下命令
2tail -f /var/lib/baetyl/log/baetyl-edge/emqx-5-0-8-ubuntu20-04/1*/*.log
3# 返回日志
4NOTE: Use the same config value for all nodes in the cluster.
5!!!!!!
6log.file_handlers.default.enable = EMQX_LOG__FILE_HANDLERS__DEFAULT__ENABLE = false
7log.console_handler.enable = EMQX_LOG__CONSOLE_HANDLER__ENABLE = true
8Listener ssl:default on :8883 started.
9Listener tcp:default on :1883 started.
10Listener ws:default on :8083 started.
11Listener wss:default on :8084 started.
12Listener http:dashboard on :18083 started.
13EMQX 5.0.8 is running now!

上一篇
进程应用概述
下一篇
可执行脚本类型进程应用