FSC-BT3431 应用说明

模块默认参数

Name

FSC-BT3431

Service UUID

FFF0

Notify UUID

FFF1

Write UUID

FFF2

UART Baudrate

115200/8/N/1

硬件说明

引脚图

_images/BT3431_pin_map.png

模块引脚分布示意图

引脚描述

Pin

Pin Name

Type

Pin Descriptions

31

UART_TX

O

串口数据脚

32

UART_RX

I

串口数据脚

23

RESET

I

低电平复位

19

VDD

Power

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

20

GND

GND

GND

28

SWCLK

I/O

烧录脚

29

SWDIO

I/O

烧录脚

8

SLP_IND

O

蓝牙连接后,模组拉低,通知客户MCU退出睡眠,延迟10ms输出串口数据;蓝牙断开后,模组拉高通知客户MCU进入休眠

7

WAKE_UP

I

MCU拉高,模组进入睡眠;MCU拉低,模组退出睡眠

21

LED

O

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

22

STATUS

O

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

硬件设计说明

  • 模组简易测试只需要连接VD/GND/UART_RX/UART_TX即可使用

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

  • 如果用户要获取模块的工作状态,需要接LED引脚(21脚)

  • 如果有低功耗需求,请连接PIN8和PIN7; 不需要低功耗可以悬空

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

应用场景

Profile初始化及修改参数

下图展示了Profile初始化以及修改名称

模组在蓝牙未连接时,串口数据按 AT 指令解析,主机可查询/修改默认参数,流程:

  1. 修改设备名为 ABC

  2. 查询设备名

  3. 查询蓝牙地址

@startuml
hide footbox
skinparam sequenceMessageAlign center


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

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

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

rnote over host, mod: 查询设备名

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

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

host -> mod: AT+ADDR\\r\\n
mod -> 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版本