Cherry 樱桃 G84-4125 加装蓝牙模块

所属分类: 硬件教程 / 硬件其它 阅读数: 148
收藏 0 赞 0 分享
程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

一、蓝牙模块

淘宝上有很多现成的蓝牙模块卖,但不是所有的蓝牙模块都适用于改装蓝牙键盘。根本的原因是蓝牙协议分成不同的profile,蓝牙协议的Profile定义了设备如何实现一种连接或者应用,有四种是基本的Profile:GAP/SDAP/SPP/GOEP。淘宝上卖的蓝牙模块大多是支持SPP profile。SPP全称是Serial Port Profile,即串口,主要用于交换数据,不适用于键盘设备。从技术角度讲,我们也可以用这种SPP蓝牙模块来改装我们的键盘,这种键盘需要在PC端安装相应的驱动才能实现PC与改装后的键盘的连接。使用SPP蓝牙模块的好处是技术成熟,成本低。缺点是通用性差,需要写PC端驱动,如果蓝牙键盘与新电脑连接需要重新安装驱动。而且使用SPP蓝牙模块的键盘也不能用于连接手机。一般蓝牙键盘使用的是HID profile,全称是Human Interface Device Profile,即人机接口设备Profile,主要用于鼠标,键盘,游戏杆等设备。因为HID profile是蓝牙协议中支持的标准profile,所以只要是支持HID profile的蓝牙设备都可以互联。张大妈常推荐的罗技K480就是使用HID profile的蓝牙键盘,所以罗技的K480可以同时和多款手机配对互联。

淘宝上有卖采用CSR芯片的HID蓝牙模块,价格便宜。原本我也想使用这款,但是联系卖家后,卖家不提供技术支持,文档也没有,更不用说例程。最后在github上找到了一个键盘开源工程tmk_keyboard,里面使用的蓝牙模块是Bluegiga生产的WT12蓝牙模块。这款蓝牙模块使用的也是CSR的芯片,Bluegiga公司在标准的蓝牙profile上封装了自己的协议栈iWrap,用户通过iWrap控制WT12模块。WT12的售价比较高,淘宝上也有卖WT12的,价格大概在300元人民币。我个人建议不要在淘宝购买,如果想购买可以试试Bluegiga官网上推荐的几个网站,一片的价格大概在90元人民币左右。所以如果各位值友有兴趣改装蓝牙键盘,最好是上淘宝买到有技术文档或者技术支持的CSR蓝牙模块。

二、电源总成

这次要改装成无线键盘,整个键盘的电源需要从USB单供电改成电池和USB双供电。手里正好有块多余的索爱手机电池,大概900mA的样子,用来给键盘供电绰绰有余。 锂电池充电电压是4.2V,输出3.7V,需要一个5V输入/4.2V输出的充电模块和一个3.7V升5V的升压模块给主控板供电。WT12蓝牙模块是3.3V的电源,需要一个5V转3.3V的降压模块。 另外,WT12和主控板使用串口通信,但是电压不同,还需要一个电平转换模块。

这么一堆转换模块下来,整个键盘系统就太复杂了,键盘内部的空间不一定够用,而且各种转换模块的额外电源消耗太多,必须优化。

AVR的单片机是可以5V或者3.3V供电的,但是使用3.3V供电的时候需要降级主频。主控板上的AVR型号是Atmega32l,是Atmega32的低电压版本,标称主频最高8MHz。由于AVRUSB协议栈要求主频最低是12MHz,已经超频使用了,如果再用3.3V供电,有可能达不到AVRUSB协议栈要求的12MHz。不过运气不错,3.3V上12MHz晶振跑AVRUSB完全没有问题。 这样整套系统的电源模块就可以精简成:1. 锂电池充电模块。2.3.7V转3.3V电压转换模块。

为了让键盘能够继续使用USB接口,需要AVR能够检测USB线缆是否插入。检测逻辑是:如果有USB线缆插入,则优先使用USB接口,如果没有USB线缆插入,则使用蓝牙连接。所以从USB的+5V引脚引了一根线到AVR的GPIO。USB的+5V不能直接连到3.3v的GPIO上,所以通过一个5V-3.3V的电压转换模块。

画了个草图,大家凑合看一下。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

三、调试

我买回来的WT12的iWrap协议栈是4.0的,现在WT12支持的最新iWrap协议栈是5.0,所以用串口升级了WT12的固件。升级固件及升级方法可以在Bluegiga的官网找到,按照步骤做就可以了。

升级完固件后需要对WT12做初始化设置。其实这部分工作可以通过主控板完成,但是我懒了,直接用串口设置好了。具体的初始化和设置方法可以参考这个网页。

由于加装了蓝牙模块,主控板原有的代码必须改写来支持蓝牙模块。主控板是从淘宝买的,楼主没有源程序只好自己先扒PCB板,然后扒键盘矩阵,还好在github上找到了键盘开源工程tmk_keyboard,省了写键扫代码。楼主在tmk_keyboard基础上替换了串口驱动,改了键映射,加了一丢丢蓝牙搜索功能。完整代码可以在这里找到。

四、组装

G84-4125的内部空间很扁平,只有上半部一小部分稍微厚一些可以放下电池。电池勉强塞进主控板与键盘底板间的缝隙。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

锂电池充电模块。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

键盘底板的横向沟槽里放置蓝牙模块,用热熔胶固定。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

键盘底板的横向沟槽里放置电压转换模块,用热熔胶固定。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

在原有的线缆出口放置电源开关。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

最后一张,总体布局图。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

全部模块放置完后,由于电池有点高,键盘的上半部不能完全闭合,不过不影响使用。

程序猿的自我修养:Cherry 樱桃 G84-4125 加装蓝牙模块

五、使用

键盘会优先搜索原先配对成功的设备,如果配对不成功会等待其他设备的配对请求,直到完成配对。打开键盘开关,我的Q10,同事的三星note2和笔记本电脑都均可将键盘识别成蓝牙HID设备,配对成功后打字输入没有延迟。

电池充满大概需要3个小时,由于没有留电池充电指示灯,所以每次判断是否充电完成只能靠蒙,不过电池续行还是挺给力的,每天工作时间使用,下班关掉电源开关,可以连续使用一个星期。因为没有使能蓝牙和单片机的低功耗功能,所以一个星期的续航还是可以接受的。

不足的是,没有挖掘出蓝牙模块的全部潜力,比如没有动态切换设备功能,就像逻辑K480那样可以在3个设备之间自由切换;比如WT12模块还支持A2DP profile,可以在键盘上扩展出耳麦接口,实现蓝牙键盘耳机 。比如充电指示灯,等等。总之,潜力巨大,可以继续折腾。

完了。

更多精彩内容其他人还在看

可穿戴蓝牙防水音箱 自驾游海滩把妹神器

今天小编要给大家介绍的是一个长相俊俏不凡、可穿戴又防水的蓝牙小音箱UE ROLL,把它别在泳裤上,看海听音乐赏美女,惬意的同时又能增加不少回头率
收藏 0 赞 0 分享

IT男也爱做饭 美的鼎釜电饭煲评测

搞IT的朋友们,也不能整天对着电脑数码吧,咱们也来整整电饭煲,坐累了做饭去啊!
收藏 0 赞 0 分享

华为手环B2已成消费者首选

究竟华为手环B2有什么过人之处让用户们如此着迷,下面就让我们一起来“探秘”。
收藏 0 赞 0 分享

售价19800元 京东方发布首款55寸4K电视

国内显示面板生产厂商京东方12日下午在京发布其首款终端电视产品BOE Alta,采用京东方55英寸4K屏幕,售价19800元,现已在官网开售
收藏 0 赞 0 分享

怎么用天猫魔盒看侏罗纪世界 电视盒点播大片爽歪歪

天猫魔盒魅族专版收录了侏罗纪系列影片,完整剧情一览无遗。另外,魅族专版魔盒独占的 Discovery Channel内容还有《恐龙王朝》纪录片,还可以提前科普一下自己侏罗纪的知识。
收藏 0 赞 0 分享

(图文)华为荣耀盒子标准版全面评测 功能强大支持4K

华为荣耀盒子采用最新一代架构HiVPX4解码芯片,搭载了自家的主控,采用2倍的解码流水线单元,更高复用度的解码模块,下面小编就为大家介绍华为荣耀盒子标准版全面评测,功能强大支持4K。好了,我们一起来看看吧
收藏 0 赞 0 分享

乐视超级电视怎么样看电视直播 乐视电视看电视直播教程

乐视超级电视怎么样看电视直播?下面教大家乐视超级电视怎么样看电视直播
收藏 0 赞 0 分享

未开启硬件加速怎么办 未开启硬件加速的解决方法(最新)

在进入游戏时,是否提醒你未开启硬件加速,这要如何解决呢,下面请跟着小编一起看看
收藏 0 赞 0 分享

360超级充电器免费试用申请方法

6月17日,360发布了“一个就够了”的神秘新品360超级充电器,并开始免费试用,那360超级充电器免费试用怎么申请?跟小编一起来看看。
收藏 0 赞 0 分享

天猫魔盒 M11 青春版首拆评测

做工比较精细,元件更小型化,集成度更高,也意味着ROOT更难了
收藏 0 赞 0 分享
查看更多