草庐IT

Android手机无法连接HC-05蓝牙模块

fightingHawk2001 2023-12-29 原文

目录

前言

       这学期选的毕业设计中需要用到蓝牙模块与Android手机通信,于是我就在淘宝购买了一款HC-05的蓝牙模块,到货之后首先使用蓝牙模块连接USB-TTL模块,然后再插入到电脑的USB插孔上进行调试,一开始进入AT模式(我购买的这一款进入AT模式时那个按键需要多按一会儿,等慢闪两次之后再松开,不然松开早了就个一两秒就会自动进入一般模式)、测试AT命令都没有问题,到接下来进入一般模式需要与手机连接时就出大问题了。

问题描述

       当我从新给蓝牙模块上电然后进入了一般模式(指示灯快速闪烁),然后使用手机自带的蓝牙进行配对连接,能够正常的搜索到此蓝牙,然后点击连接就一直无反应,过了一会儿就超时提示无法连接,如下图所示(SHTHS就是蓝牙模块的名字,我改了名的)甚至于输入配对码这个界面都没有出现,所以根本就没有配对成功,还没有走到连接的那一步(部分蓝牙模块确实无法使用手机自带的蓝牙功能进行连接,需要使用第三方蓝牙助手软件,但是所有蓝牙连接都是需要手机自带的蓝牙功能进行配对的,如果配对都没有成功,那肯定就是蓝牙模块的问题)。于是我开始询问淘宝客服,网上查阅文章。。。

尝试方法

  1. 设置正确的AT指令(全都尝试过,但没有效果):
    • AT+ORGL
      恢复出厂设置
    • AT+ROLE=0
      设置蓝牙为从机模式(一般默认设置都是从机,输入 AT+ROLE? 可以查询当前主从角色)
    • AT+CMODE=1
      设置蓝牙模块为任意设备可连接(一般默认是0,即指定设备可连接,但实际上这里0或者1都没有关系,输入 AT+CMODE? 可以查询当前连接模式)
    • AT+PSWD?
      查看当前配对码,一般默认是1234
  2. 更换第三方蓝牙助手(依然无果)
    在应用市场以及浏览器上下载了n多个蓝牙助手逐个尝试都无法连接(配对)

问题原因

       正当我以为是蓝牙模块坏了的问题时,我都准备在淘宝另外买一个,然后在看别人家的蓝牙模块的描述时看到了这样一段描述,如下图,此时我就有了新的猜测,就是当VCC、GND、TXD、RXD都与USB-TTL模块连接之后插入到电脑的USB口里,蓝牙模块就会自动去连接电脑的蓝牙,但又因为别的什么原因又不能完全连接上,于是就导致了蓝牙模块处于待配对中,又无法使用手机连接此蓝牙。

解决方法

       首先我尝试了不接入TXD、RXD,就接入VCC、GND到USB-TTL模块上并插入电脑USB口,然后使用手机蓝牙连接,结果依然无法连接。
       然后我使用我之前购买的电源模块来单独给蓝牙模块供电,直接是蓝牙模块的VCC、GND连接电源模块,然后电源模块再经过数据线接入到电脑USB口或者手机充电头上,上电之后终于可以正常连接了。
       但是这里有了一个新的小问题,就是这样我无法使用电脑的串口调试助手来进行调试呀,于是我将蓝牙模块的VCC、GND仍然连接电源模块,然后将TXD、RXD与USB-TTL模块交叉连接再插入到电脑USB口,最终成功调试,收发都正常。

至此,问题完美解决!

总结

       当想要用手机连接蓝牙模块时,不要使用USB-TTL模块的输出给蓝牙模块供电,需要另外使用供电源,当然蓝牙模块的TXD、RXD还是可以和USB-TTL连接进行串口调试的。
       这个是我遇到的蓝牙模块可以进行AT测试但是手机无法连接的问题的解决方法,希望对有类似问题的朋友们有一定帮助。
       推荐一款Android手机上的蓝牙调试助手软件,纯净无广告 蓝牙调试器

有关Android手机无法连接HC-05蓝牙模块的更多相关文章

  1. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  2. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  3. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  4. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  5. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  6. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  7. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  8. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  9. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  10. ruby - 无法覆盖 irb 中的 to_s - 2

    我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)

随机推荐