Rzyq-git / SmartKnob_Plus

基于原始SmartKnob固件开发的增强版固件,采用LVGL显示框架、启用蓝牙HID支持、兼容Surface Dial模式

Home Page:https://www.bilibili.com/video/BV1wg411n7Bm/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SmartKnob_Plus

一种开源输入设备

基于原始SmartKnob固件开发的增强版固件,采用LVGL显示框架、启用蓝牙HID支持、兼容Surface Dial模式。

人机交互课程作业

目录

实现功能如下
  操作说明
   0x00 启动界面
   0x01 音量控制界面
   0x02 功能菜单
   0x03 移动控制
   0x04 媒体控制
   0x05 兼容模式
  参考

1.切换至LVGL显示框架显示UI,并定制UI(src/lvgl_gui.h

2.启用蓝牙HID模式,支持控制音量、方向键滚动、切换歌曲(src/bluetooth.h

3.兼容Surface Dial模式,可以模拟Surface Dial操作电脑(lib/ESP32 BLE Keyboard/BleKeyboard.h

克隆项目文件到本地,采用VsCode + Platform IO插件,在Platform IO后打开项目文件后,编译烧录至SmartKnob即可。如果出现旋钮异常震动现象,可以采用和原版SmartKnob相同的方法校准旋钮并修改代码重新编译。

一个读条启动界面,用于加载系统

音量控制界面用于控制系统音量,左右滚动增加或减小系统音量,短按静音/解除静音。由于蓝牙协议发送限制,代码无法实现在快速旋转时精准控制音量,易导致显示音量和实际音量不符,为解决此问题,请在PC上运行/host/smartknob_host.py并将SmartKnob通过USB连接到电脑,根据串口号修改python脚本中的COM号。

长按即可调取功能菜单,功能菜单用于选取需要的功能,目前有音量控制、移动控制、媒体控制、兼容模式四个可选择的功能。通过左右滚动旋钮即可切换选项,短按旋钮可以确认选项。

移动控制控制方向键上下左右,左右滚动旋钮默认激活上下方向键,短按旋钮切换旋钮控制上下方向键/左右方向键。

控制媒体的暂停/播放、切换上一首/下一首,通过左右滚动旋钮切换上一首/下一首歌曲,短按控制暂停/播放。

兼容模式即进入Surface Dial模拟模式,由于Surface Dial会占用长按功能,因此进入Surface Dial模式后只能通过重启SmartKnob回到常规模式。左右滚动旋钮可以实现确认按钮/取消按钮,在确认模式下短按即可进入兼容模式配置界面。

在进入兼容模式前,允许用户自定义想要使用的阻尼模式,包括无阻尼、弱阻尼、强阻尼三个模式,用户可以在配置界面通过左右滚动选定选项,选定后短按旋钮可以正式启动兼容模式。

进入兼容模式后,控制模式选择操作转换至电脑上显示,具体操作方式与Surface Dial没有区别,旋钮自带的LCD屏幕转换为显示开发团队LOGO

scottbez1 / smartknob

AndreMiras / pycaw

T-vK / ESP32-BLE-Keyboard

lvgl / lvgl

起个名字都要抢占 / ESP32-SurfaceDial

About

基于原始SmartKnob固件开发的增强版固件,采用LVGL显示框架、启用蓝牙HID支持、兼容Surface Dial模式

https://www.bilibili.com/video/BV1wg411n7Bm/

License:Other


Languages

Language:C 98.2%Language:C++ 1.3%Language:Python 0.3%Language:Makefile 0.1%Language:CMake 0.0%Language:Shell 0.0%