合宙Cat1模块蓝牙功能介绍

[TOC]

一、背景

1.1、蓝牙概念

蓝牙是一种短距离的无线通信技术,工作在2.4GHZ频段,使用IEEE802.15协议。分为经典蓝牙(BR/EDR/AMP)、低功耗蓝牙(BLE)两种技术标准。

经典蓝牙最早1999年推出的蓝牙1.0版本,到目前最新的蓝牙5.1。通信速度从最早的1.0版本的723.1kbits/s,到5.1版本的48Mbits/s。主要特点如下:

低功耗蓝牙(从蓝牙4.0开始支持),旨在保持同等通信范围的同时显著降低功耗和成本,场景广泛,主要特点如下:

1.2、蓝牙使用场景

蓝牙的两种协议标准各有不同使用场景,合宙Cat1目前只支持了BLE数传应用,这种应用是对LTE长距离通信的一种补充,具体如下:

应用场景 通信方式 是否支持 协议标准
数传应用
穿戴设备
医疗设备
智能家居设备
一对一 已支持 低功耗蓝牙 BLE
位置服务应用
信标服务
室内定位
一对多 开发中 低功耗蓝牙 BLE
音频应用
无线耳机
无线音箱
车载娱乐
一对一 开发中 经典蓝牙(BR/EDR)
数据同步
电话本同步
短信同步
文件传输
一对一 开发中 经典蓝牙(BR/EDR)

下图是对这些分类的具体例子:

二、技术参数

2.1、硬件特性

模块的蓝牙功能需要占用串口2,天线和WiFi公用,所以在使用蓝牙功能后,串口2和WiFi功能将无法使用。

2.2、软件特性

蓝牙协议版本4.2,支持双模。软件主要功能是数据透传。蓝牙协议提供基本的无线通信接口和对端进行连接,连接后可以进行数据传输,具体传输内容可以通过AT指令或二次开发接口进行设置。

三、功能使用

蓝牙工作模式分为两种:主模式和从模式,主模式作为连接的发起方,从模式作为连接的接收方。模块支持的功能如下:

功能 协议标准
双向数据透传(主模式) 低功耗蓝牙 BLE
双向数据透传(从模式) 低功耗蓝牙 BLE
广播单向数传(主模式) 低功耗蓝牙 BLE
SPP数传* 经典蓝牙(BR/EDR)

*表示正在开发中

3.1、环境准备

固件 版本 下载地址
AT >= V301825 暂未对外发布
Lua core >= V3024 代码包下载地址
CSDK core >=V301831 代码包下载地址

3.2、 双向数据透传(主模式):

该模式下,模块作为主设备,根据从设备的MAC地址进行连接,连接成功后进行数据收发。
undefined

undefined
图3.2-1 模块作为主设备,连接蓝牙打印机

3.2.1 主模式Lua接口

接口 功能
btcore.scan 开启/关闭扫描
btcore.connect 连接从设备
btcore.findservice 发现服务
btcore.findcharacteristic 发现服务内的特征
btcore.opennotification 开启/关闭通知
btcore.send 发送数据给从设备
btcore.recv 接收从设备发来的数据

1、接口详细介绍,参考API手册
2、接口demo参考:openLuat/Luat_Lua_Air724U/demo/bluetooth/master.lua

3.2.2 主模式AT指令

接口 功能
AT+BTCOMM=ENABLE 开启/关闭蓝牙
AT+BLESCAN=ENABLE 扫描周围BLE设备
AT+BLECOMM=CONNECT 连接BLE设备
AT+BLECOMM=FINDSERVICE 发现服务
AT+BLECOMM= FINDCHARACTERISTIC 发现服务内的特征
AT+BLECOMM= NOTIFICATION 开启/关闭通知
AT+BTCOMM=SENDDATA 发送数据给从设备
+BLEIND=DATA 接收从设备发来的数据

3.3、 双向数据透传(从模式):

该模式下,主设备(例如手机)可以通过搜索来发现模块,并建立连接,模块默认提供了一种数据透传服务,包含了两种特征值,分别是模块给主设备发送数据、主设备给模块发送数据。

undefined

undefined
图3.3-1 手机连接模块

3.3.1、从模式Lua接口

接口 功能
btcore.advertising 开启/关闭广播
btcore.setname 设置蓝牙名称
btcore.setadvdata 设置广播包数据
btcore.setscanrspdata 设置响应包数据
btcore.addservice 添加服务
btcore.addcharacteristic 添加特征
btcore.adddescriptor 添加描述
btcore.send 发送数据给主设备
btcore.recv 接收主设备发来的数据

1、接口详细介绍,参考API手册
2、接口demo参考:openLuat/Luat_Lua_Air724U/demo/bluetooth/slave.lua

3.3.2、从模式AT指令

接口 功能
AT+BTCOMM=ENABLE 开启/关闭蓝牙
AT+BLECOMM=SETNAME 设置广播名称
AT+BLEADV=ADVDATA 设置广播包数据
AT+BLEADV=SCANRSPDATA 设置响应包数据
AT+BLEADV=ENABLE 打开/关闭广播
AT+BTCOMM=SENDDATA 发送数据给主设备
+BLEIND=DATA 接收主设备发来的数据

3.4、BLE广播模式:

该模式下,可以实现一对多进行广播,应用于极小数据量,单向数据传输的场景。模块本身只作为发射端,不作为接收端。例如:抄表、ibeacon等应用可以用该模式进行。
undefined

3.4.1、广播模式Lua接口

接口 功能
btcore.advertising 开启/关闭广播
btcore.setname 设置蓝牙名称
btcore.setadvdata 设置广播包数据
btcore.setscanrspdata 设置响应包数据
btcore.addservice 添加服务
btcore.addcharacteristic 添加特征
btcore.adddescriptor 添加描述

1、接口详细介绍,参考API手册
2、接口demo参考:openLuat/Luat_Lua_Air724U/demo/bluetooth/slave.lua

3.4.2、广播模式AT命令

接口 功能
AT+BTCOMM=ENABLE 开启/关闭蓝牙
AT+BLECOMM=SETNAME 设置广播名称
AT+BLEADV=ADVDATA 设置广播包数据
AT+BLEADV=SCANRSPDATA 设置响应包数据
AT+BLEADV=ENABLE 打开/关闭广播

上次更新 2021-01-28