【物联网】JDY-31 蓝牙传输模块的使用、调试和传输

embedded/2024/10/11 9:09:44/

JDY-31蓝牙传输模块是一款基于蓝牙3.0 SPP设计的无线通信模块,支持Windows、Linux、Android数据透传。它工作在2.4GHz频段,采用GFSK调制方式,最大发射功率为8dBm,最大发射距离可达30米。该模块支持通过AT命令修改设备名、波特率等设置,使用灵活方便。

模块参数

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

引脚功能

  1. VCC:供电引脚,连接到正极电源(通常是3.3V或5V)。
  2. GND:地引脚,连接到负极地。
  3. TXD:串行数据发送引脚,用于将数据从模块发送到外部设备。
  4. RXD:串行数据接收引脚,用于接收外部设备发送的数据。
  5. EN:使能引脚,用于控制模块的工作状态。
  6. STATE:状态引脚,用于提供模块的状态信息。

AT指令

AT指令用于与设备进行交互,包括配置、控制和查询。以下是常用的AT指令:

  • AT+VERSION:查询版本号
  • AT+RESET:软复位
  • AT+DISC:断开连接(连接状态下有效)
  • AT+LADDR:查询模块的MAC地址
  • AT+PIN:连接密码设置与查询,默认为1234
  • AT+BAUD:波特率设置与查询,默认为9600
  • AT+NAME:广播名设置与查询,默认为JDY-31-SPP
  • AT+DEFAULT:恢复出厂设置
  • AT+ENLOG:串口状态输出使能,默认为1

使用UART通信协议实现JDY-31与STM32连接通信

要使用JDY-31模块,首先需要将其与STM32开发板通过UART接口连接。以下是连接步骤和示例代码:

  1. 将JDY-31的VCC和GND分别连接到STM32的3.3V电源和地。
  2. 将JDY-31的TXD连接到STM32的RXD(例如PA10)。
  3. 将JDY-31的RXD连接到STM32的TXD(例如PA9)。

示例代码:

#include "stm32f10x.h"
#include "stdio.h"// 重定向printf函数到UART
int fputc(int ch, FILE *f) {while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);USART_SendData(USART1, (uint16_t) ch);return ch;
}void USART_Configuration(void) {USART_InitTypeDef USART_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);USART_InitStructure.USART_BaudRate = 9600;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_Even;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART1, &USART_InitStructure);USART_Cmd(USART1, ENABLE);
}int main(void) {USART_Configuration();printf("AT+VERSION\r\n");while (1) {// 循环中可以添加其他操作}
}

通过上述步骤,可以实现JDY-31蓝牙模块与STM32开发板的通信。通过发送AT指令,可以控制模块的配置和行为。在实际应用中,可以根据具体需求发送不同的AT指令来实现所需的功能。

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

❤欢迎关注我的知乎:对error视而不见

代码获取、问题探讨及文章转载可私信。

☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。

🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!👇

点击领取更多详细资料


http://www.ppmy.cn/embedded/125825.html

相关文章

安卓使用.9图实现阴影效果box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08);

1.安卓实现阴影效果有很多种&#xff0c;一般UX设计会给以H5参数box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08);这种方式提供背景阴影效果&#xff0c;这里记录一下实现过程 2.界面xml源码 <?xml version"1.0" encoding"utf-8"?> <layout xmlns…

鸿蒙架构-系统架构师(七十八)

1信息加密是保证系统机密性的常用手段。使用哈希校验是保证数据完整性的常用方法。可用性保证合法用户对资源的正常访问&#xff0c;不会被不正当的拒绝。&#xff08;&#xff09;就是破坏系统的可用性。 A 跨站脚本攻击XSS B 拒绝服务攻击DoS C 跨站请求伪造攻击CSRF D 缓…

传智杯 第六届—C

题目描述&#xff1a; 输入两个字符串&#xff0c;从第一字符串中删除第二个字符串中所有的字符。例如&#xff1a;第一个字符串是"They are students."&#xff0c;第二个字符串是”aeiou"。删除之后的第一个字符串变成"Thy r stdnts."。保证两个字符…

使用AudioRelay+ VB-CABLE 实现手机无线麦克风及音响功能

我们有时会有这样的需求: 1、会议中,现场没有麦克风,有手机,有电脑,想直接用手机当用电脑的远程麦克风来使用 2、没有音响,但空间比较大、吵,电脑的声音不够大,要电脑的声音直接发到手机上播放. 这时 AudioRelay VB-CABLE 就可以满足&#xff0c;支持windows 以及macos 具体的…

Excel插件:成绩统计排名(三)

一、安装后如图 二、 功能介绍&#xff1a; &#xff08;三&#xff09;镇统计与排名 1、模板说明&#xff08;镇用&#xff09; 2、镇内批量三分四率统计 PS&#xff1a;可以设置界值&#xff0c;统计&#xff0c;如果你统计的“名堂”不是“特优”“优秀”也可以统计完成后&…

视频流媒体融合与视频监控汇聚管理系统集成方案

流媒体视频融合与汇聚管理系统可以实现对各类模块化服务进行统一管理和配置等操作&#xff0c;可实现对应用服务的整合、管理及共享&#xff0c;以标准接口的方式&#xff0c;业务平台及其他第三方业务平台可以方便地调用各类数据&#xff0c;具有开放性和可扩展性。在流媒体视…

架构与思维:漫谈高并发业务的CAS及ABA

1 高并发场景下的难题 1.1 典型支付场景 这是最经典的场景。支付过程&#xff0c;要先查询买家的账户余额&#xff0c;然后计算商品价格&#xff0c;最后对买家进行进行扣款&#xff0c;像这类的分布式操作&#xff0c;如果是并发量低的情况下完全没有问题的&#xff0c;但如果…

鸿蒙NEXT开发-动画(基于最新api12稳定版)

注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注&#xff0c;博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…