非常酷的串口-蓝牙转换器

在单片机或者说是嵌入式开发的领域,古老的串口(UART)协议依旧无处不在。目前几乎所有的单片机方案都支持串口,即便是有一些不直接支持,也可以通过GPIO口来模拟串口。所以,只要你的外部设备支持串口,就可以通过单片机控制。我在网上看了看,居然还有以太网和无线网转串口的转换器,任何单片机都可以立刻连接Internet了!

我今天研究了一个可以称之为神器的串口-蓝牙转换器。这个转换器要实现的目标很简单,就是把串口协议无线化了,通过蓝牙来传输串口数据。

串口-蓝牙转换器正面

串口-蓝牙转换器背面

这个神器的连接很简单,VCC是电源正极,电压适应范围很宽,3.6-6V都可以,GND是电源负极,转换器的TXD连接其他机器的RXD,转换器的RXD连接其他机器的TXD。

这个转换器在没有蓝牙连接的时候,我们可以通过RXD和TXD接口进行一些设置,包括波特率和蓝牙配对密码,默认的波特率是9600,默认的配对口令是1234 。我是用STC单片机的下载工具自带的串口助手操作的,挺好用。部分设置命令如下:

1,测试连接状态:发送AT,返回OK。

2,修改蓝牙串口波特率:发送AT+BAUD7修改为57600,发送AT+BAUD7修改为115200,其余速率请参考官方文档。

3,修改蓝牙名称:发送AT+NAMExxx,将名字修改为xxx。

4,修改蓝牙配对密码:发送AT+PINxxxx,将密码修改为xxxx。

以上这些参数修改后都可以掉电保存。

其实这个转换器还有一个更好玩的用途,就是用无线蓝牙的方式给单片机下载程序。经过我的测试,Arduino UNO和Arduino Pro Mini都是可以正常使用的,但需要使用AT命令修改波特率,如果要给UNO下载程序,需要修改波特率为115200,如果给Pro Mini下载程序,需要修改波特率为57600。下载时蓝牙串口的RXD连接Arduino的D1(TX)口,蓝牙串口的TXD连接Arduino的D0(RX)口。在程序开始下载时,要按Arduino的RESET键。这个按键按下的时机很重要,不行就多按几次试试。

看看我的测试场景吧:

串口-蓝牙转换器面包板概览 串口-蓝牙转换器面包板细节

关于这个神器的更多资料,可以去网上搜索关键词:HC-06 。

 

Published by

Meng Guang

thinking ahead of what's possible