接入方式选择¶
最后更新:
先确定代码运行在哪里、是否需要独立 App、是否需要远端通信,再选择接入方式。
快速判断¶
- 正在开发车机上的第三方 Android App:使用 EVCC 开放 API。
- 逻辑直接运行在 EVCC 内,并且需要循环、状态机、HTTP 或存储:使用 Lua。
- 希望在 EVCC 界面中配置触发器、条件和动作:使用自动化。
- 只需要把属性和变量上报到服务器:使用小程序 MQTT。
- 已有客户端依赖米德宝/AIDL v1 或 v2:继续使用兼容接口,新项目不要从它开始。
- 制作规则、模板、脚本、皮肤或 MIBO 资源:进入内容扩展。
方式对比¶
| 项目 | 开放 API | Lua | 自动化/公式 | 小程序 MQTT | 兼容 AIDL |
|---|---|---|---|---|---|
| 主要使用者 | Android 开发者 | 脚本开发者 | 普通用户与低代码开发者 | 服务端开发者 | 旧客户端维护者 |
| 运行位置 | 第三方 App | EVCC 内 | EVCC 内 | EVCC 与 Broker | 第三方 App |
| 属性读取 | 支持 | 支持 | 支持 | 上报已配置属性 | 固定快照 |
| 属性监听 | 支持 | 支持 | 触发器 | 增量上报 | 回调快照 |
| 属性写入 | 按权限 | 支持 | 动作 | 不支持 | v2 受控支持 |
| 变量 | 读、写、监听 | 读写 | 公式与动作 | 只读上报 | 固定快照 |
| 生命周期 | SDK 与 EVCC 管理 | EVCC 管理 | EVCC 管理 | EVCC 管理连接 | 客户端自行重绑 |
| 推荐状态 | 新 App 首选 | 内嵌复杂逻辑首选 | 普通联动首选 | 远端只读上报首选 | 仅兼容维护 |
可以组合使用¶
这些方式不是互斥的。例如第三方 App 可以通过开放 API 写入共享变量,由自动化监听变量并执行本地 动作;Lua 也可以维护状态,再让开放 API 读取结果。组合前应明确数据所有者、写入方和断线后的恢复 策略,避免多个链路同时写同一属性。
具体组合方式见Lua、自动化与开放 API 的协作。