免费发布

蓝牙模块,蓝牙设备,无线传输

更新时间:2015-10-30 09:32:29 信息编号:3921005 浏览:326次
供应商
深圳市龙岗区南湾汇域沣电子厂 商铺
认证
报价
人民币¥19.00元每
所在地
中国 广东 东莞 长安镇上沙明和电子城B-B1172A
联系电话
86 769 82388235
手机号
13827283137
联系人
易林  请说明来自顺企网,优惠更多
让卖家联系我

产品详细介绍

第一章产品概述

1.1概述

本模块是基于bluetooth sig发布的bluetooth low energy标准设计的ble透传模块。本模块通过串口、iic、spi进行控制,同时也支持通过主机端进行无线控制,用户无需关注复杂的蓝牙协议应用软件,就可在短期内开发出标准的低功耗蓝牙(ble) 产品。通过串口控制建立连接后,可以在ble 主机和从机之间实现双向数据传输。

1.2功能介绍

1. 支持透传模式和命令模式:透传模式下,串口收到的数据会原封不动地传送给主机端,而收到主机端数据之后,也会原封不动地通过传送给用户mcu。命令模式下, 用户mcu 可以通过相应命令对模块的参数进行配置和获取;

2. 可自由切换模式工作于纯透传模式和命令模式;

3. 通用串口设计,波特率可通过串口或者主机端配置,便于对不同mcu 资源的适配,默认9600bps,掉电保存;

4. 蓝牙广播周期和蓝牙连接间隔可通过串口或者主机端配置,便于合理控制蓝牙功耗,掉电保存;

5. 通过串口或主机端配置蓝牙设备名称,便于实际应用中进行设备区分,掉电保存;

6. 可通过串口或者主机端对蓝牙配对码进行配置,并设置配对码使能与否;

7. 可通过串口或主机端复位模块;

8. 可通过串口或主机端回复模块出厂设置;

9. 可通过串口获取模块的蓝牙mac 地址(物理地址)

10. 可通过串口或者主机端设置模块的蓝牙发射功率,合理控制通信距离和功耗

11. 支持Zui简开发,即在功能要求简单的情况下,只需要连接串口即可进行产品开发。

比如模式控制引脚,当不需要控制时,该引脚就可以直接下拉到低电平,节省mcu 的i/o 资源。

第二章模块硬件及管脚说明

table1 ble模块管脚说明

管脚

功能

方向

备注

1

ant

/

天线

2,10

gnd

/

模块gnd

3

3.3v

/

模块电源端3v-3.6v

4

p2.2

i/o

普通双向i/o

5

p2.1

i/o

普通双向i/o

6

p2.0

i

悬空

7

p1.6

o

防丢器应用蜂鸣器输出

8

dp

i/o

usb正极

9

dn

i/o

usb负极

11

p1.7

i/o

普通双向i/o

12

p1.5

i/o

普通双向i/o

13

p1.4

i/o

普通双向i/o

14

p1.3

i/o

普通双向i/o

15

p1.2

i/o

普通双向i/o

16

p1.1

o

pwm1

17

p1.0

o

pwm2

18

p0.7

o

pwm3

19

p0.6

o

pwm4

20

p0.5

i

数据发送唤醒模块

21

p0.4

o

输入信号唤醒模块

22

p0.3

o

txd

23

p0.2

i

rxd

24

p0.1

i

模拟采集通道0

25

p0.0

i

模拟采集通道1

26

reset

i

模块复位,低有效

备注:

       20脚:作为数据发送请求来唤醒模块;

              0:主机有数据发送,模块将等待接收来自主机的数据,此时模块不睡眠。

              1:主机无数据发送,主机数据发送完毕之后,此信号线须置1。

       21脚:作为数据输入信号来唤醒模块(可选)

              0:模块有数据发送到主机,主机接收模块数据。

              1:模块无数据发送到主机,数据发送完后,此信号线须置1。

第三章模块控制

3.1串口控制协议

用户可通过串口方式控制ble 数据传输模块,串口数据的传输如下图所示,主控制器端发送数据或者命令给ble 透传模块。

3.2 at命令和透传

当需要改变模块的波特率,设备名,连接间隔时,采用wr+xxxx+xx xx”格式的方式发送给模块。

当需要进行透传时,请不要将wr+或rd+作为透传的数据头。透传时的格式,需自行定义。

不论是否包含通信头,校验。每次透传以20字节进行发送。

每次设定了某个项目后,由于基本都是掉电保存项目,因此需要上电重启模块。

at命令可以通过串口或者手机端相应端口进行设置。

 

 

功能

命令

应答

参数说明

设置串口波特率

wr+bandrate+x"

ok\\r\\n

x:0-4

0 9600

1 19200

2 38400

3 57600

4 115200

自定义广播数据

(模块名称)

wr+name+xx"

ok\\r\\n

xx:长度不能大于20字节

设置防劫持密码

wr+pincode+xx"

ok\\r\\n

xx:长度不能大于6字节,不能以“0”开头,范围1-999999

复位模块

wr+restart"

设置连接间隔

wr+coninterval+xx"

ok\\r\\n

xx:20-2000 (ms)

设置广播间隔

wr+advtime+xx"

ok\\r\\n

xx:200-5000 (ms)

设置产品识别码

wr+consumeruuid+xx"

ok\\r\\n

xx: 0x0000~0xffff

除0x1800、0x1801、0x180a、0x180f外

读取串口波特率

rd+bandrate"

band:x\\r\\n

读取模块名称

rd+name"

name:xx\\r\\n

读取防劫持密码

rd+pincode"

pin: xx\\r\\n

读取蓝牙物理地址

rd+addr"

mac:xx:xx:xx:xx:xx:xx\\r\\n

读取连接间隔

rd+coninterval"

coninterval: xx\\r\\n

读取广播间隔

rd+advtime"

advtime: xx\\r\\n

读取产品识别码

rd+consumeruuid"

consumeruuid: xx\\r\\n

 

 

 

第四章 规格参数

 

供电电压:2.0~3.6,典型 3.3v;电压过低易导致通讯错误;电压过高会损坏模块 串口特性:波特率默认 9600bps,8n1,可命令修改;

3. 模块的尺寸(mm)如下图所示。

第五章uuid服务接口

1 串口透传

串口数据透传app 写数据uuid:0xfff1 串口数据透传模块通知app 的uuid:0xfff2 备注:串口每次20 字节透传。

2pwm 输出(4 路): pwm1 通道uuid:0xffe1 pwm2 通道uuid:0xffe2 pwm3 通道uuid:0xffe3 pwm4 通道uuid:0xffe4

3adc 输入(2 路):

adc 使能控制:0xffd1 adc 采集周期:0xffd2 adc 采集通道1:0xffd3 adc 采集通道2:0xffd4

4电池电量报告电池电量报告uuid:0x180f

5设备信息

设备信息服务服务uuid:0x180a

6按键报告

按键报告uuid:0xffe1

7电池报告

电池报告uuid:0x2a19

8发射功率

发射功率uuid:0x2a07

9linkloss

linkloss uuid:0x2a06第六章手机app编程参考

 

第六章 手机app编程参考

 

ios 编程参考:

 

模块总是以从模式进行广播,等待智能移动设备做为主设备进行扫描,以及连接。这

个扫描以及连接通常是由 app 来完成,由于 ble 协议的特殊性,在系统设置中的扫描蓝 牙连接没有现实意义。智能设备必须负责对 ble 从设备的连接,通讯,断开等管理事宜, 而这一切通常是在 app 中实现。

有关 ble 在 ios 下的编程,Zui关键的就是对特征值(characteristic,本文叫通道)的读, 写,以及开启通知开关。通过对通道的读写即可实现对模块直驱功能的直接控制,无需 额外的 cpu。典型函数说明摘抄如下:

 

/*!

* @method writevalue:forcharacteristic:withresponse:

* @param data the value to write.

* @param characteristic the characteristic on which to perform the write operation.

* @param type the type of write to be executed.

* @discussion write the value of a characteristic.

* the passed data is copied and can be disposed of after the call finishes.

* the relevant delegate callback will then be invoked with the status of the request.

* @see peripheral:didwritevalueforcharacteristic:error: */

- (void)writevalue:(nsdata *)data forcharacteristic:(cbcharacteristic *)characteristic type:(c bcharacteristicwritetype)type;

说明:对某个特征值进行写操作。

nsdata *d = [[nsdata alloc] initwithbytes:&data length:mdata.length];

[p writevalue:d forcharacteristic:c type:cbcharacteristicwritewithoutresponse]; /*!

* @method readvalueforcharacteristic:

* @param characteristic the characteristic for which the value needs to be read.

* @discussion fetch the value of a characteristic.

* @see peripheral:didupdatevalueforcharacteristic:error: */

- (void)readvalueforcharacteristic:(cbcharacteristic *)characteristic;

说明:读取某个特征值。

[p readvalueforcharacteristic:c]; /*!

* @method setnotifyvalue:forcharacteristic:

* @param notifyvalue the value to set the client configuration descriptor to.

* @param characteristic the characteristic containing the client configuration.

* @discussion ask to start/stop receiving notifications for a characteristic.

* @see peripheral:didupdatenotificationstateforcharacteristic:error: */

- (void)setnotifyvalue:(bool)notifyvalue forcharacteristic:(cbcharacteristic *)characteristic;

说明:打开特征值通知使能开关。

[self setnotifyvalue:yes forcharacteristic:c];//

打开通知使能开关

[self setnotifyvalue:no forcharacteristic:c]; //

关闭通知使能开关

/*

* @method didupdatevalueforcharacteristic* @param peripheral pheripheral that got updated

* * @param characteristic characteristic that got updated

* * @error error error message if something went wrong

* * @discussion didupdatevalueforcharacteristic is called when corebluetooth has updated a

* * characteristic for a peripheral. all reads and notifications come here to be processed. */

* -(void)peripheral:(cbperipheral *)peripheral didupdatevalueforcharacteristic:(cbcharacteristic *)characteristic error:(nserror *)error

* 说明:每次执行完读取操作后,会执行到这个回调函数。应用层在此函数内保存读取到

* 的数据。

* ios 的测试 ble 软件是 lightblue,本司具有源码和相应的 lightblule。

 

 

6.2 安卓编程参考

 

原理通信机制与 ios 大同小异,connectionhandle 默认为 0,通过 uuid 进行通讯。下载安卓官网上的 bledemo,即可与bm01模块进行串口透传,本司具有其 demo。

 

七 说明和建议:

连接间隔可以简单理解为,是两个连接着的蓝牙设备发送“心跳包”的时间间隔。蓝牙设备认定它们之间 的连接是否断开,就是看心跳包是否及时到达。举个例子,比如设置 conninterval=100ms,slavelatency=1, supervisiontimeout=1s。conninterval=100ms,是指蓝牙主机每 100ms 发一次心跳包给从机,从机收到后回复 一次。slavelatency=1,是指如果从机没有数据发送时,可以跳过一次心跳包的回复,让自己省电。 supervisiontimeout=1s,对从机来说,当它发现连续 1 秒钟都没有收到心跳包,就认为连接断开。对主机说, 当它连续发了 11 个心跳包,都没有得到回复,认为连接断开。

根据 ble4.0 协议规定:master 设备可以随时发送一个连接更新请求到 slave,来改变连接参数。在链 路层,连接参数的更新总是被 master 发起,但是 l2cap 层允许 slave 向 master 发送一个连接参数更新请 求。ble 协议允许应用层根据实际需要动态的调整连接参数,这个会产生相应的功耗及数据吞吐量。当两蓝牙设备每次创建连接时,这三个连接参数都由是主机给定的。比如 iphone4s 和 iphone5,设定的连接参数都 是:24, 0, 72 。转换一下:

conninterval = 24*1.25ms=30ms;

slavelatency = 0;

supervisiontimeout = 72*10ms = 720ms;

我们看到 iphone 的连接间隔设置的比较短,所以数据吞吐量大,但是能耗比较大,大概平均电流达到

900ua~1000ua 左右,监督超时 720ms,快速监测到连接断开。另外,三星 galaxys3 设定的连接参数值为 54, 0, 42。根据经验,从机潜伏设定值一般要低一点或者为 0,监督超时一般也不宜太长,连接间隔可以根据 不同应用需要而设定。数据交换少,对功耗敏感的应用,连接间隔可以设置长一点。总而言之,对于 ble 连 接参数的设定,可以多做试验,得到一组在数据吞吐量和功耗方面都比较满意的值。另外,当该模块与 ios 设 备连接时,apple 公司规定,ios 设备的蓝牙附件的连接间隔参数,除了要符合 sig 组的规定外,要必须符 合 apple 的规定:

conninterval * (slavelatency + 1) ≤??1??78??1??792 seconds conninterval ≥??1??78??1??7920 ms

slavelatency ≤??1??78??1??794

supervisiontimeout ≤??1??78??1??796 seconds

conninterval * (slavelatency + 1) * 3 < supervisiontimeout.

所属分类:中国安防网 / 传输设备
本页链接:http://product.11467.com/info/3921005.htm
蓝牙模块,蓝牙设备,无线传输的文档下载: PDF DOC TXT
关于深圳市龙岗区南湾汇域沣电子厂商铺首页 | 更多产品 | 联系方式 | 黄页介绍
主要经营:单片机开发;遥控开关;振动报警器;电动车防盗器;电子元件;电子产品设计;LED照明;玩具礼品;USB产品;无线收发模块;空气清化器;空气清新机;产品研发;来料加工
深圳市汇域沣电子厂成立于2007年,是一家集研发(ODM)、加工(OEM)为一体的电子生产厂家。多年来凭着优质的产品、稳定的客户渠道和完美的售后服务,赢得了广大客户和市场的信赖,并与国内 ...
我们的其他产品
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由企业自行发布,本站完全免费,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112