透传BLE4.0蓝牙模块

厂商 :深圳市爱科德电子科技技术有限公司

广东 深圳
  • 主营产品:
  • 串口转WIFI模块
  • 蓝牙模块
  • 2G3G4G模块
联系电话 :15622896845
商品详细描述

XLW-BLE003U 蓝牙模块(微信版本)是一款嵌入式的无线通信模块,支持蓝牙4.0 BLE协议,具有低功耗、小尺寸、信号强,快读启动、高可靠性,高性价比等特性。XLW-BLE003U透传模块(微信版)实现了微信GATT Service的完整规范,用户只需要简单的配置一下模块的相关参数,就能实现和微信APP的连接通信。 在模块和微信APP连接前,需要在后台对模块进行授权。授权方法请参考微信后台接口文档。XLW-BLE003U蓝牙模块提供了各种标准接口方便用户使用,包括GPIOUART等,同时也提供了AT指令,便于用户操作和集成到最终产品中。

         

      

实物图

框图介绍

产品特性:

? 支持蓝牙BLE4.0即以上协议

? 支持1MS秒快速启动

? 低功耗设计,支持SuspendDeep Sleep两种低功耗模式,可适用于电池供电

? 支持GPIO/UART等接口

? 支持PCB天线

? 支持AT指令

? 可通过FCC/CE标准认证

适用范围:

? 智能家居,小家电,智能家电,灯光照明,

? 可穿戴产品,手持设备,健康医疗设备

? 玩具,汽车电子,各类工业控制产品

1.模块应用框图(见下页)

                                                             UART/GPIO

2.引脚说明

序号

名称

描述

说明

13

VCC

3.3V电源供电

2.0V-3.6V可工作,建议3.3V

14

LED

LED指示灯

模块工作状态指示灯

15

WAKEUP

休眠脚

低电平休眠模式

16

TX

串口发送端

17

RX

串口接收端

18

GND

电源地

其他引脚悬空即可

3.技术规格

类型

规格

天线

PCB板载天线

频率范围

2.402 ~ 2.480 GHZ

数据传输速率

1Mbps2.4GHz 2Mbps Boost Mode

RF接收灵敏度

-92dBm

RF最大输出功率

最大+8dBm

IO

UART

提供最高8M的波特率

GPIO

最多支持5IO口,需定制

PWM

最多支持3PWM,需定制

工作电压

1.9 ~ 3.6V

工作温度

-40°C ~ +85°C

4.实现协议

  LMLCL2capSDPRFCOMM
实现蓝牙微信协议

5.指令格式

   使用AT控制指令,模块指令数据是ASCII码。它由四部分组成,如下所示:

1 指令开始标志AT+

这三个连续的字符用于指示一个指令包的开始。

 2 指令码: 

指令的具体标识,用于区分不同的指令。如:setBR

 3 参数列表: 

不同的指令有不同的参数、不同的参数数目(大于等于0)。指令中每两个

参数间需要用空格分隔。指令码和参数列表之间也需要用空格分隔。

4 指令结束标志:\r\n\0

3个字符(即回车符、换行符和空字符)用于指示一个指令包的结束。

例:设置模块为从设备: AT+setBR 9600\r\n\0

其中,”AT+”为指令开始标志;”setBR”为指令码,表示切换角色操作;”9600

为参数,表示将模块的串口波特率设置为9600bps;”\r\n\0”为指令结束标志。

6.配置模块过程

1.  设置微信认证方式(setAuthMode),目前认证方式有三种:采用MD5码加密

认证、采用MD5码不加密认证和采用MAC地址不加密认证。

2.  当认证方式为采用MD5码加密认证或采用MD5码不加密认证时,需要将在

后台授权模块时的对应的MD5发送给模块(setMD5)

3.  当认证方式采用MD5码加密认证时,需要将在后台授权模块时对应的

Device ID发送给模块(setDevID)

4.  当认证方式采用MD5码加密认证时,需要将在后台授权模块时对应的

Aes128密钥发送给模块(setAesKey)

5.  根据实际应用设置数据方向(setDataDir)

6.  发送saveConfigure保存更改的参数。

至此,模块配置完毕。这时,如果模块处于广播状态,打开对应的公众号,

微信就会自动的连接模块,模块会自动的根据配置好的MD5码等参数和微信进

行登录认证过程。成功登录后,外部MCU便能和公众号对应的厂商服务器进行

数据传输。

7.串口指令说明

7.1mcu发给模块的指令

  setBR

作用:设置模块的波特率(bps)

参数个数:1

参数取值:

参数值(波特率)

含义

110

设置模块波特率为110bps

300

设置模块波特率为300bps

1200

设置模块波特率为1200bps

2400

设置模块波特率为2400bps

4800

设置模块波特率为4800bps

9600

设置模块波特率为9600bps

19200

设置模块波特率为19200bps

38400

设置模块波特率为38400bps

57600

设置模块波特率为57600bps

115200

设置模块波特率为115200bps

说明:

模块只支持上表中的5个波特率,且其默认的波特率为115200bps。当

MCU向模块发送该指令后,模块会先返回ok指令,然后再改变自身的波特

率。MCU在接收到ok指令后,也应该改变自己的波特率,以保持和模块一

致,避免产生误码。

注意:若忘记了已设置的波特率,开发者可以尝试在不同的波特率下发

getBR (或其他get指令),直到得到正确的回复,以此来确定模块当前的

波特率。

响应:

AT+ok\r\n\0(操作成功)

AT+err \r\n\0(操作失败)

getBR

作用:获取模块波特率(bps)

参数个数:无

响应:

AT+ok 115200\r\n\0(模块波特率为115200bps)

AT+err \r\n\0(操作失败)

setDataDir

作用:设置数据方向

参数个数:1

参数值(数据方向)

含义

0

后台

1

微信手环平台

2(默认)

微信HTML网页

说明:

模块发送的数据方向只一时间只能有一个,方向由该指令设置

响应:

AT+ok\r\n\0”

AT+err \r\n\0(操作失败)

getDataDir

作用:获取数据方向

参数个数:0

响应:

AT+ok 0\r\n\0(后台)

AT+ok 1\r\n\0(微信手环平台)

AT+ok 2\r\n\0(微信HTML网页)

AT+err \r\n\0(操作失败)

  setAuthMode

作用:设置微信认证方式

参数个数:1

参数

mode

0

MD5码加密认证

1

MD5码不加密认证

2

MAC地址不加密认证(模块默认是不加密,如需加密要定制

例:

AT+setAuthMode 1\r\n\0” 设置认证方式为MD5码不加密认证。

响应:

AT+ok minInterval maxInterval latency timeout\r\n\0”

AT+err \r\n\0(操作失败)

getAuthMode

作用:获取微信认证方式

参数个数:无

响应:

AT+ok 0\r\n\0”

AT+ok 1\r\n\0”

AT+ok 2\r\n\0”

AT+err \r\n\0(操作失败)

setName

作用:设置模块名字

参数个数:1

参数取值:

参数值(名字)

含义

=string

string为具体的名字字符串(不能出现”\r\n\0”)

说明:

该指令的参数为’=’与”\r\n\0”之间的内容,允许出现空格,但不允许出

现”\r\n\0”。名字的最大长度不能超过20个字节。

例:

设置模块的名字为“BLE003U”:“AT+setName =BLE003U\r\n\0

响应:

AT+ok\r\n\0(操作成功)

AT+err \r\n\0(操作失败)

getName

作用:获取模块名字

参数个数:无

响应:

AT+ok = BLE003U \r\n\0(操作成功,设备名字为“BLE003U)

AT+err \r\n\0(操作失败)

setAdv

作用:开启或关闭广播

参数个数:1

参数取值:

参数取值(动作)

含义

on

开启广播

off

关闭广播

说明:

该指令只有在从设备处于非连接状态时才会被执行。

例:

AT+setAdv on\r\n\0(开启广播)

响应:

AT+ok\r\n\0(操作成功)

AT+err \r\n\0(操作失败)

getAddr

作用:获取模块的地址

参数个数:无

响应:

AT+ok FF:11:22:33:55:FF\r\n\0”

AT+err \r\n\0(操作失败)

disconnect

作用:模块主动断开连接

参数个数:无

说明:

成功断开连接后,模块会回到空闲状态。当成功发送该指令后,模块会

先返回ok响应,等到连接真正断开后,再返回disconn响应。需要注意的

是,在主模块处于connecting状态时,发送该指令会直接中止建立连接,返

ok响应,但不会返回disconn响应的。

响应:

AT+ok\r\n\0(操作成功)

AT+disconn\r\n\0(连接已经断开)

AT+err \r\n\0(操作失败)

saveConfigure

作用:保存当前的配置

参数个数:无

说明:

该指令用于将当前模块的参数和状态保存到flash 中,以便模块在下次

上电时会根据保存好的参数和状态进行初始化设置。若在从设备广播或连接

的状态下发送该指令,从设备以后每次重新上电都会自动进行广播;若在空

闲的状态下发送该指令,模块以后每次重新上电时也会处于空闲状态。这时

需要发送setAdv指令才能开启广播,而且如果想模块在下次上电时自动广

播、扫描,需要发送saveConfigure指令。

响应:

AT+ok\r\n\0(操作成功)

AT+err \r\n\0(操作失败)

clearConfigure

作用:清除保存的配置

参数个数:无

说明:

向模块成功发送该指令后,模块下次上电时会恢复出厂时的配置。

响应:

AT+ok\r\n\0(操作成功)

AT+err \r\n\0(操作失败)

sendData

作用:发送指定长度的透传数据

参数个数:2

具体参数:

参数

含义

参数1(要透传的字节数)

取值范围:1 ~ 100

参数2(数据方向)

0 :  厂商服务器

1 : 微信手环平台

2 : HTML页面

例:

AT+sendData 10 0\r\n\00123456789”

sendData”后的’10’表示需要发送的透传数据为10个字节,,”\r\n\0”之前

的”0”表示要将数据发送给厂商服务器。模块接收到该指令后不会对”\r\n\0

后指定长度的数据进行指令分析,而是将这些数据全部认为是透传数据。因

此可以利用这条指令来发送指令数据包。如下:

AT+sendData 16 0\r\n\0AT+setBR 9600\r\n\0”

响应:

AT+sendFin ok\r\n\0(发送成功)

AT+sendFin err\r\n\0(发送失败)

7.2模块返回给mcu的指令

ok

作用:操作成功响应

说明:ok指令由模块发送给MCU,其参数根据操作的不同而不同。

err

作用:操作失败响应

说明:err指令由模块发送给MCU  

conn

作用:连接响应

说明:conn指令由模块发送给MCU。当手机等设备连接上模块后,模块会

响应此指令。

例:

AT+conn\r\n\0”

disconn

作用:断开连接响应

说明:disconn指令由模块发送给MCU。当连接断开后,模块会响应此指令。

例:

AT+disconn\r\n\0”

auth

作用:微信登录结果响应。

说明:该指令只有在支持微信事件响应模式下才有效。用于指示模块是否成

功的通过了微信APP的连接登录步骤。只有在通过了微信的登录步骤后,

才可以进行透传数据的收发。

recvData

作用:接收到微信的Push数据响应。

说明:该指令只有在支持微信事件响应模式下才有效。当模块接收到来过微

信的Push数据后,会先发送该响应来通知MCU,然后再发送具体的透传数

据。

参数个数:2

具体参数:

参数  值

数据来源

0 :  厂商服务器

1 : 微信手环平台

2 : HTML页面

数据长度  取值范围:1~100

例:

AT+recvData 0 10\r\n\0(接收到来自厂商服务器的10个字节数据,在发送

完这个指令后,模块会接着发送10个字节的透传数据)

sendFin

作用:发送数据结果响应

说明:该指令只有在支持微信事件响应模式下才有效。用于表明使用

sendData指令后发送数据是否成功。

参数个数:1

具体参数:

参数  值

发送结果  ok : 发送成功

err : 发送失败

例:

AT+sendFin ok\r\n\0”

AT+sendFin err\r\n\0”

switchView

作用:微信公众号页面切换响应。

说明:该指令只有在支持微信事件响应模式下才有效。用于指示进入或退出

公众号操作。

参数个数:1

具体参数:

参数  值

行为  1 : 进入公众号

2 : 退出公众号

例:

AT+switchView 1\r\n\0(进入公众号)

AT+switchView 2\r\n\0(退出公众号)

switchBkg

作用:微信APP进入后台响应。

说明:该指令只有在支持微信事件响应模式下才有效。用于指示微信APP

是否进入后台。

参数个数:1

具体参数:

参数  值

行为  1 : 进入后台

2 : 退出后台

3 : 睡眠

例:

AT+switchBkg 1\r\n\0(微信APP进入后台)

8.模块尺寸

  

9.供电电路设计

 

3-1 3.3V供电电路

注意:

1、XLW-BLE003U系列蓝牙模块对电源供电电路有一定的要求:3.3V的供电电压的纹波系数要小于200mV,最小输出电流要大于200mA(3.3V稳压器件选择时需要根据实际电路的电流来决定)

2、建议PCB板布线时,3.3V的电源线需按大于300mA的线宽来布线。

10.模块性能指标:

1.下面为积分方式测试蓝牙模组各种情况下的应用功耗:

1.正常功耗时>

模块处于广播状态还是连接状态或者连接状态下发数据,此时电流大约为15ma左右。

2.休眠时>

广播间隔和连接间隔为1000ms时,电流为78ua

广播间隔和连接间隔为500ms时,电流为143ua

广播间隔和连接间隔为200ms时,电流为338ua

2.另外客户使用休眠功能时,如果MCU100ms向模块发送一次20字节的透传数据,不同连接间隔的平均电流如下:

连接间隔(ms)             平均电流(uA)

1000                           152

250                   567

100                   1380

上述情况需要注意的是连接间隔不代表APP端或者MCU端发送数据的最小间隔,比如1000ms的连接间隔,不是指APP1000ms只能写入一次数据,APP1000ms内可以写入多次数据,但是APP发给模组的数据每一次写入不能超过20个字节,而是写入的这些数据每隔1000ms才会一起甩给模块;反之模块向APP发送同理,只是此时数据量最多75个。

11.模块使用注意事项:

1.  关于模块的脚位的一些状态还有模组的UUID的情况:

1.waekup 高电平正常模式,低电平睡眠模式。

2.LED灯指示脚是输出口,蓝牙模组连上后常亮,为低电平;未连上闪烁,高低电平切换。实际应用的时候可以串联一个电阻,根据 LED的具体参数来定。

3. 1.客户不需要睡眠功能的话,WAKEUP脚悬空即可,此时模块处于正常功耗模式。 :

2.客户需要休眠功能的话,通过WAKEUP脚进入睡眠模式,低电平时处于睡眠模式,此时用户MCU需要一个I/O口连接模块的唤醒脚,模块广播的时候MCU控制模块唤醒脚为低电平,即休眠模式手机连上模块后,MCU依然控制模块唤醒脚为低电平,即模块仍然处于休眠模式,此时APP可以给模块发数据,数据可以通过串口透传出来。

4.蓝牙模块产品工作在2.4G的频段,应尽量避免各种因素对无线收发数据的影响,注意以下几点:

   4.1.蓝牙模块产品尽量避免使用金属外壳,当使用部分金属外壳的时候,尽量让模块天线远离金属部分。

   4.2.布板时,模块天线周围部分不要走线,不能铺铜,周围尽快远离干扰原器件。

  

 

相关产品推荐