mcpField
E
edge-computing

edge-computing

github.com/alphaonedev云与 DevOps44 次安装
代码仓库

关于 edge-computing

edge-computing 是一项在 IoT 数据源附近运行计算的技能,适用于低延迟或数据传输量大的应用,涵盖边缘部署、数据处理、监控和离线运行。

主要功能

  1. 01向边缘设备部署函数
  2. 02支持 ARM 和 x86 轻量容器
  3. 03实时聚合与筛选数据
  4. 04管理设备 CPU 和 GPU 资源
  5. 05监控进程并导出指标
  6. 06网络中断时缓存数据

适用场景

  1. 01低延迟分析传感器数据
  2. 02不上传云端处理摄像头视频
  3. 03在远程工业 IoT 环境运行计算
  4. 04监控智慧城市基础设施

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill edge-computing

安装后在 Claude Code 中输入/edge-computing确认已加载。

详细介绍

edge-computing

用途

此技能可在靠近 IoT 设备的网络边缘处理数据,通过在更接近数据源的位置运行计算,降低延迟和带宽使用量。它与 IoT 框架集成,可高效处理实时数据流。

使用时机

当应用需要低延迟响应时,请使用此技能,例如对传感器数据进行实时分析、自动驾驶车辆的边缘处理,或监控智慧城市基础设施。当数据量较大,传输到中央服务器效率低下时,也适合使用此技能,例如远程工业 IoT 部署或移动边缘网络。对于非实时任务,或因简单性而采用集中式处理已足够的情况,请勿使用。

核心功能
  • 通过 CLI 或 API 部署边缘函数,在设备上运行;例如,处理摄像头视频流,而无需将原始数据发送到云端。
  • 支持在边缘设备上运行轻量级容器或虚拟环境,并兼容 ARM 或 x86 架构。
  • 使用 MQTT 或 CoAP 等协议进行 IoT 通信,实现实时数据聚合和筛选。
  • 支持可扩展的资源管理,可根据设备能力动态分配 CPU/GPU。
  • 监控边缘进程并记录日志,还可通过 HTTP 端点将指标导出到 Prometheus 等工具。
  • 提供安全功能,包括传输中数据的 TLS 加密,以及用于函数部署的基于角色的访问控制。
  • 与 AWS IoT Core 或 Azure IoT Edge 等 IoT 平台集成,实现无缝设备管理。
  • 采用可应对错误的设计,例如为失败的边缘任务自动重试,并支持配置退避策略。
  • 支持自定义数据管道,可在 JSON 配置文件中定义处理步骤,例如 {"steps": [{"type": "filter", "condition": "value > 10"}]}。
  • 支持离线运行;在设备上本地缓存数据,直到恢复连接。
使用模式

使用此技能时,请先通过 $EDGE_API_KEY 等环境变量设置身份验证。将函数部署到特定设备以启动边缘处理,然后通过 IoT 事件触发函数。例如,在 Node.js 应用中导入 OpenClaw SDK 并调用部署方法。请务必指定设备 ID 和函数参数,以便定向执行。通过轮询状态端点处理异步响应。常见模式包括事件驱动触发(例如通过 Webhook)或计划任务。在部署到生产设备之前,请先使用模拟模式在本地进行测试。

常用命令/API

使用 OpenClaw CLI 执行边缘操作;经过身份验证的请求需要 $EDGE_API_KEY。部署函数的 CLI 命令示例:

edge-compute deploy --function processSensorData.js --device-id dev123 --region us-west-2

手动运行函数:

edge-compute run --function-id func456 --input '{"data": [1,2,3]}' --env VAR=value

API 端点包括用于部署函数的 POST /api/edge/deploy,请求体为 JSON,示例如 {"function": "code.js", "device": "dev123"}。检查状态时,使用 GET /api/edge/status/{function-id},其返回包含 {"status": "running", "errors": []} 等字段的 JSON。通过 YAML 文件配置函数,例如:

function:
  name: sensorProcessor
  language: javascript
  resources:
    cpu: 0.5

在 Python 中通过 SDK 调用:

import openclaw
client = openclaw.EdgeClient(api_key=os.environ['EDGE_API_KEY'])
response = client.deploy_function(device='dev123', function_code='def process(data): return data * 2')

查询指标时,使用 GET /api/edge/metrics,并传入类似 ?device=dev123 的查询参数。

集成说明

通过映射设备 ID 并使用 Webhook 触发事件,将此技能与 IoT 平台集成。对于 AWS IoT,请设置规则,将消息转发到 OpenClaw 端点;例如,配置一条目标 URL 为 https://api.openclaw.com/edge/invoke 的 AWS 规则。使用环境变量存储密钥,例如同时设置 $AWS_IOT_ENDPOINT 和 $EDGE_API_KEY。在代码中,使用配置对象初始化 SDK,例如在 Go 中:

cfg := openclaw.Config{APIKey: os.Getenv("EDGE_API_KEY"), Region: "us-west-2"}
client, err := openclaw.NewEdgeClient(cfg)

请确保协议版本匹配(例如 MQTT 3.1.1),并处理数据序列化(JSON 或 Protocol Buffers)。对于微服务,可将其作为库嵌入,并开放 gRPC 端点用于服务间通信。

错误处理

始终先检查身份验证错误,例如在 API 调用外使用 try-catch 块。JavaScript 示例:

try {
  await client.deployFunction({device: 'dev123'});
} catch (error) {
  if (error.code === 'AUTH_FAILED') console.error('Invalid $EDGE_API_KEY');
}

通过实现带指数退避的重试机制来处理设备特定错误,例如超时或连接问题;例如,使用延迟逐渐增加的循环。解析 API 响应以获取错误代码(例如,404 表示未知设备),并记录详细信息。对于 CLI 命令,使用 --verbose 标志捕获输出并诊断问题。在应用中配置全局错误处理程序,以便在边缘处理失败时回退到云端处理。使用模拟错误进行测试,例如强制网络故障,并使用 /api/edge/logs 端点获取函数日志。

图关系
  • 所属集群:iot
  • 标签:iot、edge
  • 相关技能:根据嵌入提示,链接到其他与 iot 相关的技能,例如 device-management 或 data-streaming

评论

支持 Markdown