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

news/2023/6/7 0:47:25

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

  • 1. 前言
    • 1.1.串口基本参数
    • 1.2.AT命令模式和透传模式
    • 1.3.模块数据吞吐量
  • 2. 接线
    • 2.1 模块线序定义
    • 2.2 相关AT命令详解
      • 2.2.1 命令格式说明
      • 2.2.2 回应格式说明
      • 2.2.3 AT命令举例说明
  • 3. AT命令详解
    • 3.1 基础指令
    • 3.2 AT指令测试
    • 3.3 手机测试
  • 4. 小结

1. 前言

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

  • 官网地址
  • BT24-PA蓝牙模块资料
  • 视频地址

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软件,app,IOS
  • 下面演示APP安卓端,点击透传,搜索BLE,连接BT24蓝牙,设置文本123456内容,手机端点击发送

请添加图片描述

  • 电脑端接收手机端数据123456
    在这里插入图片描述

4. 小结

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

参考文献:

  • 官网地址
  • BT24-PA蓝牙模块资料
  • 视频地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4555597.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

Warning[Pe069]: integer conversion resulted in truncation

告警原因&#xff1a; 1、数据类型不匹配造成 例如&#xff0c;把大于255的数据传给unsigned char型数据就会出现这样的警告。 举个例子&#xff1a; 解决方法&#xff1a;右值的数值不可超出左值的表达范围。根据左值的数据类型的表达范围&#xff0c;正确赋值。 2、对一个数…

MDK Keil编译程序出现..\source\main.c(118): warning: #69-D: integer conversion resulted in truncation问题

#69-D: integer conversion resulted in truncation首先我们看出现的问题在工程中的定位&#xff0c;比如笔者出现问题的地方在\source\main&#xff0c;那就是问题在这个目录下的这个文件&#xff0c;然后我们再看编译窗口Build Output如下&#xff1a;看图中的箭头就是指向在…

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

刚刚有在程序中&#xff0c;传递一个空值至MS SQL Server数据库&#xff0c;这个值的数据类型为DATETIME执行时&#xff0c;它却发生了如标题提示的异常&#xff1a;The conversion of a varchar data type to a datetime data type resulted in an out-of-range value. 跟踪一…

laravel----------Client error: `POST http://47.98.116.219/oauth/token` resulted in a `401 Unauthoriz

1、设备没有授权&#xff0c;原因是 这个client_id的值就是数据库wk_oauth_clients 的主键ID&#xff0c;查看下表是否有这条数据转载于:https://www.cnblogs.com/wamptao/p/9198830.html

connecting to host: cephm resulted in errors: IOError cannot send (already closed?)[ceph-deploy部署报错]

ceph deploy 部署报错&#xff1a;执行&#xff1a;ceph-deploy new node1 错误信息&#xff1a;分析&#xff1a;这是由于node1没有安装python 导致解决方案:在node1安装pythonsudo apt install python-minimal 参考链接: CEPH-DEPLOY:bug13137

The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value

这句话的意思是将datetime2数据类型转换为datetime数据类型会导致超出范围的值。声明已经终止。 在使用EF插入数据是发生列转换的错误,搞了好久,不知道问题出在哪里! 根据提示的错误信息来看是Datetime数据类型出现错误 后来发现 public Nullable<System.DateTime> NextC…

Handler execution resulted in exception: Content type 'application/json;charset=UTF-8' not supported

postman测试接口的时候报415错误&#xff0c;上网看了之后发现都是说jar包的问题&#xff0c;我导入了jar包发现还是不好使&#xff0c;试了好几次&#xff0c;有哪位大牛帮我一下&#xff0c;控制台输出的是不支持application/json;charsetUTF-8类型

SQLServer The datediff function resulted in an overflow

开发同事有一个脚本报错&#xff0c;很简单&#xff0c;简写如下&#xff1a; SELECT COUNT(*) FROM Logs t1 with(nolock) WHERE DATEDIFF(s, 2016-08-18 17:06:35, t1.insertTime) < 0执行后出错&#xff01; Msg 535, Level 16, State 0, Line 1 The datediff function r…