设计理念
WeXCube 的设计灵感源自串口屏。串口屏提供基本的 GUI 控件,用户可自定义布局,并通过串口控制这些控件,实现快速交互界面搭建。
在日常生活和工作中,我经常需要用手机控制外部设备或查看设备状态。以往每遇到新需求,我都会开发一个 APP 或小程序,但本质上这些应用只是不同的功能模块和 GUI 组件的重新排列。受串口屏设计思路的启发,我决定封装这些组件,使用户可以像使用串口屏一样,拖拽组件、自定义布局,并保存界面配置,从而快速生成控制界面。
相比于 APP,我选择微信小程序作为 WeXCube 的载体,因为它无需安装、开发简单,还能方便地分享。例如,我设计了一个家庭灯光控制界面,可以直接转发给家人使用,而无需额外安装应用。
WeXCube 介绍
WeXCube 由三部分组成:
-
微信小程序:用于创建和管理蓝牙设备控制界面。
-
电脑调试助手:辅助设备调试,加快开发流程。
-
单片机 SDK:负责小程序与设备之间的蓝牙通信。
控制原理
WeXCube 采用 BLE 透传通信,小程序与单片机的通信数据由 SDK 处理,用户只需调用 SDK 提供的 API,即可完成交互。
-
小程序向单片机发送指令:
-
当用户操作控件(如点击按钮、调整滑动条等),小程序通过蓝牙发送指令。
-
蓝牙模块透传数据至单片机,SDK 解析指令并执行相应操作。
-
-
单片机向小程序发送指令:
-
单片机调用 SDK,向小程序发送指令以修改控件状态(如文本、颜色等)。
-
小程序接收到指令后,实时更新界面。
-
-
每个控件都有唯一的控件 ID(1~255),用于数据通信。
WeXCube 功能
✅ 支持 BLE 蓝牙连接,包括透传模块及单片机内部蓝牙。
✅ 可自定义设备控制页面,数据存储于云端,避免缓存丢失。
✅ 控制页面可转发分享,支持多人使用。
✅ 电脑端支持页面编辑,优化用户体验。