# macro_keyboard_可编程键盘_宏键盘 **Repository Path**: water_source/macro_keyboard ## Basic Information - **Project Name**: macro_keyboard_可编程键盘_宏键盘 - **Description**: 本设计分为三部分的开发实现: 1. 电路设计实现;主控芯片使用的是我们国产的BLE蓝牙SOC,AC6321A。 2.蓝牙SOC的软件开发 3.PC端软件开发使用elctron软件框架开发 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2024-01-02 - **Last Updated**: 2024-01-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # macro_keyboard_可编程键盘_宏键盘 #### 介绍 由于最近深圳的断崖式降温,让这个开源项目得以展示给大家(周末实在是太冷了,哪儿也不想去,只能在家摸鱼;于是呼,就开始思考人生;时间一晃,已经是2023年的12月24日了,这一年马上就要过去了!咱们不能啥也不做吧, 想想这也太浪费生命了,是不是可以做一些有意义的事呢?于是就想起了之前做的一个项目,想把她整理出来,分享给大家一起交流交流学习,助力国产,让国产越来越好,越来越开放,只要我们不认输,谁也别想打倒我们,芯片也是如此,哈哈,有点喝高了的感觉,好爽!!)。 - 本设计分为三部分的开发实现: 1. 电路设计实现;主控芯片使用的是我们国产的BLE蓝牙SOC,AC6321A。 2. 蓝牙SOC的软件开发,包括BLE服务/特性的创建,数据交互实现; USB HID用户自定义协议的实现与PC端的数据交互等。 3. PC端软件开发,PC端的软件使用ELCTRON软件框架进行PC端配置工具的开发;使用elctron软件框架主要是考虑跨平台。 #### 软件架构 - mcu_sdk: 低功耗蓝牙源码代码 - PCB_LCEDA_prj:嘉立创eda专业版工程 - pc_cfg_tool_sdk:PC端配置工具源码,使用elctron软件框架 - pc-control-win64-32-exe:在windows端编译好的电脑端配置工具可执行文件。 - 本设计由6个机械按键,一个带按下功能的编码器旋钮,一块3.7V锂电池,蓝牙SOC芯片等组成。如下是硬件实现框图 ![输入图片说明](Res/%E7%A1%AC%E4%BB%B6%E5%AE%9E%E7%8E%B0%E6%A1%86%E5%9B%BE.png) - 本设计主控部分的原理图 ![输入图片说明](Res/sch.png) - 配置工具使用框图如下,目前仅支持通过USB hid进行宏按键的配置,有兴趣的小伙伴可以考虑通过是否可以开发移动端的应用,进行配置;如微信小程序等。 ![输入图片说明](Res/cfg_use_img.png) #### 本设计可以通过有线的USB连接电脑使用,也可以通过无线的BLE连接电脑使用 - 连接USB线使用 ![输入图片说明](Res/link_by_usb.png) - 连接BLE使用 ![输入图片说明](Res/link_by_ble.png) #### 安装教程 - 演示视频:根目录下的这个文件是录制的演示视频 “宏按键展示.mp4” - 配置工具界面展示: ![输入图片说明](Res/%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%E7%95%8C%E9%9D%A2.png) #### 蓝牙迅速配对(bluetooth-swift-pair) 另外本设计还实现了微软的swift-pair功能,在windows设备上可实现蓝牙快速配对,可作为类似需要与电脑端交互的蓝牙设备设计开发的一个参考。 至于swift-pair具体是个啥,请看下图;如果还是不太清楚或者想进一步了解swift-pair的,可以拽这里:[蓝牙迅速配对 | Microsoft Learn](http://learn.microsoft.com/zh-cn/windows-hardware/design/device-experiences/bluetooth-swift-pair) ![输入图片说明](Res/swift-pair.gif) #### 硬件展示 - 1. PCB板 ![输入图片说明](Res/pcb_board.png) - 2. 3D打印的外壳 ![输入图片说明](Res/3d_print_shell.png) - 3. 机械按键和旋钮外壳 ![输入图片说明](Res/keys.png) - 4. 焊接好的PCBA, 全部手搓的啊,就是有点费鼻子,哈哈 :mask: ![输入图片说明](Res/PCBA.png) - 5. 源自贵州大山里的原始3D外壳,略带有一点少数民族的简单和粗犷;开始组装: ![输入图片说明](Res/assembly.png) - 6. 当当当当。。。组装完成,上成品 ![输入图片说明](Res/product.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request