JDY-31 蓝牙传输模块的使用、调试和传输

news2024/11/18 15:50:19

JDY-31 蓝牙基于蓝牙 3.0 SPP 设计,这样可以支持 Windows、Linux、android 数据透传, 工作频段 2.4GHZ,调制方式 GFSK,最大发射功率 8db,最大发射距离 30 米,支持用户通过 AT 命令修改设备名、波特率等指令,方便快捷使用灵活。 

目录

1. 模块参数

2. 引脚功能

2.1 贴片接线

 2.2 引脚功能

3. AT指令

3.1 AT指令简介

3.2 常用的AT指令

4. 使用uart通信协议实现JDY-31与STM32连接通信


1. 模块参数

 型号JDY-31
工作频段2.4GHZ
通信接口UART
工作电压1.8-3.6V(建议 3.3V)
工作温度-40℃ - 80℃
天线内置 PCB天线
传输距离30 米
主从支持从机
模块尺寸19.6 * 14.94 *1.8 mm(长宽高)
蓝牙版本Bluetooth 3.0SPP
STM 焊接温度<260℃
工作电流7.5mA
发射功率8db(最大)
接收灵敏度-97dbm SPP
最大吞吐量16K bytes/s(android、windows)

2. 引脚功能

2.1 贴片接线

 2.2 引脚功能

1. VCC:这是供电引脚,连接到正极电源(通常是3.3V或5V)。通过给予模块适当的电源供电,使其正常工作。

2. GND:这是地引脚,连接到负极地。用于与供电引脚形成电路回路,提供电源的接地。

3. TXD:这是串行数据发送引脚,用于将数据从模块发送到外部设备。您可以将外部设备的接收引脚(RXD)与JDY-31的TXD引脚连接起来,以接收来自蓝牙模块的数据。

4. RXD:这是串行数据接收引脚,用于接收外部设备发送的数据。您可以将外部设备的发送引脚(TXD)与JDY-31的RXD引脚连接起来,以向蓝牙模块发送数据。

5. EN:这是使能引脚,用于控制模块的工作状态。通过给EN引脚提供高电平(通常是3.3V或5V),可以使模块进入工作状态。在没有使能引脚输入或给予低电平时,模块将处于低功耗待机状态。

6. STATE:这是状态引脚,用于提供模块的状态信息。通过监测STATE引脚的电平变化,您可以获知模块的连接状态或其他相关状态信息。

3. AT指令

3.1 AT指令简介

AT指令是一种用于与调制解调器(Modem)或其他通信设备进行交互的命令集。AT是“ATtention”的缩写,它表示用户希望与设备进行交互。

AT指令通常用于设备的配置、控制和查询。通过发送不同的AT指令,用户可以向设备发出特定的命令请求,设备将根据收到的命令来执行相应的操作,并返回处理结果。常见的AT指令用于控制调制解调器的工作模式、拨号、发送短信、查询网络等。

使用AT指令与设备进行交互的步骤如下:

一般使用uart和spi通信协议:了解SPI通信:串行外设接口的基本工作原理,51、stm32实现SPI

一文读懂UART通信协议

1. 打开串口通信:将终端设备的串口连接到目标设备(如蓝牙模块)的串口引脚上。确保串口连接配置正确,包括波特率(通信速率)、数据位、停止位和校验位等。

2. 发送AT指令:使用串口通信工具(如终端模拟器或串口调试助手)打开串口连接,并通过串口发送AT指令。可以在终端模拟器的命令行中直接输入AT指令并发送,或者在串口调试助手中创建一个新的命令脚本并发送。

3. 接收和处理响应:目标设备(如蓝牙模块)收到AT指令后,将执行相应的操作,并返回处理结果。通过串口通信工具接收并显示目标设备返回的响应消息。响应消息通常以标准的文本格式返回,包括OK表示命令执行成功,ERROR表示命令执行失败,以及其他特定的响应消息。

4. 解析和处理响应:根据接收到的响应消息,您可以解析和处理设备返回的信息。根据不同的AT指令,响应消息可能包含有用的数据、状态信息或错误消息。

3.2 常用的AT指令

JDY-31 模块串口发送 AT 指令务必加上\r\n

序列指令功能默认
1AT+VERSION版本号JDY-31-V1.2
2AT+RESET软复位
3AT+DISC断开连接(连接状态下有效)
4AT+LADDR查询模块的 MAC 地址
5AT+PIN连接密码设置与查询1234
6AT+BAUD波特率设置与查询9600
7AT+NAME广播名设置与查询JDY-31-SPP
8AT+DEFAULT恢复出厂设置
9AT+ENLOG串口状态输出使能1

AT 指令串口工具使用方法

 在连接状态下发送断开连接指令方法

 查询版本号:

指令响应参数
AT+VERSION+VERSION=JDY-31-V1.2,Bluetooth V3.0

复位:

指令响应参数
AT+RESET+OK

断开连接:

指令响应参数
AT+DISC+OK

 BLE 蓝牙 MAC 地址:

指令响应参数
AT+LADDR+LADDR=<param>

波特率设置/查询:

指令响应参数
AT+BAUD<param>+OK

Param:(4 到 9)

4:9600

5:19200

6:38400

7:57600

8:115200

9:128000

AT+BAUD+BAUD= JDY-31

SPP 蓝牙配对密码:

指令响应参数
AT+PIN<param>+OK

Param:4 位密码

PIN:1234

AT+PIN+PIN=Param

广播名设置/查询:

指令响应参数
AT+NAME<param>+OK

Param:BLE 广播名

最长:18 字节

默认广播名:JDY-31-SPP

AT+PIN+PIN=Param

回复出厂配置:

指令响应参数
AT+DEFAULTOK

串口状态输出使能设置/查询:

指令响应参数
AT+ENLOG<param>OK

Param:1 或 0

1:打开串口状态输出

0:关闭串口状态输出

默认值:1

AT+ENLOG+ENLOG=<param>

4. 使用uart通信协议实现JDY-31与STM32连接通信

一文读懂UART通信协议

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

Mybatis动态SQL解析:XML配置如何变成最终的Sql语句?

简介 动态SQL是Mybatis的一项核心功能&#xff0c;通过一份静态的XML配置 外部参数&#xff0c;动态生成最终的SQL语句&#xff0c;可以用很少的理解成本配置复杂条件的动态SQL&#xff0c;摆脱各种处理逗号、空格这些细枝末节的痛苦。 标签说明 要实现动态拼接SQL&#xf…

C++菱形继承

菱形继承 菱形继承&#xff1a;指有一个基类被两个不同的类所继承&#xff0c;且存在一个类继承于这两个类而形成的一种菱形关系&#xff0c;故称菱形继承。如下图所示&#xff1a; 菱形继承存在的问题 二义性&#xff08;ambiguity&#xff09;&#xff1a;当派生类同时继…

memset(addr , 0 , size) 导致Bus error问题分析

导致问题出现的demo代码 #define SH_DEV_MEM "/dev/mem" #define myerror printf // 获取由mmap映射的设备物理内存 static void *mymmap(u32 offset, u32 size, u8 is_rd_only, u8 is_clear) {void *ptr;s32 fd;offset 0x45E00000;size 0x1000;is_rd_only 0;is_…

【Step By Step】VM安装redhat-server7.9搭建Oracle19C RAC(一)环境配置

文章目录 环境规划网络规划文件系统规划rac用户规划grid与oracle用户规划ASM规划 虚拟机设置搭建虚拟机自定义网卡安装操作系统 操作系统设置关闭services修改/etc/hosts创建用户与组创建文件目录设置环境变量设置内核参数资源限制添加 etc/pam.d/login关闭大页关机挂载本地ISO…

【C++初阶】:vector的基本介绍

vector的基本介绍 一.vector(向量)介绍二.vector原型三.构造四.区别reserve和resize五.二维数组 一.vector(向量)介绍 二.vector原型 vector主要分为两个模板参数&#xff0c;一个是T&#xff0c;T是将数据类型进行实例化&#xff08;本质就是一个数组&#xff09;。第二个参数…

idea 搭建 SpringBoot 集成 mybatis

编译器&#xff1a;IDEA 环境&#xff1a;win10&#xff0c;jdk1.8&#xff0c;maven3.5 数据库&#xff1a;mysql 5.7 一、打开IDEA新建项目 1. 如果你是第一次使用IDEA&#xff0c;那么你需要配置你本地的maven&#xff0c;点击右下角 Configure&#xff0c;如已配置请忽…

第三章:Linux简介及面试常问问题

目录 一、Linux发展史 1.Linux前身-Unix 2.Linux诞生 3.开源文化 4.Linux系统特点 5.Linux操作系统优点 6.Linux操作系统发行版 7.Linux内核命名规则 二、Linux系统的安装 三、linux系统分区简介及如何分区 1.自动分区 2.手动分区 3.linux下查看分区信息和剩余空间…

STM32CubeMX安装

一、配置JAVA环境 1.相关资料链接 链接: CubeMX 提取码&#xff1a;13ec 双击改exe文件。 2.更改默认的安装路径 3.在该exe文件同等目录下&#xff0c;新建一个JAVA-Enviroment文件夹。 选择更改安装路径&#xff0c;放在刚才新建的JAVA-Enviroment文件夹中。 4.等待安装完…

RabbitMQ - 单机部署(超详细)

RabbitMQ部署 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。 1.1.下载镜像 方式一&#xff1a;在线拉取 docker pull rabbitmq:3-management方式二&#xff1a;从本地加载 也可以从网上搜索 RabbitMQ 的 tar 包下载下来 上传到虚拟机中后&#xff0c;使用命令加载…

2023高校夏令营 | 第七年,我们又开营啦!

进入7月&#xff0c;成都的天气就不再像之前那样温和&#xff0c;迎接我们的是热浪滔天&#xff0c;以及一场场猝不及防的高温暴雨。如同当下的毕业季&#xff0c;脱离校园庇护的应届生们涌入就业市场&#xff0c;开始应对来自社会、职场的各种风雨考验。 为了加快推进产教融合…

js深拷贝、js使用递归实现深拷贝

相信看到这篇文章之前你应该多多少少了解过什么是深拷贝了为什么要什么拷贝了 这里就不介绍什么是深拷贝、浅拷贝了 最优解深拷贝方法&#xff1a;递归 这里为了方便直接在vue的页面里面演示了&#xff0c;在其他js文件中使用注意下this mounted() {const obj {str: "字…

实战解决百度旋转验证码

1、效果演示 2、如何识别 2.1准备数据集 首先需要使用爬虫&#xff0c;对验证码图片进行采集&#xff0c;尽量每一种类型都要采集到。 2.2图像矫正 接下来对采集的数据进行人工校正 2.3数据清洗 &#xff08;1&#xff09;对数据进行进行旋转&#xff0c;达到增加数据量的目…

44. 日期交叉问题

文章目录 题目需求思路一实现一原理二实现二学习链接题目来源 题目需求 现有各品牌优惠周期表&#xff08;promotion_info&#xff09;如下&#xff0c;其记录了每个品牌的每个优惠活动的周期&#xff0c;其中同一品牌的不同优惠活动的周期可能会有交叉。 现要求统计每个品牌…

聊一聊Java中的Steam流 | 京东物流技术团队

1 引言 在我们的日常编程任务中&#xff0c;对于集合的制造和处理是必不可少的。当我们需要对于集合进行分组或查找的操作时&#xff0c;需要用迭代器对于集合进行操作&#xff0c;而当我们需要处理的数据量很大的时候&#xff0c;为了提高性能&#xff0c;就需要使用到并行处…

Golang内存分配及垃圾回收

为什么需要垃圾回收&#xff1f; 自动释放不需要的对象&#xff0c;让出存储器资源&#xff0c;无需程序员手动执行 Go V1.3之前是标记-清除算法 具体步骤 缺点&#xff1a;程序卡顿、扫描整个heap、数据清除会产生heap碎片 V1.3之后&#xff0c;做了简单的优化 V1.5之后&a…

AIFORE Smart Fuzzing Based on Automatic Input Format Reverse Engineering

AIFORE: Smart Fuzzing Based on Automatic Input Format Reverse Engineering 1 中国科学院信息工程研究所2清华大学网络科学与网络空间研究院;中关村实验室3华为技术有限公司奇异安全实验室4中国科学院大学网络安全学院5中国人民大学6洛桑联邦理工学院 论文链接 &#xff1a…

PHP实战开发26-使用PHP生成图片验证码并进行校验

文章目录 一、前言二、什么是验证码&#xff1f;三、PHP生成验证码图像3.1 生成验证码文字3.2 创建图像并绘制验证码文字3.3 将验证码存储到Session中 四、前端使用jQuery验证输入4.1 步骤一&#xff1a;创建HTML结构和CSS样式4.2 使用jQuery发送AJAX请求进行校验4.3 步骤三&am…

Head Pose Estimation头部姿态估计任务的基本了解:从数据集开始

目录 前言一、HPE是什么&#xff1f;二、常用数据集1.COFW2.WFLW3.AFLW2000-3D4.300W-LP 三、SOTA workCVPR2022:SynergyNetCVPR2021 Workshop:ASMNet 四、我们想做的贡献 前言 为了检测司机的疲劳状态&#xff0c;除了基于人脸关键点的检测去判断是否闭眼&#xff0c;是否打哈…

基础算法-差分

差分其实就是求前缀和的逆运算 差分数组&#xff1a; Step1 首先给定一个原数组a&#xff1a;a[1], a[2], a[3],,,,,, a[n]; 然后我们构造一个数组b &#xff1a; b[1] ,b[2] , b[3],,,,,, b[i]; 使得 a[i] b[1] b[2 ] b[3] ,,,,,, b[i] 也就是说&#xff0c;a数组是b…