智能硬件 App 怎么开发?
智能硬件 App 应先打通“发现设备—安全绑定—可靠控制—异常恢复—升级与解绑”的设备生命周期,再决定用原生、跨端还是小程序;页面数量不是首要问题。
一款 App 能否稳定控制硬件,首先取决于硬件是否提供版本明确的通信协议、唯一设备身份、可判断成功或失败的回执以及可恢复的升级机制。只有 UI 原型、没有量产固件和真实样机时,最多能估页面开发量,不能承诺配网成功率、后台蓝牙能力或 OTA 成功率。滚水科技会把样机、固件、协议负责人和测试网络列为排期依赖,避免软件做完后才发现设备端无法配合。
先按连接方式选择客户端
| 路径 | 适合的设备 | 主要优点 | 必须接受的限制 | 建议 |
|---|---|---|---|---|
| BLE 近场直连 | 无 Wi-Fi、低功耗、现场操作 | 不依赖云端,首次连接直接 | 手机兼容、权限和后台扫描受系统约束 | 先用目标手机矩阵验证发现、重连和传输 |
| 设备直连云端 | 家电、充换电柜、持续在线设备 | 可远程控制、告警和集中运维 | 要建设设备身份、消息链路和云端状态模型 | 正式运营的联网设备优先考虑 |
| 手机作为临时网关 | 穿戴、采集器、移动巡检 | 设备更省电,可借手机上传 | App 被杀、离开现场或权限关闭会断链 | 业务必须允许延迟同步 |
| 边缘网关加云端 | 工业现场、多协议子设备 | 弱网仍可运行,可做现场自治 | 多一层硬件、版本与远程运维成本 | 断网不能停产时采用 |
原生开发适合重度蓝牙、音视频、后台任务和平台专属能力;Flutter、React Native 等跨端方案适合业务页面多、原生能力边界已验证的项目;小程序更适合扫码、查询、轻控制,不能默认替代需要长期后台连接的 App。Apple 的 Core Bluetooth 文档明确要求声明蓝牙用途,后台能力也有系统条件;因此“跨端能省一半成本”不能当作通用结论,必须以目标功能实测。
一条控制指令要有完整闭环
“用户点了开门”不等于门已打开。客户端应生成操作编号,服务端校验用户与设备权限,设备再依据本地安全条件执行并返回结果;界面区分“已发送、设备已接收、执行成功、执行失败、结果未知”。超时后不能无脑重发开锁、充电等非幂等命令,否则可能重复执行。离线状态也不能只靠长连接断开判断,应定义心跳周期、最后上报时间、网络类型和时钟偏差。
BLE 绑定至少要区分“发现设备”和“证明有权绑定设备”。二维码中的序列号不是秘密;涉及门锁、支付或生产控制时,需要一次性凭据、已绑定关系校验、密钥更新及设备侧最终授权。Bluetooth SIG 的 Security Manager 规范定义了配对、认证、加密和密钥分发,但产品仍须根据输入输出能力选择合适的配对方式,不能把“用了蓝牙”当作安全证明。
首版只验最小设备生命周期
首版建议覆盖注册登录、首次配网、绑定与分享、一个核心控制、状态与告警、断线恢复、解绑/转移以及售后诊断信息。验收用量产候选样机和计划支持的手机系统版本,至少记录首次配网成功率、每一步失败原因、指令端到端 P95 时延、指令成功与结果未知占比、24 小时重连次数、推送到达率、OTA 成功/回滚率和解绑后旧用户越权次数。指标必须注明网络、固件、App 版本、样本量和观察窗口,不凭一台工程机下结论。
若设备使用 MQTT,可依据 OASIS MQTT 5.0确定 QoS、会话和消息过期等语义,但 MQTT 不负责业务幂等、设备授权或安全回滚。滚水科技公开的 BMS 电池智能管家与新能源智能充换电可证明团队有设备接入类项目展示;它们不能替代新硬件的协议尽调和真机长稳测试。