关于 edge-computing
edge-computing 是一项在 IoT 数据源附近运行计算的技能,适用于低延迟或数据传输量大的应用,涵盖边缘部署、数据处理、监控和离线运行。
主要功能
- 01向边缘设备部署函数
- 02支持 ARM 和 x86 轻量容器
- 03实时聚合与筛选数据
- 04管理设备 CPU 和 GPU 资源
- 05监控进程并导出指标
- 06网络中断时缓存数据
适用场景
- 01低延迟分析传感器数据
- 02不上传云端处理摄像头视频
- 03在远程工业 IoT 环境运行计算
- 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