~/Jaycee
← 返回作品列表

ebelong配网工具

基于 Flutter + BLE 的智能家居设备配网与管理工具:扫码配网、多类型设备控制、自定义二进制协议,支持中英意三语。

ebelong配网工具 的封面图

项目背景

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 工具对接协议、网关接入协议、设备类型表等对接资料);如对技术实现感兴趣,欢迎交流。