升级您的3美元蓝牙模块以具有HID固件

45,738

153.

31.

简介:升级您的3美元蓝牙模块才能拥有HID固件

关于:嘿大家!我的名字是Brian,谢谢你检查我的赋予奖。我是一位通过交易的软件开发人员,但我最近发现了ASP8266芯片后的Arduino开发,一个WiFi启用......

曾经想让你的Arduino项目类似于蓝牙键盘/鼠标或游戏手柄吗?如果是,那么这是你的教程!

在这种指示器中,我将向您展示如何刷新廉价的蓝牙模块,使其更有用更有用!

Evan Kale已经有一个很棒的IBLE,你可以在这里结账。Evan的方法涉及使用并行端口来完成芯片的闪烁。并行端口这些天在计算机中不是一个常见的东西,所以我以为我会分享我用来使用廉价USB设备的Evan的指导来实现同样的过程,所以它应该在几乎任何计算机上工作。

让我们去吧!

第1步:看看视频

我已经做了一个视频,我贯穿了这个过程的所有步骤,所以检查一下!

我将在这种指示中涵盖相同的信息。

第2步:那么,我们在做什么?

HC-05和HC-06是Arduino项目中使用的常见蓝牙模块,它们非常容易连接到,每个都只有3美元。

它们是非常基本的模块,不支持太多功能。然而,它们确实使用完全相同的芯片作为更丰富的模块,因此可以使用这些模块的固件重新闪烁它们以获得相同的功能。一个这样的模块是RN-42

我们最感兴趣的功能是模块可以作为HID设备使用。使用蓝牙HID模块,您可以连接到您的arduino项目到您的手机或计算机,并使其表现得像鼠标/键盘或游戏焊盘设备。

值得指出的是,RN42,虽然它比HC-05贵得多,(距离约为15美元),直接使用一个人涉及的努力显着较低!因此,如果您有兴趣在项目中使用蓝牙HID模块,肯定会认为是一个好选择!就个人而言,我真的很喜欢升级一些事情来做事情并不是真正打算做的事情!

第3步:我们需要什么?

我们需要以下内容来闪存固件:

  • 蓝牙模块(HC-05或HC-06将工作)
  • FTDI突破板(FT232RL) - 确保在图像中显示的侧面上的销钉!
  • 男性倒栽销钉
  • FTDI板的Mini USB电缆(您可能拥有其中一个,PS3用于使用它们的PS3控制器)
  • 电线,4 x 220欧姆电阻器和面包板

你在这里拿起上述所有内容:

aliexpress:

Amazon.com.

amazon.co.uk.

* =联盟链接

步骤4:准备电路

在我们构建我们的电路之前,我们需要做一些准备

首先,我们需要将公头引脚焊接到FTDI板,如第一张图片所示

接下来,我们需要一种连接到第二张图片中突出显示的蓝牙模块上的引脚的方法。

evan用衣服钉有这个很酷的技巧他在这里描述在他的指导中,但我无法让电线留到位,所以我最终焊接了4个不同的颜色线,突出显示别针。

第5步:建立电路

我们现在需要建立闪烁蓝牙模块的电路,其它愉快的直接向前

如图所示,它是如图所示,但这是一些重要的评论

  • 确保FTDI逻辑电平跳线设置为3.3V,因为HC-05是3.3V设备(由图片中的绿色突出显示)
  • 尽管是3.3V设备,但您希望将模块的VCC连接到FTDI板的5V引脚,FTDI板的3.3V引脚无法为模块供电足够的电流,并且该模块在VCC上有一个稳压器别针。
  • 您可以使用任何电阻甚至接近220欧姆值,我在做它时使用180欧姆,完美地工作

第6步:软件下载和安装

接下来我们要下载并安装我们需要闪烁进程的不同类型的软件。

下载


所以首先要下载以下内容:

  • 蓝色套件软件- 这要求您注册,它表示您需要一个商业电子邮件地址,但是一个Gmail为我工作。注册后,他们会通过电子邮件向您发送密码。登录时,再次重新审视此链接将被带到下载页面
  • FTDI模块驱动程序- 这些是允许我们使用FTDI模块闪烁蓝牙模块的自定义驱动程序。转到发行链接顶部并下载最新的ZIP文件。在这个github项目上的自述文件充满了良好的信息,因此如果您遇到任何问题,值得检查它
  • Zadig Driver安装程序- 这是为您的自定义驱动程序为您安装一个通用驱动程序,即自定义驱动程序需要。

安装

  • 蓝色套房
    • 首先安装蓝色套件软件(如果从默认值更改它,请注意您选择安装它的位置)。它是一款直线安装人员。
  • FTDI模块驱动程序
    • 提取下载的zip文件
    • 单击新提取的文件夹
    • 然后点击lib-win32文件夹
    • 右键点击USBSPI.dll.文件并复制它。
    • 导航到安装蓝色套件软件的位置(对我而言C:\ Program Files(x86)\ csr \ bluesuite 2.6.2
    • 在这个文件夹中,有一个名为usbspi.dll的文件,将它重命名为别的东西(我打电话给它USBSPIBACKUP.DLL.
    • 右键单击文件夹并粘贴您之前复制的文件,您现在应该拥有新的USBSPI.dll.旧文件的文件
  • Zadig.
    • 将您的FTDI板插入计算机(注意:使用USB集线器时,我在闪烁时发出问题,因此如果可以,请尝试将其直接插入计算机)
    • 发射Zadig.
    • 从下拉下来选择FTDI模块(应调用FT232R USB UART.
      • 如果你没有看到它,请去选项然后列出所有设备
    • 选择libusbk.司机并点击安装驾驶员

这不是安装,现在是有趣的!

第7步:备份HC-05上的固件

我们要做的第一件事就是备份当前在HC-05模块上的固件,以防您想要将其返回到其原始状态,并且还需要备份模块当前设置。

倾倒固件

  • 转到“开始”菜单打开CSR Bluesuite 2.6.2 - > BlueFlash
  • 从下拉板中选择您的FTDI板(如果它不会自动选择),它是标有“FT232R ...”的
  • 您现在应该看到“处理器运行”的状态,如果您没有看到邮件仔细检查接线并检查电缆之间的短路
  • 点击停止处理器按钮
  • 这将启用其他一些按钮,然后单击倾倒按钮
  • 选择此备份的位置和名称。
  • 备份需要大约2分钟
  • 完成后,单击启动处理器按钮和关闭blueflash

备份设置

  • 再次转到“开始”菜单并打开CSR Bluesuite 2.6.2 - > Pstool
  • 选择SPI BCCMD然后选择您的FTDI板港口落下。
  • 点击文件 - >转储
  • 选择设置文件的位置和名称,我建议将其与固件闪存一起保持。
  • 备份需要大约1分钟

您现在应该用3个文件留下3个文件,如上一张图片所示。(dump.xdv,dump.xpv和dump.psr)

步骤8:创建设置合并文件

当我们在这些芯片上闪光新固件时,它们的设置也将被覆盖,但我们希望保留一些设置。因此,要执行此操作,我们只需要保留并将其合并到模块当前设置的设置中的设置文件。

  • 在上一步中创建的3个文件旁边创建一个新的文本文件,调用它update.psr.
  • 打开此新文件,并从上一步打开您的设置备份(在.psr中结尾的文件)
  • 将以下值从设置备份复制到新文件
    • pskey_bdaddr.
    • pskey_ana_ftrim.
    • pskey_ana_freq.
  • 您的新文件现在应该包含3个条目(总共6行),如最终图片所示
  • 点击文件 - >保存

步骤9:获取RN42固件的备份

我们现在需要获得RN42固件的备份。

再次结帐EVAN的IBLE以获得RN42的接线并重复上一步中的过程。

您也可以查看埃文斯盖尔的评论部分,因为有一些非常有用的人可以帮助这一步!

步骤10:将固件闪烁到HC-05上

所以现在我们希望采取我们在上一步中获得的RN-42固件,并将其闪光到HC-05上。

注意:确保在执行此操作之前,请确保将设置备份为上一步,因为我们刷新固件后没有让它们!



闪烁固件

  • 打开blueflash.再次。
  • 点击停止处理器按钮。
  • 点击选择文件按钮并选择rn42.xpv.你在上一步
  • 点击下载按钮
  • 完成后,单击启动处理器按钮和关闭blueflash

合并设置

如上一步中所述,固件包含它来自的芯片的所有设置,因此我们的HC-05的所有设置现已被替换,但我们希望保留我们保存的芯片update.psr.文件

  • 打开PSTOOL.
  • 文件 - >合并......
  • 选择update.psr.文件从早期的一步。
  • 现在,如果你选择蓝牙地址在列表中,然后单击进入 - >阅读条目,你应该看到它现在与你的相同update.psr.

恭喜,你现在应该有一个升级的HC-05!

第11步:现在是什么?

让我们快速测试它的行为正常!我会把spi引脚留在直到你已经测试过一次!

我用ESP8266 Arduino Board测试它是3.3V芯片,所以不需要水平移位(请记住HC-05是3.3V模块),而且因为它能够在115200运行软件串行,这是现在的修改后的HC-05的默认波特率。

草图只是一个简单的通过硬件串行到配置的软件串行。

设置模块

  • 打开Arduino IDE中的串行监视器
  • 选择没有线结尾下降
  • 确保波特率设置为115200.
  • 类型$$$在并点击发送,CMD应该返回。
  • 您现在需要更改终止的线路新队
  • 现在输入SF,1然后点击发送- 这将将模块重置为出厂设置。
  • 现在类型S〜,6然后点击发送- 这将模块更改为HID模式。
  • 如果要更改模块名称,请执行以下操作:Sn,name_here.
  • 我们现在想将模块配置为鼠标和键盘组合:SH,0230
  • 然后最后将模块重新启动我们的新设置:r,1

与你的手机配对

  • 打开手机上的蓝牙设置并搜索新设备
  • 您的设备的新名称应该出现,连接到它。(请注意,它也应该具有键盘符号作为其被重新调用为键盘设备)

测试它!

  • 返回串行显示器
  • 选择没有线结尾
  • 在手机上,打开一个可以输入的应用程序
  • 现在您可以输入串行监视器,然后按发送。应在手机中输入您输入的内容作为键盘输入。

这只是一个简单的项目来展示它的工作,我有一些未来的项目计划在哪里更有用!,保持调整!

我只是想说一下evan再次出于原来的指示,埃文有一些非常棒的项目,所以你肯定应该检查他!

我希望你享受这个项目,一如既往,如果您有任何疑问,请让我知道,我会尽力帮助!

2人制作了这个项目!

建议书

  • 微控制器比赛

    微控制器比赛
  • 自动化比赛

    自动化比赛
  • 让它发光比赛

    让它发光比赛

31讨论

0.
FireWireone.

问题1天前

闪烁后,您仍然可以使用HC-05和06制作主奴隶吗?

0.
P_Leriche.

5周前

Zadig似乎没有恢复原始驱动程序的手段。已安装Libusbk,FTDI不再被识别为COM端口,我无法使用它来编程Arduino。此外,我的USB音量控制和CAPS锁定LED不再工作(//www.sledutah.com/usb-volume-control-and-caps-lock-led-simple-cheap-/)。我用Zadig没做的东西会解决它。几天前我甚至在恢复点恢复到恢复点。查看zadig文档,它建议使用设备管理器卸载设备。这也不起。Windows正在拒绝FTDI和My USB Vol Ctrl作为未知设备。我渴望这一点令人望而选成,准备好完成了一个适当的Windows重新安装。最后,既不连接,我在设备管理器中选择“查看隐藏设备”,并卸载了几个未知设备,检查删除驱动程序选项。现在,终于认识到FTDI,可以再次与Arduino Pro Mini交谈,但USB Vol CTL仍然坚持下去。这使用Arduino Pro Micro。 Eventually, by holding it reset while plugging it in and recompiling the sketch I got the Arduino IDE to recognise it and reprogram it. Phew! What a palava. The hours I've wasted :-

HC-05正在进行赔率和SODS盒子,也许永远!

我进入第9步,并查找RN-42.xpv的源,我发现它们都是腐败的zip文件,或者是bullflash拒绝打开的.xpv文件(“文件打开失败”)。它愉快地打开我采取的转储文件,并将其验证对设备。

在Google结果的第4页上,我遇到了一个包含RAR文件的越南网站,但是,BlueFlash拒绝在内部打开RN42.xpv文件。

如果有人在他们的后袋中有一个很好的副本,也许他们不介意给我发消息。或者也许我需要牺牲一个山羊才能说服BlueFlash合作。

我今天早些时候获得的BlueFlash声称是2.6.6.13.11释放。

0.
ajvdmeij.

回复1年前

这是一个很棒的消息!我检查了GitHub,很清楚。我有一个问题。是否可以向计算机/手机发送多个消息?通过使用更多按钮?

0.
曼努埃尔_BL.

回复1年前

是的,您可以轻松扩展它。目前,代码检查单个按钮。您可以连接更多按钮,定义PIN码(朝顶部),然后检查它们所有,例如:
if(isbleconnected){
const char * message = null;
if(digitalread(button_a)== low)
消息=“你好世界!”;
if(digitalread(button_b)== low)
消息=“再见”;
if(消息!= null)
typeText(消息);
}

0.
ajvdmeij.

回复1年前

谢谢曼努埃尔,为了迅速,精心制作答案!马上订购了一些esp32。将为演示文稿进行脚踏板。再次感谢。

0.
Sandwitch8266.

问题1年前

我达到了我可以停止处理器并选择文件的那一点,但下载按钮保持灰色,我不能点击它
帮助

0.
羽扇屑

2年前

试图从Qualcomm的网站下载该软件,但我没有运气,尽管被接受了拥有一个帐户。当我到达这个页面时(蓝色套房),我得到403错误。
最近有人能做到这一点吗?

0.
Jobv5.

2年前

我听说有一个可以谷歌曲'RN-42固件的链接转储固件 -Pastebin.com.'。

我没有自己下载或测试任何东西。

0.
LUISFRANCO1990.

问题2年前第5步

嗨,我想知道我是否可以使用Arduino作为ISP而不是FTDI芯片?

0.
Buğrahank.

问题2年前

嗨,这是一个很好的项目。我有一个问题,我如何在“设置模块”标题下如何到达AT命令。

0.
IORIYAGAMI1.

问题2年前

有人有Bluesuite软件吗?我尝试在视频中使用像视频中的Gmail帐户注册了CSR网站,但它不会接受我的电子邮件。如果你能给我发一个谷歌驱动器,Dropbox等...链接我会非常感谢它。

2
BJL4.

问题2年前第11步

我可能会复制我的请求,但是 - 您会在文件共享网站上提供BlueUite(如4shared,Dropbox等)并将链接放在此处,并附有您的说明吗?

2
BJL4.

问题2年前

你有机会提供bluesuite吗?我拥有的电子邮件地址都没有(sbcglobal.net.,Gmail,雅虎)可以在CSR注册 - 说没有合法。我无法找到任何可用于使用Google搜索下载的Blueuite版本。

将BlueSuite放在文件共享网站上非常有用 - 尤其是与您的指示一起使用链接。

我真的很喜欢做这个项目 - 但是Bluesuite是必不可少的,以便使用3美元的芯片,这就是我想做的。

0.
Nathanr124.

问题2年前

哎呀,我的意思是转储选项不可用。

0.
Nathanr124.

问题2年前第7步

帮助,我陷入了困扰7. BlueFlash成功连接到HC-05,但是当我点击停止处理器时,它会陷入“下载闪存存根”。转储选项可用:(