草庐IT

【DX-BT24蓝牙模块-AT命令与手机透传教程】

2345VOR 2023-09-06 原文

【DX-BT24蓝牙模块-AT命令与手机透传教程】

1. 前言

大夏龙雀科技DX-BT24&BT24-S&BT24-PA蓝牙模块,拥有5.1蓝牙协议,模块内置标准串口协议。可以通过模块串口跟移动端、PC端、主设备端进行数据交互,并可以使用AT命令对模块参数进行配置和修改。从而使设备以极低的成本、极快的速度加入物联网,让设备更方便、智能。

1.1.串口基本参数

  • 模块串口默认参数: 9600bps/8/n/1(波特率/数据位/无校验/停止位)
  • 模块支持软件流控(注:DX-BT24-PA不支持)
  • 模块BLE UUID: SERVICE UUID: FFEO
    NOTIFY/WRITE UUID: FFE1
    WRITE UUID: FFE2

1.2.AT命令模式和透传模式

  • AT命令模式:模块在未被其他设备连接上的情况下,即为命令模式,可以响应命令。
  • 透传模式:模块被其他设备连接上后即为透传模式,此时可以开始传输数据。

1.3.模块数据吞吐量

备注
上表格中数据仅供参考,本模块支持MTU值最大为253,数据吞吐量跟手机蓝牙的MTU值和连接间隔有关,数据以实际为准。

2. 接线

2.1 模块线序定义

TTL串口调试器DX-BT24
GNDGND
5V5V
RXDTXD
TXDRXD
串口TTL连接typeC数据线,连接电脑就可以开始连接调试

2.2 相关AT命令详解

2.2.1 命令格式说明

AT+Command<param1, param2,param3> <CR><CF>

  • 所有的指令以AT开头,<CR><LF>结束,在本文档中表现命令和响应的表格中,省略了<CR><LF>,仅显示命令和响应。
  • 所有AT命令字符都为大写。
  • <>内为可选内容,如果命令中有多个参数,以逗号“,”隔开,实际命令中不包含尖括号。
  • <CR>为回车字符\r,十六进制为OXOD
  • <LF>为换行字符\n,十六进制为OXOA
  • 指令执行成功,返回相应命令以OK结束,失败返回EEROR=<>,“<>”内容为对应错误码(请参考5.7)。

2.2.2 回应格式说明

+lndication<=param1, param2, param3><CR><CF>

  • 回应指令以加号“+”开头,<CR><CF>结束
  • 等于“=”后面为回应参数
  • 如果回应参数中有多个参数,会以逗号“,”隔开

2.2.3 AT命令举例说明

  • 举例:修改蓝牙设备名称为1234
  • 发送:AT+NAME1234
  • 返回:+NAME=1234
  • OK

3. AT命令详解

3.1 基础指令

基本指令包含:测试、版本号、蓝牙状态参数、恢复出厂设置、重启等14条指令,表粗一般经常使用

序号功能指令响应说明
1测试指令ATOK用于测试串口
2查询版本号 AT+VERSION+VERSION= <version> <version >软件版本号,依据不同的模块与定制需求版本会有区别
3查询MAC地址AT+LADDR+LADDR= <laddr><laddr>蓝牙MAC地址码
4查询蓝牙名AT+NAME+NAME=<name><name>蓝牙名,最长为28个字节
设置蓝牙名AT+NAME<name>+NAME=<name> OK默认名称:BT24/BT24-S/BT24-PA,设置完该指令后需重启生效。
5查询参数AT+NAMAC+NAMAC=<param><param>参数,关闭:0
设置参数AT+NAMAC<param>+NAMAC=<param> OK打开6位MAC后缀:1;打开3位MAC后缀:2
6查询串口停止位AT+STOP+STOP=<param><param>序号0:1停止位
设置串口停止位AT+STOP<param>+STOP= <param> OK1:2停止位;默认值:0
7查询串口校验位AT+PARI+PARI= <param><param>序号0:无校验
设置串口校验位AT+PARI<param>+PARI= <param> OK1︰奇校验;2:偶校验;默认值:0
8查询波特率AT+BAUD+BAUD=<baud><baud>波特率对应序号1:2400;2:4800;3:9600;4: 19200
设置波特率AT+BAUD<baud>+BAUD= <baud> OK5:38400;6:57600;7:115200默认值:3(9600)
9查询流控状态AT+FLOW+FLOW =<param><param>序号0:为关闭流控
设置流控状态AT+FLOW<param> OK1:为打开流控;默认值:0
10查询透传模式AT+TRANSPORT+TRANSPORT=<param><param>序号0:关闭透传
设置透传模式AT+TRANSPORT<param >+TRANSPORT= <param> OK1:打开透传;默认值:1
11断开连接AT+DISC
12查询蓝牙设备类型AT+TYPE+TYPE=<param><param>参数0x0000:未指定类型;0x0040:电话本类型;0x0080:笔记本电脑类型
设置蓝牙设备类型AT+TYPE<param>+TYPE=<param> OK更多类型请查找蓝牙类型表;默认值:0x0000
13软件重启AT+RESET+RESETOK Power On
14恢复出厂设置AT+DEFAULT+DEFAULTOK

注意
设置完4/6/7/8/12指令后需重启生效;
5指令:设置为打开6位MAC后缀则蓝牙有效名称最长为16个字节,设置为打开3位MAC后缀则蓝牙有效名称最长为22个字节。假设地址码为:112233aabbcc,设备蓝牙名称为BT24。打开3位MAC后缀,即设备蓝牙名称为:BT24aabbcc,打开6位MAC后缀,即设备蓝牙名称为:BT24112233aabbcc,设置完成后需重启才生效;
9指令:中DX-BT24-PA不支持此指令;
10指令: 如果设置关闭透传后,模块被连接上可以继续响应AT指令,如连接上后再发送打开透传命令,响应完之后,则进入透传模式,然后不再响应命令。此指令掉电保存;
11指令:此指令只能在透传模式下使用,且只能由串口端发送有效,手机端发送无效。

3.2 AT指令测试

打开串口调试工具,连接端口号,打开串口,设置9600波特率,勾选加回车换行,右侧设置指令,并点击测试。

此时蓝牙正常连接,下面开始测试,依次输入

  • 测试设备

AT

  • 查看设备名称,默认BT24

AT+NAME

  • 修改设备名称为23456VOR

AT+NAME23456VOR

  • 恢复出厂设置

AT+DEFAULT

  • 查看设备名称,默认BT24

AT+NAME
效果如下

3.3 手机测试

  • 安装DX-SMART软件,appIOS
  • 下面演示APP安卓端,点击透传,搜索BLE,连接BT24蓝牙,设置文本123456内容,手机端点击发送

  • 电脑端接收手机端数据123456

4. 小结

🥳🥳🥳通过对这篇文章我们掌握了DX-BT24蓝牙模块-AT命令与手机透传教程,接下来会有许多有趣的实验,尝试与Arduino通讯做更加好玩的实验,进而丰富我们的生活。🛹🛹🛹从而实现对外部世界进行感知,充分认识这个有机与无机的环境,🥳🥳🥳科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣

参考文献:

有关【DX-BT24蓝牙模块-AT命令与手机透传教程】的更多相关文章

  1. ruby - 如何使用 Nokogiri 的 xpath 和 at_xpath 方法 - 2

    我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div

  2. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  3. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  4. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  5. ruby - 导轨 4 : column reference "updated_at" is ambiguous with Postgres - 2

    我正在尝试使用“updated_at”字段的日期时间范围查询数据库。前端在JSON数组中发送查询:["2015-09-0100:00:00","2015-10-0223:00:00"]在RailsController中,我使用以下方法将两个字符串解析为DateTime:start_date=DateTime.parse(params[:date_range_arr][0])end_date=DateTime.parse(params[:date_range_arr][1])#...@events=@events.where('updated_atBETWEEN?AND?,start_d

  6. ruby - 在 RUBY 上的 PADRINO 框架上使用 RSPEC 进行测试的教程 - 2

    我是Ruby新手,并被要求在我们的新项目中使用它。我们还被要求使用Padrino(Sinatra)作为后端/框架。我们被要求使用Rspec进行测试。我一直在寻找可以指导在Padrino上使用RspecforRuby的教程。我得到的主要是引用RoR。但是,我需要RubyonPadrino。请在任何入门/指南/引用/讨论等方面指导我。如有不妥之处请指正。可能是我没有针对我的问题搜索正确的词/短语组合。我正在使用Ruby1.9.3和Padrinov.0.10.6。注意:我还提到了SOquestion,但它没有帮助。 最佳答案 我没用过Pa

  7. ruby-on-rails - 安装 active admin 时 activeadmin.git (at master) is not yet checked out 错误 - 2

    Activeadmingem已添加到我的rails项目中,但每次我尝试安装railsgactive_admin:install时,我都会收到类似的错误git://github.com/activeadmin/activeadmin.git(atmaster)isnotyetcheckedout.Runbundleinstallfirst.我肯定在运行“railsgactive_admin:install”之前运行了bundle。运行“bundleshow”后,我看到我已将“*activeadmin(1.0.0.pre3f916d6)”添加到我的项目中,但不断收到此错误消息。我的gem文

  8. 区块链入门教程(6)--WeBASE-Front节点前置服务安装 - 2

    文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定

  9. ruby-on-rails - Rails 和 MQTT : Subscribe to topic in background at server startup? - 2

    我想在服务器启动时在我的Rails应用程序中订阅一个mqtt主题,并保持订阅始终处于事件状态和运行状态。我正在使用这个mqttgem进行mqtt通信:https://github.com/njh/ruby-mqtt这是我现在拥有的:在application.rb中:config.after_initializedomqttSub=BackgroundMQTT.newmqttSub.runend后台MQTT类:classMQTTSubscriberdefrunThread.newdoMQTT::Client.connect(:host=>'localhost',:port=>1883,)

  10. ruby-on-rails - rails 教程 : Putting flash messages in partial yields error "undefined method ` each' for nil:NilClass"? - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:FlashMessagesinPartials(Rails3)我正在做MichaelHartl的Railstutorial和listing7.26将flash消息添加到应用程序布局:...">...这很好用。但是,我试图通过在我的部分文件夹中创建一个_flash.html.erb来清理这段代码...">-->...并且比使用......在我的应用程序布局中,我的所有Rspec测试开始失败,每个测试都显示以下消息:Failure/Error:before{visitsignup_path}ActionView:

随机推荐