应用开发示例

1. 数据透传应用

1.1 什么是透传?

FSC-BT9101AI 蓝牙双模数传模块,工作模式包含两种数据传输模式:透传模式和指令模式。FSC-BT9101AI通用数传固件一般默认数据透传模式,如需切换,可参考 FSC-AT 指令手册 使用 AT+TPMODE 指令来进行切换。两种数据传输模式工作机制与区别如下:

  • 透传模式

蓝牙未连接,串口收到的数据按照AT指令进行解析;

蓝牙连接后,串口收到的数据全部原样发送到远端蓝牙。

  • 指令模式

蓝牙未连接,串口收到的数据按照AT指令进行解析;

蓝牙连接后,串口收到的数据仍然按照AT指令进行解析,需要通过AT指令发送数据给远端,如AT+SPPSEND。

1.2 模块与手机间透传应用

FSC-BT9101

1.3 模块与模块间透传应用

FSC-BT9101AI 与 FSC-BT986 蓝牙模块SPP通讯数据透传演示,如下:

  1. FSC-BT9101AI 扫描附近的蓝牙BR/EDR设备,操作如下:

>>AT+SCAN=1        //扫描附近的蓝牙BR/EDR设备
<<
OK

+SCAN={             //扫描开始
+SCAN=1,2,DC0D3000044F,-58,10,FSC-BT986
+SCAN=2,2,DC0D30000016,-80,20,FSC-BT1038C-AKM-0016
+SCAN=3,2,DC0D300022C1,-84,10,FSC-BT826F
+SCAN=4,2,AC198EAC5DFE,-78,2,FR
+SCAN=5,2,DC0D3053FFEE,-90,16,iMin TF2-34 FFEE
+SCAN=6,2,1418C3B28AC1,-76,15,DESKTOP-U13VRNN
+SCAN=7,2,DC0D3070F37A,-86,5,TT440
+SCAN=8,2,A0B339DB5208,-66,10,QUZHENGWEI
+SCAN=}             //扫描结束
  1. FSC-BT9101AI 通过 AT+SPPCONN 指令与FSC-BT986建立SPP协议连接,操作如下:

>>AT+SPPCONN=DC0D3000044F       //向远端FSC-BT986发起SPP链接
<<
OK           //表示指令发送成功

由于当前是数据透传模式,在蓝牙连接成功后,串口无法收到事件响应指令数据,在此可通过FSC-BT9101AI的Pin33状态指示引脚电平状态来判断当前连接状态,具体如下:
高电平(H):表示蓝牙已成功连接。
低电平(L):表示蓝牙未连接或连接已断开。
  1. 通用数传固件透传模式默认开启,SPP建立连接成功后,即可数据透传通讯,如下图示:

FSC-BT9101

  1. 断开当前蓝牙连接:

因当前是透传模式,串口收到的AT指令将会被当作字符串发送给远端蓝牙设备,指令将无效。
这里MCU可以通过对FSC-BT9101AI的 Pin10(断开连接脚)拉低电平来主动断开当前蓝牙连接。

Pin10(断开连接引脚):在透传模式下,拉低电平可主动断开当前蓝牙连接。

2. 查询/修改模组默认参数

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

  1. 修改设备名为 ABC

发送:AT+NAME=ABC\r\n
响应:\r\nOK\r\n
  1. 查询设备名

发送:AT+NAME\r\n
响应:\r\n+NAME=ABC\r\n
响应:\r\nOK\r\n
  1. 查询蓝牙地址

发送:AT+ADDR\r\n
响应:\r\n+ADDR=DC0D30010203\r\n
响应:\r\nOK\r\n

3. 发送数据的流程

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

  1. 请求建立连接

Module(local)->Remote BT(Remote)
发送:广播包

Remote BT(Remote)->Module(local)
扫描:广播设备和数据

Module(local)->Remote BT(Remote)
发送:广播包

Remote BT(Remote)->Module(local)
发送:请求建立连接
  1. 连接成功

Module(local)->Host(local)
指示:拉高连接状态脚
  1. 本地向远端发送数据

Host(local)->Module(local)
发送:串口输出发送数据 ABC

Module(local)->Remote BT(Remote)
发送:蓝牙发送数据 ABC
  1. 远端向本地发送数据

Remote BT(Remote)->Module(local)
发送:蓝牙发送数据 DEF

Module(local)->Host(local)
发送:串口输出数据 DEF
  1. 断开蓝牙连接

Remote BT(Remote)->Module(local)
操作:断开蓝牙连接

Module(local)->Host(local)
指示:蓝牙连接断开
指示:拉低连接状态脚

Module(local)->Remote BT(Remote)
发送:广播包

4. 模组做主机连接远端设备

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

  1. 扫描附近设备,并请求建立连接

发送:<<AT+SCAN=2\r\n
响应:>>\r\nOK\r\n
响应:>>\r\n+SCAN=0,1,DC0D30001ED4,-65,10,FSC-BT946\r\n

发送:<<AT+LECCONN=DC0D30001ED41\r\n
响应:>>\r\nOK\r\n
  1. 连接成功

指示:拉高连接状态脚(当建立连接成功)
  1. 本地向远端发送数据

发送:蓝牙发送数据 ABC
  1. 远端向本地发送数据

发送:蓝牙发送数据 ABC
  1. 断开蓝牙连接

发送:<<AT+LEDISC\r\n
响应:>>\r\nOK\r\n
  1. 断开连接成功

指示:拉低连接状态脚(成功断开连接)

5. HID数传应用

5.1 指令模式下HID数传应用

手机 与 FSC-BT9101AI 蓝牙模块 基于指令模式下(非透传模式)HID数传连接通讯演示,操作如下

  1. 模块端:通过AT指令切换为指令模式 和 HID 模式,操作如下:

    >>AT+MODE=2        //参数2,切换为HID模式
    <<
    OK
    
    >>AT+TPMODE=0      //设置为指令模式   
    <<
    OK
    
    >>AT+REBOOT        //复位生效
    <<
    OK
    
    +HIDSTAT=1              //重上电主动上报当前HID连接状态
    +VER=1.0.0,FSC-BT9101AI   //重上电主动上报当前固件版本
    +ADDR=DC0D0000000000      
    +MODE=2                 //重上电主动上报当前工作模式,参数2表示HID模式
    
  2. 手机端:打开系统蓝牙,并扫描附近可用 FSC-BT9101AI 蓝牙设备;

  3. 手机端:选择 FSC-BT9101AI HID设备,并进行配对连接。如下图示:

    FSC-BT9101

    模块端:HID连接成功后,主动上报 HID连接状态事件响应,如下:

    +HIDSTAT=3    //参数3表示已建立HID连接
    
  4. 手机端:打开带可输入字符串窗口应用,比如记事本应用。

  5. 模块端:指令模式下需要通过 HID协议 AT指令来发送数据,如下示例:

 >>AT+HIDSEND=3,ABC          //示例通过AT指令发送3个字节长度的数据ABC
 <<
 OK
 +HIDSEND
  1. 手机端:输入接收到的字符串 ABC,如下图示:

FSC-BT9101