有线键盘改蓝牙键盘转换器 制作记录(下)
追加修改(2019-08-21 15:57:45):
追加AT-09模块蓝牙HID固件的下载地址,已经完全设置好参数,使用CCLoader直接刷入固件即可。
前言
上次说到HC-06或HC-05使用的都是蓝牙2.0协议,实际体验不佳。现在基本是蓝牙3.0和4.0的天下,2.0配置相对落后,与现有的设备兼容性不佳。后面我选了几款支持蓝牙4.0协议的蓝牙模块,按价格排列分别是ESP32、NRF51822、BT05、HM-10、AT-09。
ESP32较贵不划算首先排除,余下ARM的NRF51822、CC2541的BT05、HM-10和AT-09。性能上,NRF51822是ARM-M0(32位), TX 10.5mA,RX 13mA;CC2541是8051(8位),TX 18.2mA,RX 17.9mA。考虑成本,最终选AT-09模块。某宝上10元不到就能包邮买到,比油管UP主DastardlyLabs所使用的HC-05或HC-06模块价钱更低。
改造
网络上关于AT-09模块的资料不多。AT-09模块和BT05-A模块所使用的MCU芯片都是CC2541。很多某宝卖家都将其当作BT05-A模块识别,附送的都是BT05-A模块的资料。
AT-09模块默认波特率是9600,支持蓝牙4.0 BLE协议栈。
原版固件不支持蓝牙HID,需要刷cc254x-hidKbdM固件。这个固件由Geekhack的网友pseudolobster制作,他测试所使用的是HM-10模块。注意到有教程使用AT-09模块刷HM-10模块的固件,AT-09模块和HM-10模块所使用的MCU芯片都是CC2541,固件可以通用。
HM-10模块的原理图如图所示。
AT-09模块的原理图如图所示,两者的引脚定义是接近的。
拆掉AT-09模块的包装,接线。
Arduino Pro mini不带usb接口,需要FT232RL编程器进行通讯刷固件。
AT-09模块刷HM-10模块是有差别的,需要使用BLE-stack与IAR Embedded Workbench调试模块。
安装完成后,从gayhub下载固件,复制cc254x-hidKbdM文件到程序的Texas Instruments | BLE-CC254x-1.4.0 | | Projects | ble文件夹下。
将HAL_UART_ISR的参数设置为2。
刷固件使用的软件叫CCLoader。
蓝牙模块的通讯需要经过Arduino Pro mini,需刷入CCLoader.ino。
使用CCLoader.exe刷入cc254x-hidKbdM固件。
刷固件完成后,测试笔记本电脑能不能搜索到模块。
尝试连接模块,默认配对码是6个000000。
配对成功,Arduino IDE的测试正常。
去掉编程器,将AT-09模块的RX与TX接到Arduino Pro mini的TX与RX上。Arduino Pro mini刷回USBHIDBootKbd固件,有线键盘改蓝牙键盘转换器的蓝牙模块的添加就完成了。供电方面测试时使用的是面包板供电,实际使用会由3.7v聚合物锂电池供电,接Arduino Pro mini的GND和VCC接口。
后记
成本上(价格仅供参考):Arduino Pro mini 9.8元;USB Host Shield 22.6元;FT232RL编程器 10.6元;面包板 5元,面包板电源 3.5元;杜邦线3.2元;仔线 1.7元;AT-09蓝牙模块 8元,3000mAh 3.7v聚合物锂电池15元,锂电池充电板2元。总成本是80元左右。
相对某宝上蓝牙3.0成品(不带电池)的价格要100元,自己制作的支持蓝牙4.0性能更佳,蓝牙3.0。缺点是集成度不高,占用空间。手头上有一把樱桃g80-3000机械键盘,内部空间比较大,安装这个模块是挺合适的,下次会写原创说明如何将这个模块塞进去,喜欢的可以关注一下。


















校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案