ShenzhenRF-starTechnologyCo.
,Ltd.
1低功耗蓝牙(BLE)模块及蓝牙5.
0从协议(CC2640R2FRSM)协议版本:V4.
50u(透传)深圳市信驰达科技有限公司更新日期:2019年11月18日ShenzhenRF-starTechnologyCo.
,Ltd.
2前言如何快速低成本地开发智能手机新外设―论低功耗蓝牙技术在智能移动设备中的应用―USB协议的产生,让个人电脑的外设如雨后春笋般地涌现.
同样,做为智能手机最新开放的低功耗蓝牙(BLE)无线应用技术,也有异曲同工之妙.
BLE技术给电子产品桥接智能手机提供了可能.
相对Wi-Fi,Bluetooth2.
0等无线技术,有着能耗低,连接迅速,通讯距离更远等优势,让智能手机的外围电子设备有了更开阔的发展前景.
做为国际蓝牙联盟(BT-SIG)成员之一,德州仪器(TI)于2015年强势推出CC2640R2F系列单芯片(SOC)低功耗蓝牙收发器,强大的ARMCortex-M3内核,最强优势在于丰富的外围:最多达31个IO(7mm*7mm封装)、UART、SPI、PWM、ADC、analogcomparator、op-amp,超宽的工作电压(1.
8V-3.
8V),极低的能耗(0.
1μA).
为方便低功耗蓝牙(BLE)应用技术在各个行业产品中的移植和使用,在2018年中国TI无线领域战略合作伙伴信驰达科技特别推出了5.
0的低功耗蓝牙透传模块RF-BM-4044B2、RF-BM-4044B3、RF-BM-4044B4.
此类型模块适应市场需求于5.
0协议栈开发,相比于4.
2模块提高到2倍的通信速率、4倍的通信距离、8倍的广播数据传输量.
并且模块做为智能手机外设的桥梁,使得主机端应用开发异常简单.
在桥接模式下(串口),用户的现有产品或者方案配合此透传模块,能十分方便地和移动设备(需支持蓝牙5.
0及以下设备)相互通讯,实现超强的智能化控制和管理.
RF-BM-4044B2、RF-BM-4044B3、RF-BM-4044B4低功耗蓝牙模块,采用TI的CC2640R2F作为核心处理器.
模块运行在2.
4GHzISMband,GFSK调制方式(高斯频移键控),40频道最高2MHz的通道间隙,自定义高达232字节的大广播包,3个固定的广播通道,37个自适应自动跳频数据通道,物理层可以和经典蓝牙RF组合成双模设备,可调的1MHz和2MHz间隙能更好地防止相邻频道的干扰.
宽输出功率调节(-21dBm~+2dBm),-97dBm高增益接收灵敏度.
此模块的设计目的是迅速桥接电子产品和智能移动设备,可广泛应用于有此需求的各种电子设备,如仪器仪表、物流跟踪、健康医疗、智能家居、运动计量、汽车电子、休闲玩具等.
随着安卓4.
3智能设备对BLE技术的集成,智能手机标配BLE必将成为时尚,手机外设的市场需求将成级数倍增.
用户可借此模块,以最短的开发周期整合现有方案或产品,以最快的速度占领市场,同时为企业的发展注入崭新的技术力量.
ShenzhenRF-starTechnologyCo.
,Ltd.
3版本更新记录版本号文档日期更新内容V4.
502019/02/25第一次发布支持AT指令自定义232字节的大广播包数据内容,支持实时更新,掉电保存;支持手动调整物理层带宽,默认1M;支持AT指令调整发射功率,修改广播间隔;支持AT指令附加自定义广播数据,支持实时更新,掉电保存;支持AT指令自定义设备识别码,掉电保存,会包含在广播数据中.
如果是TTM:开头的包,视为AT指令,否则做透传数据处理.
如果以TTM:开头,而后面的字串无法解析,输出"TTM:ERP\r\n\0";默认波特率为115200,可自修改为高速波特率,掉电保存,最低波特率支持4800;发射功率,产品识别码,自定义广播内容,广播周期服务通道设置可以通过APP对这些系统参数进行设置;从TX输出蓝牙正常断线和超时断线字串提示;自定义广播内容掉电保存功能.
连接指示反馈设备的MTU大小和连接间隔;V4.
502019/03/19修复名称修改只到15字节的问题修复防劫持秘钥20S断开功能V4.
502019/04/22修正文档中部分描述错误加入基本的硬件规格说明;V4.
502019/06/20更新文档速率和发包说明更新硬件规格说明;V4.
502019/07/05新增AT指令查询版本号;新增AT指令修改密码,删除密码;V4.
502019/11/18新增AT指令设定数据延时注:1、文档会不定期优化更新,在使用此文档前,请确保是最新版本;2、获取最新协议或文档,请到信驰达科技官方网址下载:ShenzhenRF-starTechnologyCo.
,Ltd.
4目录前言.
2版本更新记录.
3目录.
4概述.
6工作模式示意图.
8封装尺寸及脚位定义.
9RF-BM-4044B2、RF-BM-4044B3.
9RF-BM-4044B4.
12串口透传协议说明(桥接模式)14串口AT指令.
16连接间隔设定.
16获取模块名称.
16模块重命名.
16获取波特率.
17波特率设定.
17获取物理地址MAC.
17设置模块MAC地址.
17获取模块版本号.
17获取模块连接密码.
18设置模块连接密码.
18模块复位—上电复位.
18模块复位—浅恢复.
18模块复位—深度恢复.
18EN脚内部使能.
18广播周期设定.
19附加自定义广播内容.
19定义产品识别码.
19发射功率设定.
20自定义大广播包数据.
20设置物理层数据率.
20数据延时设定.
20AT指令表.
21ShenzhenRF-starTechnologyCo.
,Ltd.
5BLE协议说明(APP接口)24蓝牙数据通道【服务UUID:0xFFE5】24串口数据通道【服务UUID:0xFFE0】24模块参数设置【服务UUID:0xFF90】24设备信息【服务UUID:0x180A】27防劫持密钥【服务UUID:0xFFC0】28广播数据设置.
30系统复位与恢复.
31用APP测试透传功能.
32主机参考代码(透传)34IOSAPP编程参考.
35联系我们.
37附录:BLE模块应用方案提示.
38附录:BLE模块硬件规格说明.
39ShenzhenRF-starTechnologyCo.
,Ltd.
6概述模块暂时只工作在桥接模式(透传模式).
模块启动后会自动进行广播,已打开特定APP的手机会对其进行扫描和对接,成功之后便可以通过BLE协议对其进行监控.
桥接模式下,用户CPU可以通过模块的通用串口和移动设备进行双向通讯,用户也可以通过特定的串口AT指令,对某些通讯参数进行管理控制.
用户数据的具体含义由上层应用程序自行定义.
移动设备可以通过APP对模块进行写操作,写入的数据将通过串口发送给用户的CPU.
模块收到来自用户CPU串口的数据包后,将自动转发给移动设备.
此模式下的开发,用户必须负责主CPU的代码设计,以及智能移动设备端APP代码设计.
主要特点:1、5.
0协议栈开发,与4.
2相比有2倍的速率,4倍的通信距离,8倍的广播包内容长度;2、支持手动调整物理层带宽,提升通信距离和速率;3、连接指示设备的MTU大小,灵活分配数据包大小;4、此模块使用简单,无需任何蓝牙协议栈应用经验;5、用户接口使用通用串口设计,全双工双向通讯,最低波特率支持4800bps;6、默认20ms连接间隔,连接快速;7、支持AT指令软件复位模块,获取MAC地址;8、串口数据包长度,可以是1024Byte以下(含1024)的任意长度(大包自动分发);9、支持AT指令调整蓝牙连接间隔,控制不同的转发速率(动态功耗调整);10、支持AT指令调整发射功率、修改广播间隔、自定义广播数据、自定义设备识别码、修改串口波特率,修改模块名;11、高速透传转发(主从模块之间),可以达到最快16K/S的稳定速率;12、支持移动设备APP修改模块名称、修改串口波特率、产品识别码、自定义广播内容、广播周期;13、支持移动设备APP对模块进行远程复位,设置发射功率;14、支持移动设备APP调节蓝牙连接间隔(动态功耗调整);15、支持连接状态、广播状态提示脚;16、支持移动设备APP对模块进行远程恢复初始化;17、支持从TX串口获取蓝牙连接状态(连接,正常断线和超时断线)字串提示;ShenzhenRF-starTechnologyCo.
,Ltd.
718、极低功耗的待机模式,CC2640R2F芯片官方数据睡眠电流0.
1μA,模块实测功耗如下:*1注:官方测试方式:在电源回路上串一个10R的电阻,使用示波器截取压降波形,进行积分计算.
*2注:万用表测试方式:用万用表μA或mA档串在电池与模块之间查看显示值.
测试电压为3.
3V.
*3注:小壁虎测试方式:把小壁虎(SiliconLabs)工具接入到模块电源回路中,打开官方软件SimplicityStudio进行监测功耗波形数据,自动积分计算功耗值.
以上数据为信驰达模块RF-BM-4044B2抽样实测数据,仅供参考.
如果希望得到更低功耗,可适当增大连接间隔或者广播周期,详见《模块参数设置》和《串口AT指令》相关章节.
RF-BM-4044B2RF-BM-4044B3RF-BM-4044B4事件平均电流(小壁虎测量*3默认)测试条件/备注开启EN内部上拉关闭EN内部上拉模块睡眠功耗2.
12μAEN为高电平广播842μA616μA广播周期200ms(默认)广播340μA128.
89μA广播周期1000ms广播234μA26μA广播周期5000ms连接事件1.
3mA1.
12mA连接间隔20ms模块接收串口数据并发送给APP3.
7mA3.
5mA(20bytes,10次/秒)连接间隔100ms模块接收APP数据并发送给MCU3.
99mA3.
78mA(20bytes,10次/秒)连接间隔100msShenzhenRF-starTechnologyCo.
,Ltd.
8工作模式示意图图1模块桥接模式示意图注:为避免用户MCU的IO和模块IO的输出电平差异导致大电流,建议在模块的输出信号线TX,BCTS上串入一小额隔离电阻.
ShenzhenRF-starTechnologyCo.
,Ltd.
9封装尺寸及脚位定义RF-BM-4044B2、RF-BM-4044B3RF-BM-4044B2和RF-BM-4044B3是引脚兼容的,两者的区别是RF-BM-4044B2使用的是板载天线,而RF-BM-4044B3使用的是带IPEX天线座的外置天线,RF-BM-4044B2的尺寸比RF-BM-4044B3的尺寸稍微长一些(天线部分).
图2RF-BM-4044B2尺寸图图3RF-BM-4044B3尺寸图ShenzhenRF-starTechnologyCo.
,Ltd.
10图4模块引脚图引脚定义表模块脚位序号模块脚位名称芯片脚位名称输入/输出说明Pin1GND--模块地GNDPin2VCC--模块电源正极1.
8V~3.
8VPin3TMS-I/O接XDS仿真器TMSPin4TCK-I/O接XDS仿真器TCKPin5RST--复位输入脚,低电平有效,无内部上拉Pin6ENP06I模块使能控制线(低电平有效)0:模块开始广播,直到连接到移动设备1:无论模块当前状态,立即进入完全睡眠状态(0.
1μA)Pin7-P09I/OPin8GND--模块地GNDPin9GND--模块地GNDPin10RESTOREP08I/O恢复出厂设置触发模块上电后保持此引脚低电平5s,系统会恢复部分参数(浅恢复),若保持20s以上则将会恢复全部参数(深度恢复)(见《系统复位与恢复》系统复位与恢复章节)Pin11-P07I/OPin12链路指示P05O链路指示0:蓝牙已连接1:蓝牙未连接ShenzhenRF-starTechnologyCo.
,Ltd.
11Pin13广播指示P04O广播指示0:开启广播1:关闭广播Pin14BRTSP03作为数据发送请求(用来唤醒模块)0:主机有数据发送,模块将等待接收来自主机的数据,此时模块不睡眠1:主机无数据发送,或主机数据发送完毕之后,应该将此信号线置1Pin15BCTSP02O数据输入信号(用来唤醒主机,可选)0:模块有数据发送到主机,主机接收模块数据1:模块无数据发送到主机,或模块数据发送完毕之后,会将此信号置1Pin16TXP01O模块串口发送端Pin17RXP00I模块串口接收端Pin18NC--说明1:模块广播时(此状态下,可被发现,被连接)有以下特性:1、如果EN脚(Pin6)被使能后(置低),模块会保持一直广播,直到被连接,或者EN被置高.
2、正常断开或者超时断开后,只要EN置低,模块总会保持广播,直到再次被连接.
说明2:P04作为广播指示脚,当模块开启广播输出低电平,当模块关闭广播输出高电平;P05做为链路指示脚,当蓝牙已连接输出低电平,当蓝牙未连接或者断开(超时断开和APP主动断开)后处于未连接状态时,输出高电平.
模块状态使能后未连接连接正常断开超时断开P04提示方式P05提示方式P04提示方式P05提示方式P04提示方式P05提示方式P04提示方式P05提示方式电平使能模式低电平广播高电平未连接高电平未广播低电平连接低电平广播高电平未连接低电平广播高电平未连接ShenzhenRF-starTechnologyCo.
,Ltd.
12RF-BM-4044B4图5RF-BM-4044B4尺寸图图6模块引脚图ShenzhenRF-starTechnologyCo.
,Ltd.
13引脚定义表模块脚位序号模块脚位名称芯片脚位名称输入/输出说明Pin1RXP00I模块串口接收端Pin2TXP01O模块串口发送端Pin3BCTSP02O数据输入信号(用来唤醒主机,可选)0:模块有数据发送到主机,主机接收模块数据1:模块无数据发送到主机,或模块数据发送完毕之后,会将此信号置1Pin4BRTSP03I作为数据发送请求(用来唤醒模块)0:主机有数据发送,模块将等待接收来自主机的数据,此时模块不睡眠1:主机无数据发送,或主机数据发送完毕之后,应该将此信号线置1Pin5TMS-I/O接XDS仿真器TMSPin6TCK-I/O接XDS仿真器TCKPin7广播指示P04O广播指示0:开启广播1:关闭广播Pin8RES--复位输入脚,低电平有效,无内部上拉Pin9-P09I/OPin10RESTOREP08I/O恢复出厂设置触发模块上电后保持此引脚低电平5s,系统会恢复部分参数(浅恢复),若保持20s以上则将会恢复全部参数(深度恢复)(见《系统复位与恢复》系统复位与恢复章节)Pin11-P07I/OPin12ENP06I模块使能控制线(低电平有效)0:模块开始广播,直到连接到移动设备1:无论模块当前状态,立即进入完全睡眠状态(0.
1μA)Pin13链路指示P05O链路指示0:蓝牙已连接1:蓝牙未连接Pin14VCC--模块电源正极,1.
8V~3.
8V,推荐3.
3VPin15GND--模块地GNDPin16EXTANT--外接天线输出ShenzhenRF-starTechnologyCo.
,Ltd.
14串口透传协议说明(桥接模式)模块的桥接模式是指,通过通用串口和用户CPU相连,建立用户CPU和移动设备之间的双向通讯.
用户可以通过串口,使用指定的AT指令对串口波特率,BLE连接间隔进行重设置(详见后面《串口AT指令》章节).
针对不同的串口波特率以及BLE连接间隔,以及不同的发包间隔,模块将会有不同的数据吞吐能力.
此型号模块和信驰达CC2640蓝牙5.
0主模块之间设定波特率为921600bps、最小连接间隔为10ms时,模块能达到最高16K/S的有效转发速率;此模块和手机通信,在波特率为921600连接间隔为30ms时,有效转发速率为5K/S.
模块可以根据获取到的已连接设备的MTU自定义串口包,模块会根据数据包大小自动分包发送,每个无线包最大载荷为MTU减去3个字节(例如:模块和苹果手机连接,获取MTU为185,则模块发送数据给手机每个最大的包为182个字节).
移动设备方发往模块的数据包,必须自行分包(每包1个字节到(MTU-3)个字节之间)发送.
模块收到无线包后,会依次转发到主机串口接收端.
1、串口硬件协议:115200bps,8,无校验位,1停止位.
2、EN为高电平,蓝牙模块处于完全睡眠状态.
EN置低时,模块会以200ms的间隔开始广播,直到和手机对接成功.
当EN从低到高跳变,不论模块状态,会立即进入睡眠.
3、连接成功之后,主机(MCU)如有数据发送至BLE模块,需将BRTS拉低,主机可在约50ms后开始发送数据.
发送完毕之后主机应主动抬高BRTS,让模块退出串口接收模式.
要注意的是,数据发送完毕后也要延时一段时间,抬高BRTS之前请确认串口数据完全发送完毕,否则会出现数据截尾现象.
4、当模块有数据上传请求时,模块会置低BCTS,开始发送,直到数据发送完毕.
数据发送完毕,模块会将BCTS置高.
5、如若主机的BRTS一直保持低电平,则蓝牙模块会一直处于串口接收模式,会有较高的功耗.
6、在模块连接成功后,会从TX给出"TTM:CONNECTED"字串,可以根据此字串来确定是否可以进行正常转发操作.
当然也可以使用连接状态提示脚,也可以通过手机发送一个特定的确认字串到模块,主机收到后即可确认已经连接.
当连接被APP端主动断开后,会从TX给出"TTM:DISCONNECT"字串提示,如果是非正常断开,会从TX给出"TTM:DISCONNECTShenzhenRF-starTechnologyCo.
,Ltd.
15FORTIMEOUT"字串提示.
7、模块的蓝牙默认连接间隔为20ms,如果需要节省功耗采用低速转发模式,需通过AT指令调整连接间隔(最长连接间隔2000ms),每个连接间隔最多传输248个字节,连接间隔为T(单位:ms),那么每秒最高转发速率V(单位byte/s)为:V=248*1000/T(V只和T有关)如果模块的蓝牙连接间隔为10ms,而每个间隔最多传输248byte有效数据,因此理论最高传输能力(转发速率)为248*1000/10=24.
8KByte/s.
测试表明,转发速率在16K/s以下,在信号较好时,基本上无漏包情况.
安全起见,无论是低速或者高速转发应用,都建议在上层做校验重传处理.
注:Android的MTU为251字节,IOS的为185字节,发送时每包大小为MTU-3个字节.
8、串口数据包的大小可以不定长,长度可以是1K字节以下的任意值,同样满足以上条件即可.
但为最大效率地使用通讯的有效载荷,同时又避免通讯满负荷运行,推荐使用20,80,248字节长度的串口数据包,包间间隔取大于20ms.
注:经测试,在IOS中,调用对Characteristic的写函数使用CBCharacteristicWriteWithResponse参数,使用带回应写模式,这种模式会降低部分转发效率,但可保证单个数据包的正确性,而使用CBCharacteristicWriteWithoutResponse参数,使用不带回应写模式,这种模式会有利于提高转发效率,但数据包的正确性需要APP上层去校验.
ShenzhenRF-starTechnologyCo.
,Ltd.
16串口AT指令以"TTM"开头的字串会当成AT指令进行解析并执行,之后会追加输出执行结果,"TTM:OK\r\n\0"或"TTM:ERP\r\n\0"等.
不以"TTM"开头的串口数据包,将被视为透传数据.
连接间隔设定向串口RX输入以下字串,设定BLE连接间隔:"TTM:CIT-Xms"其中X="20","30","50","100","200","300","400","500","1000","1500","2000",单位ms(以上数据格式都为ASCII码).
如"TTM:CIT-30ms"表示设定连接间隔为30ms.
在执行完此指令之后,会从串口TX得到以下确认:"TTM:TIMEOUT"表示更改超时,修改失败;"TTM:OK"表示更改成功,正以新的连接间隔在运行.
注:只有在连接成功后更改此指令才有效.
获取模块名称向串口RX输入以下字串:"TTM:NAM-"会从TX收到:"TTM:NAM-xxxxxxxxxxxx\r\n\0"字串后面"xxxxxxxxxxxx"为蓝牙模块名称.
模块重命名向串口RX输入以下字串,其中"Name"为模块名称,长度为16个字节以内,ASCII码格式,"TTM:REN-"+Name如"TTM:REN-ABC123"表示将模块重命名为"ABC123".
若修改成功则会从TX收到"TTM:OK"确认,如果指令格式不对,则会返回:"TTM:ERP"测试表明,设备名称修改在iOS系统中无法立即变更,在android系统中可以实现立即变更.
用户可以通过PC进行设置后使用,也可以通过移动设备的BLEAPP接口进行设置.
见《模块参数设置【服务UUID:0xFF90】》.
ShenzhenRF-starTechnologyCo.
,Ltd.
17获取波特率向串口RX输入以下字串,设定波特率:"TTM:BPS-"会从TX收到:"TTM:BPS-X"其中X="4800","9600","19200","38400","57600","115200","256000","512000","921600",(以上数据格式都为ASCII码).
波特率设定向串口RX输入以下字串,设定波特率:"TTM:BPS-X"其中X="4800","9600","19200","38400","57600","115200","256000","512000","921600",(以上数据格式都为ASCII码).
如"TTM:BPS-115200"表示设定波特率为115200bps.
在执行完此指令之后,会从串口TX得到以下确认:"TTM:BPSSETAFTER2S.
.
.
",如果设置值不在选项中,或者指令格式不对,则返回:"TTM:ERP\r\n\0"获取物理地址MAC向串口RX输入以下字串:"TTM:MAC-"会从TX收到:"TTM:MAC-xxxxxxxxxxxx"字串后面"xxxxxxxxxxxx"为6字节模块蓝牙地址.
设置模块MAC地址向串口RX输入以下字串:"TTM:MAC-xxxxxxxxxxxx",其中"xxxxxxxxxxxx"为待设置的6字节模块蓝牙地址.
会从TX脚收到"TTM:OK\r\n\0"确认,如果指令格式不对,则会返回:"TTM:ERP\r\n\0"设定掉电保存,重启模块后,模块将按照新的MAC地址进行工作.
获取模块版本号向串口RX输入以下字串:"TTM:VER-"ShenzhenRF-starTechnologyCo.
,Ltd.
18会从TX脚收到"TTM:VER-XXXXXX",X为模块的版本号,如果指令格式不对,则会返回:"TTM:ERP\r\n\0"获取模块连接密码向串口RX输入以下字串:"TTM:PWD-"会从TX脚收到"TTM:PWD-XXXXXX",X为6个字节的连接密码,如果指令格式不对,则会返回:"TTM:ERP\r\n\0"设置模块连接密码向串口RX输入以下字串,可以设置或者更改模块的连接密码,长度为6个字节的数字格式.
"TTM:PWD-xxxxxx"会从TX脚收到"TTM:OK-xxxxxx\r\n\0"确认,如果指令格式不对,则会返回:"TTM:ERP\r\n\0"模块复位—上电复位向串口RX输入以下字串:"TTM:RST-SYSTEMRESET"会迫使模块软复位一次.
模块复位—浅恢复向串口RX输入以下字串:"TTM:RST-RSTPWD"会迫使模块浅复位一次.
这次浅复位是恢复模块的密码参数.
模块复位—深度恢复"TTM:RST-RESET"会迫使模块深度复位一次.
这次深度复位是恢复模块所有修改过的参数,使其恢复到出厂状态.
EN脚内部使能向串口RX输入以下字串,设置EN脚开启内部上拉,默认状态.
ShenzhenRF-starTechnologyCo.
,Ltd.
19"TTM:EUP-ON\r\n\0"向串口RX输入以下字串,设置关闭EN脚开启内部上拉,EN脚拉低使能广播时,能节省120多μA电流.
"TTM:EUP-OFF\r\n\0"设置成功后TX脚收到"TTM:OK\r\n\0"确认,如果指令格式不对,则会返回:"TTM:ERP\r\n\0"注:此参数掉电不保存,并且掉电后默认恢复上拉状态.
广播周期设定向串口RX输入以下字串,设置模块的广播周期:"TTM:ADP-(X)"其中X="20","50","100","200","500","1000","1500","2000","2500","3000","4000","5000"之一(以上数据格式都为ASCII码).
如"TTM:ADP-(200)"表示设定广播周期为200ms.
若修改成成功则会从TX脚收到"TTM:OK"确认,如果指令格式不对,则会返回:"TTM:ERP"重启模块后,模块将按照新的广播周期进行广播.
附加自定义广播内容向串口RX输入以下字串,自定义广播内容:"TTM:ADD-"+Data其中Data为准备附加的广播的数据,长度0
",会从TX脚收到"TTM:OK"确认,如果指令格式不对,则会返回:"TTM:ERP"此指令设置后立即生效,可以通过此功能广播一些自定义内容,数据掉电保存.
如果设置为16个全0(0x00)数据,则认为不使用自定义广播数据,而是使用默认广播内容.
定义产品识别码向串口RX输入以下字串,自定义产品识别码:"TTM:PID-"+Data其中Data为两个字节的产品识别码,范围0x0000~0xFFFF(L=2),每个字符以ASCII码格式向串口RX输入.
例如向串口RX输入"TTM:PID-RS"("RS对应的十六进制为0x5253"),会从TX脚收到"TTM:OK"确认,如果指令格式不对,则会返回:"TTM:ERP"ShenzhenRF-starTechnologyCo.
,Ltd.
20此识别码掉电保存,会出现在广播中,可以以此来过滤设备或判断是否是特定的产品.
发射功率设定向串口RX输入以下字串,设置相应的发射功率,单位dBm.
"TTM:TPL-(X)"其中X="2","1","0","-3","-6","-9","-12","-15","-18","-21"(以上数据格式都为ASCII码).
如"TTM:TPL-(2)"表示设定发射功率为+2dBm.
之后会从TX脚收到"TTM:OK"确认,并且模块立即使用新的发射功率进行通讯,如果指令格式不对,则会返回:"TTM:ERP".
自定义大广播包数据向串口RX输入以下字串,设置相应的物理层数据率.
"TTM:ADL-"+Data其中Data为准备附加的广播的数据,长度0
.
.
.
.
.
.
.
9",会从TX脚收到"TTM:OK"确认,如果指令格式不对,则会返回:"TTM:ERP"此指令设置后立即生效,可以通过此功能设置蓝牙5.
0的大广播包数据内容,此数据掉电保存.
设置物理层数据率向串口RX输入以下字串,设置相应的物理层数据率.
"TTM:PHY-(x)"其中x="1","2","3","4","5","6"表示连接时使用的物理层模式分别代表"1MPHY","2MPHY","1M+2MPHY","CODEDPHY(Longrange)","1M+2M+CODEDPHY","AutoPHY".
设置成功会从TX脚收到"TTM:OK\r\n\0"并返回所设置的对应参数值,并且接下来的通信会按照这个数据率进行传输.
如果指令的格式不对则会返回:"TTM:ERP\r\n\0".
数据延时设定向串口RX输入以下字串,设置BCTS输出低到串口TX输出数据之间的延时,单位ms.
"TTM:CDL-Xms"其中X="0","2","5","10","15","20","25"之一(以上数据格式都为ASCII码).
如"TTM:CDL-2ms"表示设定延时为2ms,如果指令无误,会从TX收到"TTM:OK\r\n\0"确认,如果指令格式不对,则会返回:"TTM:ERP\r\n\0".
为让用户CPU有足够的时间从睡眠中唤醒,到准备接收,模块提供了这个延时(X)设定,在模块串口有数据发出之前会置低BCTS,而BCTS输出低到模块TX输出数据之间的延时由ShenzhenRF-starTechnologyCo.
,Ltd.
21此参数设定.
可以保证最小延时不小于X,实际延时会是T=(X+Y)ms,其中500μs
BCTS串口数据提醒信号TX_DATA模块串口输出数据T=X+Y模块串口输出数据延时设定示意图AT指令表AT指令格式掉电保存参数说明可能的回应含义TTM:CIT-Xms(连接成功后才有效)否X="20","30","50","100","200","300","400","500","1000","1500","2000"设置相应的BLE连接间隔,单位msTTM:TIMEOUT\r\n\0TTM:OK\r\n\0TTM:ERP\r\n\0设置超时设置成功错误参数TTM:NAM-是获取模块名称TTM:NAM-xxxxxxxxxxxx,"xxxxxxxxxxxx"为模块名称返回模块名称TTM:REN-Name是Name,新模块名,长度为16字节以内的任意字串.
TTM:OK\r\n\0TTM:ERP\r\n\0设置成功错误参数TTM:BPS--获取波特率TTM:BPS-X,"X"为波特率返回波特率TTM:BPS-X是X="4800","9600","19200","38400","57600","115200","256000","512000","921600".
设置相应的波特率TTM:BPSSETAFTER2S.
.
.
\r\n\0TTM:ERP\r\n\0设置成功,会在两秒后使用新的波特率错误参数TTM:MAC--获取MAC地址TTM:MAC-xxxxxxxxxxxx,"xxxxxxxxxxxx"为模块MAC地址返回MAC地址ShenzhenRF-starTechnologyCo.
,Ltd.
22TTM:MAC-X是X为12位MAC字符,比如123456789ABCTTM:OK\r\n\0TTM:ERP\r\n\0设置成功错误参数TTM:VER--获取版本号"TTM:VER-XXXXXXX为模块版本号返回版本号TTM:PWD--获取密码"TTM:PWD-XXXXXX"返回密码TTM:PWD-xxxxxx是X为6位纯数字,比如123456"TTM:OK-xxxxxx\r\n\0""TTM:ERP\r\n\0"返回MAC地址错误参数TTM:RST-SYSTEMRESET-让模块系统复位Moduleisworking!
复位模块TTM:RST-RSTPWD-浅恢复Moduleisworking!
恢复出厂密码TTM:RST-RESET-深度恢复Moduleisworking!
恢复所有参数TTM:EUP-ON否开启EN脚上拉使能TTM:OK\r\n\0EN脚内部上拉开启TTM:EUP-OFF否关闭EN脚上拉使能TTM:OK\r\n\0EN脚内部上拉关闭TTM:ADP-(X)是X="20","50","100","200","500","1000","1500","2000","2500","3000","4000","5000"之一.
TTM:OK\r\n\0TTM:ERP\r\n\0设置广播周期,如设为"TTM:ADP-(200)"表示设定广播周期为200ms.
TTM:ADD-Data是Data为自定义广播数据,数据长度L<=16Byte;TTM:OK\r\n\0TTM:ERP\r\n\0设置自定义广播内容TTM:PID-Data是Data为自定义产品识别码,数据长度L=2,默认为5246;TTM:OK\r\n\0TTM:ERP\r\n\0设置自定义产品识别码TTM:TPL-(X)否X="2","1","0","-3","-6","-9","-12","-15","-18","-21"设置相应的发射功率,单位dBmTTM:OK\r\n\0TTM:ERP\r\n\0设定发射功率TTM:ADL-Data是Data为自定义大广播包内容,数据长度L<=232,默认全为0;TTM:OK\r\n\0TTM:ERP\r\n\0设定5.
0特有的大广播包自定义内容TTM:PHY-(x)否x="1","2","3","4","5","6"设连接时物理层的模式分别表示:1:1MPHY2:2MPHY3:1M+2MPHY"TTM:OK\r\n\0""TTM:ERP\r\n\0"设置物理层数据率ShenzhenRF-starTechnologyCo.
,Ltd.
234:CODEDPHY(Longrange)5:1M+2M+CODEDPHY6:AutoPHYTTM:CDL-Xms是X="0","2","5","10","15","20","25",设置BCTS输出低到串口输出数据之间的延时,单位msTTM:OK\r\n\0TTM:ERP\r\n\0最小延时不于X,实际延时会是X+Yms,500μs
ShenzhenRF-starTechnologyCo.
,Ltd.
24BLE协议说明(APP接口)蓝牙数据通道【服务UUID:0xFFE5】特征值UUID可执行的操作字节数默认值备注FFE9WriteMTU-3无写入的数据将会从串口TX输出说明:蓝牙输入转发到串口输出.
APP通过BLEAPI接口向此通道写操作后,数据将会从串口TX输出.
详细操作规则见《串口透传协议说明(桥接模式)》章节.
串口数据通道【服务UUID:0xFFE0】特征值UUID可执行的操作字节数默认值备注FFE4NotifyMTU-3无从串口RX输入的数据将会在此通道产生通知发给移动设备说明:串口输入转发到蓝牙输出.
如果打开了FFE4通道的通知使能开关,主CPU通过串口向模块RX发送的合法数据后,将会在此通道产生一个notify通知事件,APP可以直接在回调函数中进行处理和使用.
详细操作规则见《串口透传协议说明(桥接模式)》章节.
注:MTU指最大传输单元(MaximumTransmissionUnit,MTU),通信协议所能通过的最大数据包大小(以字节为单位).
模块参数设置【服务UUID:0xFF90】特征值UUID可执行的操作字节数默认值备注FF91Read/Write16Tv450u-xxxxxxxx(带结束符的ASCII字串)设备名称,xxxxxxxx为物理地址的后四个字节ShenzhenRF-starTechnologyCo.
,Ltd.
25FF92Read/write10蓝牙通讯连接间隔:0:10ms1:20ms2:30ms3:50ms4:100ms5:200ms6:300ms7:400ms8:500ms9:1000ms10:1500ms11:2000msFF93Read/write15设定串口波特率:0:4800bps1:9600bps2:19200bps3:38400bps4:57600bps5:115200bps6:256000bps7:512000bps8:921600bpsFF94write1无远程复位恢复控制通道:远程复位控制,写入0x55对模块进行复位远程深度恢复控制,写入0x36对模块进行深度恢复(让模块所有参数回到出厂设置),并复位ShenzhenRF-starTechnologyCo.
,Ltd.
26FF95Read/write13设定广播周期:0:20ms,1:50ms,2:100ms,3:200ms,4:500ms,5:1000ms,6:1500ms,7:2000ms,8:2500ms,9:3000ms,10:4000ms,11:5000ms.
FF96Read/write20x5246设定产品识别码FF97Read/write17设定发射功率:0:-21dBm1:-18dBm2:-15dBm3:-12dBm4:-9dBm5:-6dBm6:-3dBm7:0dBm8:1dBm9:2dBmFF98Read/write16默认广播内容(详见《广播数据设置》章节)设定自定义广播数据自定义广播数据,0
可以通过对此通道进行读写操作,来获取和设定模块名称.
设置的名称长度L,必须满足0
FF92为模块连接间隔设置通道.
可以通过对此通道进行写操作,来设定移动设备和模块之间的连接间隔,借此可以灵活控制设备功耗及数据吞吐量.
在对此通道进行写操作之后,会ShenzhenRF-starTechnologyCo.
,Ltd.
27从串口TX得到以下确认:"TTM:TIMEOUT"表示更改超时,修改失败;"TTM:OK"表示更改成功,正以新的连接间隔在运行.
测试表明,使用iphone4s(IOS5.
1.
1)从连接间隔为500ms修改为其他连接间隔,需要大约30s的等待时间.
相反从高频度的连接间隔(如50ms)进行变更,会有很高的执行效率(BLE协议导致).
FF93为模块串口波特率设置通道.
可以通过对此通道进行读写操作,来设定模块通用串口波特率,两秒后开始启用新的波特率.
出厂设置默认为5(115200bps).
FF94为远程复位恢复控制通道,通过写入不同值,可以实现不同的控制功能.
1、对此通道写入0x55,对模块进行软件复位.
2、过此通道写入0x36,对模块进行深度恢复,所有系统参数将恢复到出厂设置控制,之后会复位模块.
FF95为模块广播周期设置通道.
可以通过对此通道进行读写操作,来设定模块广播周期.
出厂设置默认为3(200ms).
FF96为模块产品识别码设置通道.
可以通过对此通道进行读写操作,来设定模块识别码,APP端可以通过此识别码来进行过滤和连接指定的产品类型.
出厂设置默认为0x5246.
FF97为模块发射功率设置通道.
可以通过对此通道进行写操作,来设定模块发射功率.
出厂设置默认为7(0dBm).
FF98为模块一般广播内容设置通道.
可以通过对此通道进行写操作,来自定义模块的广播数据.
当数据为全0(16Byte)时,认为不使用自定义广播数据,而使用默认的广播数据,详见《广播数据设置》章节.
FF99为模块大广播内容设置通道.
可以通过对此通道进行写操作,来自定义模块的大广播数据.
当数据为全0(232Byte)时,认为不使用自定义广播数据,而使用默认的广播数据,详见《广播数据设置》章节.
设备信息【服务UUID:0x180A】特征值UUID可执行的操作字节数默认值备注2A23Read8xxxxxx0000xxxxxx(Hex)系统ID,xxxxxxxxxxxx为模块芯片物理地址,低字节在前2A26Read6V4.
50u(ASCII)模块软件版本号ShenzhenRF-starTechnologyCo.
,Ltd.
28说明:模块信息读取通道.
2A23为模块信息获取通道,可以通过对此通道进行读操作,来获取此模块ID.
格式如xxxxxx0000xxxxxx,其中xx部分为模块芯片的物理地址MAC,六个字节,低字节在前.
2A26为模块软件版本号读取通道,可以通过对此通道进行读操作,来获取模块软件版本,格式为Vx.
xx.
x.
xx为固件版本号.
防劫持密钥【服务UUID:0xFFC0】模块支持防劫持加密,此服务可以有效防止被非授权移动设备(手机)连接到此模块.
模块的初始密码为000000(ASCII),此情况下APP无需提交密码,视为不使用密码,任何安装指定APP的移动设备可以对其发起连接.
新密码(非全0)的设置和备份保存由APP完成,如果设置了新密码(非全0),开始启用防劫持密码.
在APP对此模块进行连接后,必须在蓝牙连接后的20秒内向模块提交一次曾经设置的连接密码,否则模块会断开连接.
在APP提交正确密码到模块之前,无法对服务通道进行任何除提交密码之外的写操作.
为了安全起见,模块不提供密码读操作,密码的记忆由APP来负责.
协议提供了密码通道来实现密码的提交,修改,和取消密码服务.
同样也提供了密码事件通知服务来通知APP对密码操作的结果,其中包括密码正确,密码错误,密码修改成功,取消使用密码四个事件.
特征值UUID可执行的操作字节数举例备注FFC1(handle:0x0045)write(掉电保存)12"123456123456"(ASCII)提交当前密码123456,新密码和旧密码必须一致"123456888888"(ASCII)把旧密码123456修改为新密码888888,旧密码必须正确"888888000000"(ASCII)取消密码,新密码修改为000000,旧密码必须正确FFC2(handle:0x0048)notify10(PWD_RIGHT_EVENT)提交密码正确1(PWD_ERROR_EVENT)提交密码错误2(PWD_UPDATED_EVENT)密码修改成功3(PWD_CANCEL_EVENT)取消密码ShenzhenRF-starTechnologyCo.
,Ltd.
29说明:1、密码结构为12字节ASCII码,红色部分为当前密码,蓝色部分为新密码;2、当前密码在被APP修改之前,默认为"000000";3、通过打开通道FFC2的通知使能(如果使用BTool操作,需向0x0048+1=0x0049写入0100),将会在此通道产生有关密码操作的执行结果通知.
4、当APP提交密码"123456123456",新密码和当前密码相同,APP会在FFC2通道得到通知notify:0(PWD_RIGHT_EVENT),表示提交密码正确;5、当APP提交密码(红色部分)和当前密码不一致,如:"123455xxxxxx",x部分不论是何值,APP会在FFC2通道得到通知notify:1(PWD_ERROR_EVENT),表示密码提交错误;6、当APP提交密码"123456888888",新密码为"888888",当前密码为"123456",APP会在FFC2通道得到通知notify:2(PWD_UPDATED_EVENT),表示密码修改成功;7、当APP提交密码"888888000000",新密码被修改为全0,则表示取消使用密码,APP会在FFC2通道得到通知notify:3(PWD_CANCEL_EVENT).
ShenzhenRF-starTechnologyCo.
,Ltd.
30广播数据设置默认广播数据:当模块的EN脚被置低后,模块将会进行间隔为200ms的广播,在广播数据中的GAP_ADTYPE_MANUFACTURER_SPECIFIC(IOS编程中官方定义宏)域中包含了以下内容,默认广播内容为3个字节:{0x00,0x00,自定义设备类型编码,默认为0000,可由AT指令进行设定;0x00,模块供电电量百分比,2.
0V=0%.
}自定义广播数据:如果使用AT指令自定义了广播内容,最大长度为16字节(蓝色部分),在广播数据中的GAP_ADTYPE_MANUFACTURER_SPECIFIC域中将包含了以下内容,长度为2+n个字节:{0x00,0x00,自定义设备类型编码,默认为0000,可由AT指令进行设定;Data[n],自定义广播数据,n<=16;}自定义大广播数据:如果使用AT指令自定义了大广播内容,最大长度为232字节(蓝色部分).
此大广播包为5.
0蓝牙特点,最大自定义字节可达232,需要支持5.
0的设备或者APP才能看到其广播的内容:注:自定义广播数据可通过AT指令修改,并且掉电保存.
重新上电后,将会使用最后自定义的广播数据.
如果自定义广播数据为全0,则认为不使用自定义广播,而使用系统默认的广播内容.
为避免广播数据过长带来多余的功耗,也可以通过设置自定义广播数据为1字节的任意值.
ShenzhenRF-starTechnologyCo.
,Ltd.
31系统复位与恢复让模块复位有三种方法,其中第三种方法可以恢复系统参数1、使用AT指令复位模块(详见《串口AT指令》章节);2、使用服务通道接口,用APP对模块进行远程复位.
(详见《BLE协议说明(APP接口)-模块参数设置》章节);3、使用硬件RESTORE脚位(见脚位定义表),模块上电后任意时刻,将此脚位拉低5秒后,模块的系统参数会恢复用户级参数(浅恢复,释放此脚位后立即复位),如果持续拉低20秒后会将模块的所有系统参数恢复到出厂设置(深度恢复),并立即复位.
此脚位带内部上拉,默认不会进入此模式.
浅恢复中被恢复的系统参数包括:a)防劫持密码,恢复到"000000",默认不使用密码;深度恢复中被恢复的系统参数包括:a)防劫持密码,恢复到"000000",默认不使用密码;b)串口波特率,恢复到115200bps;c)设备名称,恢复到"Tv450u-XXXXXXXX",X是MAC的后四个字节;d)广播周期,恢复到3(200ms);e)连接间隔,恢复到20ms;f)发射功率,恢复到0dBm;g)产品识别码,恢复到0x5246;h)自定义广播长度,恢复到0;i)自定义广播数据,恢复到全0,不使用自定义广播数据,使用默认广播数据.
ShenzhenRF-starTechnologyCo.
,Ltd.
32用APP测试透传功能模块IOS平台的测试工具(APP)可以在AppStore下载到.
打开iphone5S,iphone6,iphone6s或者ipad4等中的AppStore,搜索CubicBLE(如需源码可向业务索取),下载安装,进行测试.
下载APP后,打开蓝牙,然后打开APP,选择页面右上角扫描蓝牙按钮.
选择需要连接的设备,进行连接.
接着选择Back退回到主界面.
此时如果模块串口已经就绪(连接了主CPU,或者串口终端),即可以开始工作可进行收发测试.
选择蓝牙数据通道,输入需要发送的数据点击"Sent"即可发送数据到模块.
火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...
酷锐云是一家2019年开业的国人主机商家,商家为企业运营,主要销售主VPS服务器,提供挂机宝和云服务器,机房有美国CERA、中国香港安畅和电信,CERA为CN2 GIA线路,提供单机10G+天机盾防御,提供美国原生IP,支持媒体流解锁,商家的套餐价格非常美丽,CERA机房月付20元起,香港安畅机房10M带宽月付25元,有需要的朋友可以入手试试。酷锐云自开业以来一直有着良好的产品稳定性及服务态度,支...
之前分享过很多次CloudCone的信息,主要是VPS主机,其实商家也提供独立服务器租用,同样在洛杉矶MC机房,分为两种线路:普通优化线路及CN2 GIA,今天来分享下商家的CN2 GIA线路独立服务器产品,提供15-100Mbps带宽,不限制流量,可购买额外的DDoS高防IP,最低每月82美元起,支持使用PayPal或者支付宝等付款方式。下面分享几款洛杉矶CN2 GIA线路独立服务器配置信息。配...