- 品牌:新力维
- 型号:XLW003U
- 信息传送内容:数据
- 支持网络:BLE4.0
- 频段:2.4
- 发射功率:
- 短信息模式:MT
- 外形尺寸:11*18
xlw-ble003u
ble4.0蓝牙模块 微信 mesh版本模块
xlw-ble003u 蓝牙模块是一款嵌入式的无线通信模块,支持蓝牙4.0 ble协议,具有低功耗、小尺寸、信号强,快读启动、高可靠性,高性价比等特性。本模块集成了mcu、无线射频收发器、蓝牙ble4.0协议栈和应用程序,用户只需要对模块提供3.3v供电即可独立运行。 xlw-ble003u蓝牙模块提供了各种标准接口方便用户使用,包括gpio、 uart等,同时也提供了at指令,便于用户操作和集成到最终产品中。
产品特性:
ø 支持蓝牙ble4.0即以上协议
ø 支持1ms秒快速启动
ø 低功耗设计,支持suspend和deep sleep两种低功耗模式,可适用于电池供电
ø 支持gpio/uart等接口
ø 支持pcb天线
ø 支持at指令
ø 可通过fcc/ce标准认证
适用范围:
ø 智能家居,小家电,智能家电,灯光照明,
ø 可穿戴产品,手持设备,健康医疗设备
ø 玩具,汽车电子,各类工业控制产品
技术规格
2.术规格类型
规格
天线
pcb板载天线
频率范围
2.402 ~ 2.480 ghz
数据传输速率
1mbps,2.4ghz 2mbps boost mode
rf接收灵敏度
-92dbm
rf最大输出功率
最大+8dbm
io口
功能
uart
提供最高8m的波特率
gpio
最多支持11个io口,需定制
pwm
最多支持5路pwm,需定制
工作电压
2.8 ~ 3.6v
工作温度
-40°c ~ +85°c
3.实现协议 gap,gatt,spp(bluetooth serial port profile,蓝牙串行协议)
4.at指令使用说明at指令必须以“at+”开头,以“rn”结束,执行成功返回“okrn”或者相应信息,
失败则返回“errorrn”。注意at指令中的“rn”代表的是回车换行符,十六进制数据为0x0d,0x0a。
5.1 常规at指令(需重启方能生效)
指令名称操作类型详细说明
name 查询蓝牙名称 串口发送“at+namern”,则模块返回蓝牙名称(出厂值为ble003u)
设置蓝牙名称 串口发送“at+name=user namern”,user name为用户设置的蓝牙名称,出厂默认蓝牙名称为“ble003u”
pin 查询配对密码() 串口发送“at+pinrn”,则模块返回蓝牙配对密码,若蓝牙模块的配对模式为不加密,则返回“nullrn” (出厂值为null)
设置配对密码 串口发送“at+pin=user pinrn”,userpin为用户设置的蓝牙配对密码,密码只能为6位数字,范围为000000-999999,若要设置蓝牙模块的配对模式为不加密,则发送“at+pin=nullrn”.
baud 查询波特率 串口发送“at+baudrn”,则模块返回串口波特率(出厂值为115200)
设置波特率 串口发送“at+baud=user baudrn”,userbaud为用户设置的波特率,模块支持的波特率有8000000,4000000,115200,57600,56000,38400,14400,9600,4800,2400,出厂默认波特率为115200
dbm 查询rf功率 串口发送“at+dbmrn”,则模块返回蓝牙rf功率(出厂值为0dbm)
设置rf功率 例:串口发送“at+dbm=5rn”,表示设置模块蓝牙rf功率为5dbm,模块支持的功率有8dbm,4 dbm,0 dbm,-4dbm,-10 dbm
advint 查询广播间隔(单位:ms) 串口发送“at+advintrn”,则模块返回蓝牙广播间隔参数(出厂值为250ms)
设置广播间隔(单位:ms) 例:串口发送“at+advint=500rn”,500ms表示设置模组的广播间隔参数。
connint 查询连接间隔(单位:ms) 串口发送“at+connintrn”,则模块返回蓝牙连接间隔参数(出厂值为250ms)
设置连接间隔(单位:ms) 例:串口发送“at+ connint=500rn”,500ms表示设置模组的连接间隔参数
uuidspp 查询透传服务uuid 串口发送“at+uuidspprn”,则蓝牙模块返回当前的数据透传uuid参数(出厂值为ffe0)
设置透传服务uuid 例:串口发送“at+uuidspp=fff0rn”,fff0表示设置模组的透传服务的uuid。
uuidread 查询读取特征值uuid 串口发送“at+uuidreadrn”,表示查询模块向app发送数据的特征值的uuid,app端可以用此uuid来读取模块的数据(出厂值为ffe1)
设置读取特征值uuid 例:串口发送“at+uuidread=ffe1rn”,表示设置模块向app发送数据的特征值的uuid为ffe1,app端可以用ffe1这个特征值uuid来读取模块的数据
uuidwrite 查询写入特征值uuid 串口发送“at+uuidwritern”,表示查询模块用来接收app数据的特征值的uuid,app端可以用此uuid来向模块发送数据(出厂值为ffe1)
设置写入特征值uuid 例:串口发送“at+uuidwrite=ffe1rn”,表示fff1表示设置蓝牙模组接收app数据的uuid为fff1。
leddisconn 查询蓝牙未连接时led脚状态 串口发送“at+leddisconnrn”,则模块返回蓝牙未连接时led脚的状态(出厂值为500)
设置蓝牙未连接时led脚状态例:串口发送“at+leddisconn=1rn”,表示蓝牙未连接时led脚电平为高,注意此处0表示低电平,1表示高电平,100到5000之间的值表示输出方波,比如“at+leddisconn=500rn”,表示led脚输出方波,高电平或者低电平持续的时间为500ms(即周期1s,频率1hz)
ledconnected 查询蓝牙连接时led脚状态 参照leddisconn(出厂值为0)
查询蓝牙连接时led脚状态 参照leddisconn
wakeuplevel 查询模块唤醒电平 串口发送“at+wakeuplevelrn”,则模块返回蓝牙模块的唤醒电平(出厂值为1,即高电平唤醒)
设置唤醒电平 例:串口发送“at+wakeuplevel=1rn”,表示设置模块的唤醒电平为高电平唤醒,“0”表示低电平唤醒,“1”表示高电平唤醒。
status 查询连接状态 串口发送“at+statusrn”,表示查询当前蓝牙模组的连接状态,模组返回“connectedrn”和“disconnrn”,代表连接状态。
mac 查询mac地址 串口发送“at+macrn”,则模块返回蓝牙mac地址,比如“12345678abcdrn”
default 串口发送“at+ defaultrn”,则模块恢复出厂设置
reboot 串口发送“at+rebootrn”,则模块重启
.2 自定义广播数据设置(立即生效,无需重启)
advdata
查询自定义广播
串口发送“at+advdatarn”,则模块返回蓝牙自定义广播数据(出厂值为null,即无自定义广播)
设置自定义广播
例:串口发送“at+advdata=12345rn”,表示设置模组的自定义广播数据为“12345”,即十六进制的0x31,0x32,0x33,0x34,0x35;自定义广播数据最多可以有14字节;发送“at+advdata=nullrn”取消自定义广播
说明:manufacturerspecific data是蓝牙ble协议预留的厂商自定义广播字段,
自定义广播数据是放置在蓝牙manufacturer specific data广播字段里的,
但是为了解决ios系统无法获取ble设备mac地址的问题,我们在manufacturer specificdata字段里添加了8字节的数据,
这8字节数据的前两2字节固定为0x00,0x00,后6个字节为模块的mac地址,
这样ios系统就可以获取到ble设备的mac地址,以模块mac地址为12345678abcd举例说明:
若用“at+advdata=12345rn”设置自定义广播数据,
则manufacturerspecific data里的数据为:0x00,0x00,0x12,0x34,0x56,0x78,0xab,0xcd,0x31,0x32,0x33,0x,34,0x35;
若用“at+advdata=nullrn”设置取消自定义广播数据,
则manufacturerspecific data里的数据为:0x00,0x00,0x12,0x34,0x56,0x78,0xab,0xcd
4.3 flash读写指令(立即生效,无需重启)
(注:此功能可能会修改,如需使用请联系销售备案,以免后续正式版本产生不兼容情况)
读flash:at+rf=addr,lenrn
addr表示flash地址,有效范围为0至8192,即8kbyte大小
len表示要读取的数据长度,有效范围为0至60,即最大60个字节(注:初步定为60个字节,若客户需要可增加)
例:at+rf=999,10rn表示在flash地址999处连续读取10个字节的数据,模块收到此指令后,即通过串口回复读到的10个字节的数
写flash:at+wf=addr,len,datarn
addr表示flash地址,有效范围为0至8192,即8k大小
len表示要写入的数据长度,有效范围为0至60,即最大60个字节(注:初步定为60个字节,若客户需要可增加)
data表示要写入的二进制数据,长度应与len吻合
例:at+wf=999,10,0123456789rn表示在flash地址999处连续写入10个字节的数据“01234567890”,写入成功后模块串口会响应“ok!rn”
5.模块功耗说明蓝模块根据消耗电流的不同,可分为三种工作模式:
6.1正常功耗模式
1).usage:
使用过程中wakeup脚一直保持悬空模块即工作在正常功耗模式下,
2).功耗说明:
此模式下无论模块处于广播状态还是连接状态或者连接状态下发数据,功耗都为15ma 左右
6.2休眠模式(浅度睡眠)
1).使用方法:
使用休眠模式需要客户mcu的i/o口连接模块的wakeup引脚,当mcu需要通过串 向模块发送数据时,
mcu需要提前5ms将此引脚电平拉高唤醒模块,发送完数据立即 低即可;mcu不需要向模块发送数据时,
请保持wakeup脚为低电平
2).待机功耗(不进行数据收发):
广播间隔和连接间隔为1000ms时,电流为78ua
广播间隔和连接间隔为500ms时,电流为143ua
广播间隔和连接间隔为200ms时,电流为338ua
3).数据收发功耗
如果mcu每100ms向模块发送一次20字节的透传数据,不同连接间隔的平均电流如下:
连接间隔(ms) 平均电流(ua)
1000 152
250 567
100 1380
以上电流采用积分方法测试分析得出,需要注意的是连接间隔不代表app端或者mcu 端发送数据的最小间隔,
比如1000ms的连接间隔,不是指app端1000ms只能写入一 次数据,app在1000ms内可以写入多次数据,
但是ble协议规定每次写入不能超过20个字节,写入的这些数据每隔1000ms才会一起甩给模块;
反之模块向app发送同理,只是此时每次写入的数据最多可以达到96个字节。
低功耗说明模块默认是不支持深度休眠模式,如需要支持需要定制。
xlw-ble003u分两种睡眠模式:
(1)浅度睡眠,suspend 模式, 醒来后所有内存,寄存器数据都保存着不会丢失, 程序从
进入睡眠的那个函数继续往下跑, 浅度睡眠平均电流在 14ua 左右,支持 timer 唤醒
和 gpio 唤醒
(2)深度睡眠, deepsleep 模式, 醒来后所有内存和数字寄存器部分信息都丢失,只保留
部分模拟寄存器信息,醒来效果等同重新上电,只是因为省去了一些模拟寄存器的配
置,所以和重新上电相比,初始化时间缩短. 平均电流在 0.7ua 左右, 只支持 gpio 上
升沿唤醒.
所以,一般在广播和连接状态,使用 suspend 模式, 在断开连接且不需要马上建立新
连接的时候,使用
注意:
1、xlw-ble003u系列蓝牙模块对电源供电电路有一定的要求:3.3v的供电电压的纹波系数要小于200mv,
最小输出电流要大于200ma(3.3v稳压器件选择时需要根据实际电路的电流来决定)。
2、建议pcb板布线时,3.3v的电源线需按大于300ma的线宽来布线。
3、模块在未连接时:串口数据统统作为at指令处理;
模块连上后:通过串口收到的数据格式判断是at指令还是透传数据,
若符合at指令的格式,则作为at指令处理,不符合at指令则当做透传数据处理
2)模块默认透传服务的uuid是ffe0 ,数据收发特征都是ffe1。
客户可通过uuidspp,uuidread,uuidwrite指令来进行修改
3)led灯指示脚(14脚)是输出口,蓝牙模组连上后为低电平;未连时输出周期1s的方波,高低电平各持续0.5s。
4)户不需要睡眠功能的话,wakeup脚悬空即可,此时模块处于正常功耗模式。
客户需要休眠功能的话,通过wakeup脚进入睡眠模式,低电平时处于睡眠模式,
此时用户mcu需要一个i/o口连接模块的唤醒脚,模块广播的时候mcu控制模块唤醒脚为低电平,
即休眠模式手机连上模块后,mcu依然控制模块唤醒脚为低电平,
即模块仍然处于休眠模式,此时app可以给模块发数据,数据可以通过串口透传出来。
5蓝牙模块产品工作在2.4g的频段,应尽量避免各种因素对无线收发数据的影响,注意以下两点:
ø 蓝牙模块产品尽量避免使用金属外壳,当使用部分金属外壳的时候,尽量让模块天线远离金属部分。
ø 布板时,模块天线周围部分不要走线,不能铺铜,周围尽快远离干扰原器件。
支持蓝牙微信版本 蓝牙mesh组网。
深圳市爱科德电子技术有限公司
周锟炜
17688752034
西乡宝源路互联网产业基地6栋