乐橙标准化Demo部署跑通全过程记录:从环境搭建到功能验证
乐橙标准化Demo部署跑通全过程记录从环境搭建到功能验证摘要接入乐橙设备时sign 算不对、列表为空、Demo 编译失败往往发生在同一周。本文基于乐橙开放平台官方资源给出HTTP 脚本轨 Android 标准化 Demo 轨双轨部署 SOP从注册应用、签名自测、绑定验收到预览出画附可运行 Node 命令与踩坑清单。适合后端/集成商/Android 开发者首次 PoC。关键词乐橙开放平台、OpenAPI、标准化Demo、accessToken、listDeviceDetailsByPage、Android OpenSDK系列乐橙接入实战 00 ·本地 Demodemos/lechange-onboarding-full/入职第三周我接到一个「下周给客户演示乐橙监控接入」的任务。上午改 sign下午查设备列表傍晚 Android Studio 报 SDK 路径错——一天过去连 accessToken 都没稳定跑通。mentor 只说了四句去 open.imou.com 下官方 Demo先跑 sign 标准案例列表用分页详情接口别在业务项目里盲试。按这个顺序两个半小时后我在会议室投出了第一帧实时预览。问题不在能力在验收链路顺序。为什么 Demo 部署值得单独成文乐橙开放平台 以视频技术与安全为核心向开发者开放OpenAPI、OpenSDK、轻应用组件等能力。官方在 资源下载 提供资源说明Android / iOS / PC 标准化 Demo配网、预览、对讲、回放、告警一体化 PoCHTTP 接口调用 DemoJava / C# / PHP 示例轻应用直播套件VueWeb 低代码预览OpenSDK 独立包嵌入自有 App多数团队跳过 Demo直接在业务仓库里写 OpenAPI——结果90% 时间耗在 sign 与「设备为何不在资产池」而非业务功能。最小验收链全文主线open.imou.com 注册 → 创建应用appId / appSecret → npm run sign-test与官方案例 MD5 一致 → accessToken → bindDevice 或控制台/App 绑定 → listDeviceDetailsByPage → deviceStatus online → bindDeviceLive 或 Android Demo 预览出画注册 open.imou.comsign-testaccessTokenbindDevicelistDeviceDetailsByPage出画验证bindDeviceLive / HLSAndroid 标准化 Demo角色选型角色优先路径后端 / SaaSNode 脚本轨本文lechange-onboarding-fullAndroidAndroid 标准化 Demo 说明Web 产品演示轻应用组件 或 Vue 套件仅验证账号sign-testaccessToken即可务必使用现行接口设备列表用listDeviceDetailsByPage文档勿照搬旧版deviceList或文档「旧版本协议」栏目——该栏目已停维护。Step 0环境与应用准备环境要求项要求Node 轨Node.js18原生 fetchAndroid 轨Android Studio、真机预览/配网/对讲账号乐橙开放平台 开发者账号设备已配网 IPC或按接入指南添加控制台操作登录 https://open.imou.com →开发中心 → 我的应用 → 创建应用复制appId、appSecret仅服务端 / 本地.env勿提交 Git新用户通常享免费设备接入额度 媒体带宽够 PoC 使用Step 1签名单测必须先绿克隆或进入本地 Demo 目录cddemos/lechange-onboarding-fullcp.env.example .env.env最少填写LECHANGE_APP_IDlcdxxxxxxxxxxLECHANGE_APP_SECRETyour_app_secret_herenpmrun sign-test期望输出与开发规范标准案例一致sign: fd37b62889e4757c58b8f3bf05fb9976 ✓ 签名算法与官方案例一致// src/client.js — 签名核心exportfunctioncalcSign(time,nonce,appSecret){constrawtime:${time},nonce:${nonce},appSecret:${appSecret};returncrypto.createHash(md5).update(raw,utf8).digest(hex);}踩坑 ①原始串顺序time → nonce → appSecretMD532 位小写。全项目接口共用一个 sign 封装避免复制粘贴多版本。Step 2绑定 分页列表验收.env补充LECHANGE_DEVICE_ID机身序列号LECHANGE_DEVICE_CODE8位安全码或设备密码LECHANGE_LIST_SOURCEbindAndSharenpmrun onboard# 首次token → bindDevice → 列表验证npmrun verify# 已绑定仅 listDeviceDetailsByPage成功终端示例① accessToken token: At_xxxxxxxx... expireTime(秒): 259176 ② bindDevice TESTQWERXXXX ✓ 绑定请求成功code0 ③ listDeviceDetailsByPage 验证 ✓ 已找到设备 客厅摄像机在线onboard.js验收逻辑consthit(data.deviceList??[]).find((d)d.deviceIddeviceId);if(hit?.deviceStatusonline){console.log(✓ 接入验收通过);}接口文档accessTokenfef620bindDevicea43daalistDeviceDetailsByPage683248踩坑 ②列表为空——设备绑在私人乐橙 App 号下开发者主账号查不到。用开发者账号在 App/控制台/bindDevice重新绑定。踩坑 ③bindDevice失败——code是8 位安全码或设备密码不是 Wi-Fi 密码。Step 3HTTP 轨出画 — bindDeviceLive列表online后验证直播签发npmrun smoke-live// src/client.js 已封装 bindDeviceLiveexportconstbindDeviceLive(appId,appSecret,token,deviceId,channelId,streamId1)callOpenApi(bindDeviceLive,appId,appSecret,{token,deviceId,channelId:String(channelId),streamId,liveMode:proxy,});期望HLS: http://cmgw-vpc.lechange.com:8888/.../dev_xxx.m3u8 liveStatus: 1文档bindDeviceLive · 辅码流streamId: 1适合 PoC 省带宽。Step 4Android 标准化 Demo 部署4.1 下载资源下载页 →Android DemoAndroid SDK同版本核对 hash阅读压缩包内使用说明体验 Demo4.2 模块结构移植参考Android 标准化 Demo 说明 解压后DeviceAddModule/ # 配网绑定可独立集成 MediaModule/ # 预览、对讲、抓图 PlayBackModule/ # 云录像/设备录像 MessageModule/ # 告警消息 app/ # Demo 入口4.3 运行步骤步操作1AS 打开工程Gradle Sync2确认LCOpenSDK.aar路径OpenSDK 文档3真机安装运行4启动页输入App ID / App Secret→体验管理员模式5设备添加 → 列表 →实时预览体验 Demo 功能表 涵盖accessToken、绑定、列表、预览、回放、告警、对讲、动检计划等10 项适合给客户做全功能演示。// OpenSDK 初始化需先有 accessTokenInitParamsinitParamsnewInitParams(this,openapi.lechange.cn:443,token);LCOpenSDK_Api.initOpenApi(initParams);踩坑 ④Demo 内填 appSecret 能跑 ≠ 生产可照搬——密钥必须只在服务端移动端由 BFF 下发 token。踩坑 ⑤预览黑屏——检查INTERNET / 定位 / 录音等权限对讲缺RECORD_AUDIO会无声。踩坑 ⑥Gradle / aar 版本不匹配——Demo 与 SDK同批下载。Step 5其他 Demo 资源按需资源场景入口iOS 标准化 DemoiPhone PoC558d53PC Demo桌面客户端资源下载页轻应用 Vue 套件Web 嵌入资源下载页小程序 Demo微信生态资源下载页功能验证 Checklist□ open.imou.com 应用已创建 □ npm run sign-test 通过 □ npm run onboard 或 verifylistDeviceDetailsByPage 目标设备 online □ npm run smoke-livehls 非空 □ Android Demo 管理员登录 预览出画 □ appSecret 未进公开仓库Demo 与生产边界Demo 常见做法生产应改为客户端写 appSecret服务端 KMS / 环境变量每次现拉 token缓存 accessTokenTK1002 再刷约 3 天有效HLS 长链下发前端短 ticket 权限网关复制旧 HTTP 示例 deviceListlistDeviceDetailsByPage整包 fork 标准化 Demo模块化移植 DeviceAdd Media团队协作建议CI 冒烟流水线跑sign-testverify防 sign 回归。工单附件报障附 sign-test 结果 列表接口单页 JSON。版本锁定OpenSDK 与 Demo 同版本发版说明。子账号PoC 用管理员 tokenToB 再拆权限。排错速查现象优先查全接口失败sign-testTK1002刷新 accessToken列表 count0绑定账号、sourceDemo 编译红aar 路径、Gradle有 HLS 无画面设备 offline、HTTPS 混用总结乐橙接入的「第一次成功」建议定义为可演示、可脚本复现sign 单测 → token → listDeviceDetailsByPage online → Demo 或 HLS 出画HTTP 轨给后端/integration 快速证伪Android 标准化 Demo给产品与客户看完整体验。两条轨共用同一 appId不必重复注册应用。那次客户演示前我们把 Checklist 贴进 Wiki——后来评审会先问「sign-test 绿了吗」延伸阅读接入指南设备直播说明快速入门本地 Demodemos/lechange-onboarding-full立即开始如果你刚接触乐橙设备接入建议今天完成三件事在乐橙开放平台 open.imou.com注册并创建应用免费领取10 路设备接入额度 1Mbps 媒体带宽跑通npm run sign-test与npm run verify下载Android 标准化 Demo体验管理员模式出第一帧预览平台以视频技术和安全为核心开放低代码组件与 OpenAPI帮助第三方厂商和个人开发者快速、低成本落地监控、零售、社区、养老等视频场景——先把官方 Demo 部署跑通再写你的业务是最省时间的上手路径。参考文档https://open.imou.com/document/introduction/b6d8c1/https://open.imou.com/document/pages/55de3b/https://open.imou.com/document/pages/575ace/https://open.imou.com/document/pages/c20750/https://open.imou.com/document/pages/683248/https://open.imou.com/document/pages/1bc396/