type
status
date
slug
summary
tags
category
icon
password
已经懒得不行了…
 
 

1. 前言

 
是的,我就是要写这个B前言,这是我的博客,我爱写啥写啥 😋 我不禁要写废话,我还不写句号 😋
 
最近薅了很多TaoBao商家的羊毛,1块钱左右的蓝牙串口透传模块,不要白不要啊,比我买个CH340还便宜。不过都是拿样价,只能买一次,下一次就会变成2块多或者3块多,即使恢复原价,那也不贵啊 🥰
 
notion image
 
买了好多,一直没用,基本都是串口透传的功能,暂时用不上
 
但是最近,我发现无线调参功能很刚需。就比如有些参数变量是需要根据实际情况不断修改的,但是受限于板子体积或者各种原因,没法添加太多按键或外部输入,这时候只能依赖串口传参,以实现对变量的修改
在这之前我一直是使用有线串口,即CH340连接电脑,在电脑端串口助手发送信息来修改的。但是呢,但是,我有一个项目需要运行在无电脑的地方,我需要经常修改一个变量,此时无线调参的作用就来了 😀
 
(至于是什么项目,下篇文章估计会出来吧?)
 
从里面挑了一个,挑了新一科技的XY-MBO26A,没别的,只是刚看到他家的教程,觉得挺简单的。用了一下确实挺好用的,可以看到我后面又买一个他家的,才0.95元,代替CH340挺好的
 
简单焊了一下必要引脚,用杜邦线插在我的STM32G030开发板上,不浪费免费打样券去打板了,主要是为了验证功能
 
这颗蓝牙MCU封装好小,和晶振个头差不多
这颗蓝牙MCU封装好小,和晶振个头差不多
 
 
 

2. 测试

 
模块引脚图
notion image
notion image
 
我只焊了VCC、GND、TX、RX、LINK、BRTS六个脚,其他的似乎没有使用的必要。
LINK脚接MCU GPIO中断,用于蓝牙状态指示;BRTS脚使用MCU GPIO输出高低电平控制模块进入或离开睡眠模式
 
实际上,这个模块如果想和电脑进行透传的话,直接模块连USB-UART工具就可以了,比如连接一个CH340,完全不需要MCU,只是我手上没有单独的USB串口工具,我就使用一个STM32开发板来测试
 
我使用的是STM32G030F6P6:
  1. 开启两个串口,USART1连接板载CH340,USART2连接蓝牙串口透传模块;
  1. 开启一个GPIO中断连接蓝牙模块的LINK引脚;
  1. 开启一个GPIO_OUTPUT控制蓝牙模块的BRTS引脚
 
上代码👇👇👇(GPT写的,我菜)
main.c
 
 
 
反正我是没看懂代码,这个串口中断我没用过啊,回调函数也没看懂在干嘛
唉~能用就行 🤭 btw,GPIO中断是我加的
 
一开始还是遇到了通信的问题,我在微信使用蓝牙串口小程序,它们都叫我选一个服务通道,我还纳闷这是啥,翻了下手册才知道要选服务通道才能收发消息
 
notion image
notion image
 
大概就是接收服务要用0xFFF1,发送服务用0xFFF2,这个可以用AT指令改,以满足与其他蓝牙透传模块互联
 
AT指令似乎只能从模块的RX引脚接收,无线接收不了AT指令,会将AT指令当初普通文本直接透传过来
 
notion image
 
notion image
 
 
notion image
 
/* 连续大量发包也是OK的 */
 
 
 
 
 

3. 最后

 
好玩 😋
 
AT指令能修改的部分挺多的,看样子应该是只能从模式连接,不过也够用了,很少有当主设备的场景
 
而且这个蓝牙模块功耗比较低。我的USB-HUB有电流检测的功能,能看到整板电流在唤醒和休眠蓝牙模块之间的差异。模块唤醒后空闲状态比休眠时的整板电流多出2mA左右,唤醒状态下无线串口发送比休眠时整板电流多出4mA,相比WiFi那动不动大100mA的电流,BLE还是比较省电的 😙
 
 
暂时用到这里吧,后续用来替代串口芯片用了
 
 
 
PDF - 模块手册 ↓ ↓ ↓
 
 
 
车载信息传感器监控CH634X USB3.2 Gen1 Hub
Loading...