Skip to content

SDK 接入

SDK 接入用于把真实硬件接入设备智能体。设备端连接 MQTT 后,可以按设备规格上报状态和事件、响应命令,并作为真实设备出现在设备列表中。文档和代码包中出现的 namespace 表示当前运行空间,默认值为 default

选择接入方式

在设备智能体工作区中点击 接入设备,控制台会提供三种入口:

方式适合场景
SDK 工程需要一个可运行的设备端工程,再补充硬件逻辑
智能体适配和增强 SDK基于 SDK 工程生成设备端业务逻辑,下载后继续微调或直接运行
已有设备已经有固件、网关或后端服务,只需要按 MQTT 主题和消息体约定适配

前两种入口都会生成设备端代码包;已有设备入口不会生成代码,而是给出接入参数和消息示例。

选择 SDK 接入方式

SDK 工程

SDK 工程是一套可运行的设备端代码。它已经接好 MQTT、设备身份、命令响应、状态上报和事件上报,真实硬件逻辑在设备业务入口中补充。

不同语言的文件名会略有差异,但整体结构相同:

text
SDK 工程
├── .env.example        连接配置:MQTT、namespace、productId、deviceId
├── device-spec.json    当前设备规格:命令、遥测、事件
├── README.md           安装、配置、运行和开发说明
├── src/
│   ├── main.*          启动入口:加载配置并连接 MQTT
│   └── device.*        业务逻辑入口:处理命令、更新状态、上报事件
├── 语音代码             通过 /ws/voice 接入设备端语音对话
├── 视觉代码             上传图像并发起拍照识别
└── SDK 运行层           订阅命令、发送响应、上报在线状态、遥测和事件

device-spec.json 是设备端实现依据。命令名、参数名、遥测字段和事件字段都应与它保持一致。

语音和视觉代码

SDK 工程除了 MQTT 接入,也包含可选的语音和视觉代码。它们用于把真实设备上的麦克风、扬声器、摄像头或图像来源接入设备智能体。

  • 语音:设备端通过 /ws/voice 建立 WebSocket 连接,发送 16 kHz 单声道 Int16LE PCM 音频,并接收识别文本、智能体回复和 TTS 音频。
  • 视觉:用于拍照识别类命令。设备端获取一张图片,上传到 /api/vision/frames,再把返回的 visionRefs 带到 /api/chat 获取识别结果。

.env.example 中的 VOICE_CHAT_HOST 是语音和视觉接口的统一主机入口。语音、视觉不会替代 MQTT 设备控制;MQTT 仍然负责命令、状态、遥测和事件。

语言语音代码视觉代码
Cvoice_client.hvoice_client.cexamples/voice_chat.cvision_client.hvision_client.c
Pythonsrc/voice_client.pysrc/main.py 中的拍照识别命令处理
Node.jsVoiceClientVisionClientcaptureLocalVisionImage()

下载 SDK 工程

创建 SDK 工程时需要确认:

  • 开发语言:当前控制台支持 C、Node.js 和 Python。
  • 设备名称:用于在控制台中识别设备,可以后续调整。
  • 设备 ID:真实设备的唯一标识,同一个设备智能体下不要重复。

下载后先按 README 启动,确认设备能上线;再把默认逻辑替换为真实传感器、执行器或业务服务调用。代码包会保留 device-spec.jsonREADME.md.env.example。Node.js 工程还包含 AGENTS.mdCLAUDE.md 和设备实现说明,可用于 Claude Code、Cursor 或 Codex 继续开发。

常见运行步骤是:

  1. 解压代码包。
  2. 根据 .env.example 配置连接信息。
  3. 安装依赖或编译工程。
  4. 启动设备端程序。

设备启动并完成首次状态上报后,会自动出现在当前设备智能体的设备列表中。

不同语言的 SDK 使用方式见:

使用智能体适配和增强 SDK

智能体适配和增强 SDK 适合设备端业务逻辑还没有写好的场景。它会先生成 SDK 工程,再基于补充描述生成状态上报、命令处理、事件触发和设备端流程。

你可以补充这些信息:

  • 设备端逻辑,例如如何读取温湿度、如何控制继电器、如何触发告警事件。
  • 业务要求,例如上报频率、阈值事件、命令执行后的状态更新方式。
  • 可选的硬件信息,例如芯片、系统、驱动文档链接、接口文档或硬件协议文件。

填写设备端逻辑

提交后,设备智能体会在对话中返回可下载的代码包。生成结果不符合预期时,可以继续要求调整,例如补充驱动调用、修改事件触发条件,或简化状态上报逻辑。

生成增强后的 SDK 代码包

接入已有设备

如果设备固件、网关或后端服务已经存在,可以选择 已有设备。这个入口不会生成 SDK 代码,而是给出 MQTT 服务地址、设备身份、主题和消息体示例,方便已有系统直接适配。

已有设备接入的核心是按 MQTT 约定订阅命令、响应命令、上报状态和事件。完整说明见 MQTT 接入

运行并验证

设备端程序启动后,回到设备智能体工作区确认:

  1. 设备列表中出现新的真实设备。
  2. 设备状态为在线。
  3. 当前数据能看到设备上报的遥测字段。
  4. 通过对话下发控制命令后,设备端能收到命令并返回结果。
  5. 如果设备会上报事件,可以在最近上报事件中看到事件记录。

真实设备接入后的设备状态

如果设备没有出现,先检查设备端是否已连接 MQTT、productIddeviceId 是否正确、是否已经上报状态或遥测。更多配置项见 配置

下一步