FSC-BT618 应用说明

模块默认参数

Name

FSC-BT618

Service UUID

FFF0

Write UUID

FFF2

Notify UUID

FFF1

UART Baudrate

115200/8/N/1

硬件说明

引脚图

_images/BT618_pin_map.png

引脚描述

Pin

Pin Name

Type

Pin Descriptions

1

UART_TX

O

串口数据脚

2

UART_RX

I

串口数据脚

3

UART_RTS

I/O

串口流控脚/不需要连接

4

UART_CTS

I/O

串口流控脚/不需要连接

9

RESTORE

I

重置配置

11

RESET

I

低电平复位

12

VDD

Power

3.3V供电,建议使用LDO供电

13

GND

GND

GND

16

SWCLK

I/O

烧录脚

17

SWDIO

I/O

烧录脚

32

LED

O

蓝牙未连接输出方波,蓝牙连接输出高电平

31

WAKE_MCU

O

低功耗模式蓝牙唤醒MCU

33

STATUS

O

蓝牙未连接输出低电平,蓝牙连接输出高电平

34

WAKE_BT

I

低功耗模式MCU唤醒蓝牙

36

EXT_ANT

ANT

改变天线附近的0欧电阻,可以外接蓝牙天线

硬件设计说明

  • 模组只需要连接VDD/GND/UART_RX/UART_TX即可使用

  • 如果MCU需要获取蓝牙模组的连接状态,需要接STATUS引脚

  • 画完原理图后请发给飞易通进行审核,避免蓝牙距离达不到最佳效果

  • 模组支持通过GPIO唤醒,如果应用上有低功耗的需求,需要连接 WAKE_MCU/WAKE_BT引脚

  • VDD/GND/RESET/SWCLK/SWDIO 是烧录口,可以预留测试点

功能说明

GPIO指示

LED引脚 PIN 32

状态

描述

1Hz方波

蓝牙未连接

高电平

蓝牙连接

连接状态引脚 PIN 33

状态

描述

低电平

蓝牙未连接

高电平

蓝牙连接

工作模式

透传模式

蓝牙未连接,串口收到的数据按照AT指令进行解析;蓝牙连接后串口收到的数据全
部原样发送到远端蓝牙。

指令模式

蓝牙未连接,串口收到的数据按照AT指令进行解析;蓝牙连接后串口收到的数据仍
然按照AT指令进行解析。需要发送数据到远端的时候,发送AT+LESEND指令。

GATT透传服务

类型

UUID

权限

描述

Service

0xFFF0

透传服务

Write

0xFFF2

Write,Write Without Response

APP发给模组

Notify

0xFFF1

Notify

模组发给APP

性能参数

类型

Min.

Type.

Max.

描述

上电时间

230ms

使能串口响应时间

唤醒时间

200ms

串口发送完唤醒数据才开始计算

数据传输速率

波特率

数据包

发送间隔

连接间隔

发送方式

速率

230400

244

11ms

15ms

Notify

23000 Byte/s

低功耗

模组支持2种低功耗模式,分别是串口唤醒模式和IO口唤醒模式。

模式

指令配置

硬件连接

休眠方法

描述

串口唤醒
AT+LPM=1
不需要连接
WAKE_MCU 和
WAKE_BT
串口超过5s没有数据通信,自动进入休眠
休眠后串口收到第一帧数据会退出休眠
唤醒的第一帧数据会丢失
逻辑简单,节省IO
IO口唤醒
AT+LPM=2
需要连接
WAKE_MCU
和 WAKE_BT
WAKE_BT 高电平蓝牙模组进入休眠
WAKE_BT 低电平蓝牙模组退出休眠
WAKE_MCU 高电平通知MCU退出休眠
WAKE_MCU 低电平通知MCU进入休眠
支持唤醒MCU
电路上需要多连接2个IO

应用场景

查询/修改模组默认参数

模组在蓝牙没有连接的状态下,会将串口数据按照AT指令解析。 主机可以对模组的默认参数进行查询和修改,下图展示了:

  1. 修改设备名为 ABC

  2. 查询设备名

  3. 查询蓝牙地址

@startuml
hide footbox
skinparam sequenceMessageAlign center

box "local" #LightBlue
participant Host as host
participant Module as bt
end box


rnote over host, bt: 修改设备名为 ABC

host -> bt: AT+NAME=ABC\\r\\n
bt -> host: \\r\\nOK\\r\\n"

rnote over host, bt: 查询设备名

host -> bt: AT+NAME\\r\\n
bt -> host: \\r\\n+NAME=ABC\\r\\n\\r\\nOK\\r\\n"

rnote over host, bt: 查询蓝牙地址

host -> bt: AT+ADDR\\r\\n
bt -> host: \\r\\n+ADDR=DC0D30010203\\r\\n\\r\\nOK\\r\\n

@enduml

发送数据的流程

模组上电会持续向外发送广播数据,远端蓝牙(手机)可以通过搜索获取到广播包, 并向模组发起连接请求。连接成功后模组会拉高连接状态脚通知主机蓝牙连接成功。 主机可以通过蓝牙模组将数据发送给远端蓝牙,远端蓝牙也可以把数据发送给主机。

@startuml
hide footbox
skinparam sequenceMessageAlign center

box "local" #LightBlue
participant Host as host
participant Module as bt
end box

box "remote" #LightBlue
participant ”Remote BT“ as remote
end box

rnote over host, remote: 建立连接

        bt --> remote: 广播包
        bt <-  remote: 扫描
        bt --> remote: 广播包
        bt <-  remote: 请求建立连接

rnote over host, remote: 连接成功

host <- bt: 拉高连接状态脚

rnote over host, remote: 发送数据

host -> bt: 串口发送 ABC
        bt ->  remote: 蓝牙发送 ABC
        bt <-  remote: 蓝牙发送 DEF
host <- bt: 串口输出 DEF

        bt <-  remote: 断开蓝牙

host <- bt: 连接断开

host <- bt: 拉低连接状态脚
        bt --> remote: 广播包

@enduml

模组做主机连接远端设备

模组可以作为主设备去连接从设备,主机可以发送指令控制模组进行扫描连接和断开。下图展示了连接其他设备的过程:

@startuml

hide footbox
skinparam sequenceMessageAlign center

box "local" #LightBlue
participant Host as host
participant Module as bt
end box

box "remote" #LightBlue
participant ”Remote BT“ as remote
end box

host -> bt: AT+SCAN=1\\r\\n
host <- bt: \\r\\nOK\\r\\n
        bt ->  remote: 扫描
        bt <-- remote: 广播包
host <- bt: \\r\\n+SCAN=0,1,DC0D30001ED4,-65,10,FSC-BT946\\r\\n
host -> bt: AT+LECCONN=DC0D30001ED41\\r\\n
host <- bt: \\r\\nOK\\r\\n
        bt ->  remote: 请求建立连接

rnote over host, remote: 连接成功

host <- bt: 拉高连接状态脚

rnote over host, remote: 发送数据

host -> bt: 串口发送 ABC
        bt ->  remote: 蓝牙发送 ABC
        bt <-  remote: 蓝牙发送 DEF
host <- bt: 串口输出 DEF

host -> bt: AT+LEDISC\\r\\n
host <- bt: \\r\\nOK\\r\\n
        bt ->  remote: 断开蓝牙

rnote over host, remote: 连接断开

host <- bt: 拉低连接状态脚
        bt --> remote: 广播包

@enduml

附录

下载 PDF版本

下载PDF版本