ebelong配网工具
基于 Flutter + BLE 的智能家居设备配网与管理工具:扫码配网、多类型设备控制、自定义二进制协议,支持中英意三语。
项目背景
EBL 智能家居生态的产品线覆盖开关、调光、窗帘电机、插座、传感器等多类设备,设备的入网配置传统上依赖主机加串口工具,现场安装与售后调试效率很低。这个 App 把配网与管理装进口袋:安装人员用手机通过 BLE 直连设备完成入网配对、参数配置、分组与信号测试,是面向安装与售后环节的效率工具,随产品线一起迭代了多个版本。
核心功能
- 设备发现与配网:BLE 按设备广播名自动扫描过滤、自动连接;支持二维码配网——相机实时扫描、相册图片识别、手电筒补光,扫码即进入设备绑定流程
- 多类型设备管理:内置设备类型字典(十几类设备:单/双/三/六路开关、无零火开关、调光器、调光调色 LED、窗帘电机、遥控插座、传感器、风扇等),按设备类型码与回路数动态生成对应的控制界面
- 设备控制:开关通断、调光亮度、色温调节、风扇档位(自绘弧形滑杆)、传感器光照阈值与关闭延时设置、窗帘行程控制;通用设置与自定义设置分层
- 配对管理:设备各回路与中继的配对/解绑,窗帘电机等特殊类型有专门的配对流程
- 分组与信号测试:设备分组管理;信号测试页读取各设备信号值并排序,辅助定位通信质量
- 体验细节:新手功能引导(ShowcaseView)、全局 Loading 与 Toast、关键操作震动反馈、原生启动屏、375×812 设计稿等比适配
BLE 协议与通信
- 自定义二进制帧协议:
7E帧头 + 数据长度 + 设备 ID + 命令字(控制 / 回复 / 配对等)+ 键值 + 校验 +0D帧尾,读写特征分离(write 下发 / notify 上报),按帧切包解析 - 命令抽象:
sendCMD(device, cmdX, cmdY, cmdZ)把「设备 × 命令类别 × 回路 × 键值」收敛为统一入口,配对、控制、查询共用一套编解码 - 连接管理:扫描 → 连接 → MTU 协商 → 服务发现 → 断连监听与状态回滚(自动清空连接标识并提示),每次重连重新发现服务
- 双通信通道:本地设备走 BLE,云端侧通过 dio 对接后端接口(登录鉴权、设备档案、分组数据同步),两端数据在设备模型层归一
技术实现
- GetX 全家桶:路由表集中管理、响应式状态绑定 UI、依赖注入服务定位;页面按业务域模块化(Main / Find / Device / Group / Signal / Mine),每个模块 controller + view + widgets 分层
- 数据驱动 UI:设备类型字典同时承载「名称(中/英)+ 回路数 + 路由行为」,控制界面的按键数量、调光/档位形态全部由字典生成,新设备类型接入只需加一条字典
- 自绘组件:风扇档位弧形滑杆(CustomPainter 绘制弧形轨道与指示)、RGB 进度环、分段控制器、步进输入器等定制控件
- 三语国际化:中文 / 英文 / 意大利语,覆盖欧洲市场;语言键值集中管理
- 本地持久化:get_storage 保存登录态、蓝牙 ID 与用户偏好
本项目为商业项目,仓库与协议文档不公开(配套有 ETS 工具对接协议、网关接入协议、设备类型表等对接资料);如对技术实现感兴趣,欢迎交流。