太阳集团tcy8722

当前位置: 首页 >应用方案 >技术应用 >

E104-BT02蓝牙模块在低功耗控制领域的使用方法

E104-BT02是成都太阳集团tcy8722自主研发的一款低功耗蓝牙转串口模块,此模块基于BluetoothV4.2协议,经过简单配置可以工作在主机、从机、嗅探模式。可以实现广播、扫描、以及数据透传的功能。

此模块具有超低功耗的睡眠功能,在开启广播的情况下最低工作电流低至2uA,本模块支持引脚唤醒、串口唤醒,可以广泛用于低功耗控制领域。其系统方框图如图一所示。

图一 E104-BT02工作方框图

图一 E104-BT02工作方框图

在上图所示的控制系统中,E104-BT02发送端与主机端长期保持连接,当传感器采集到数据后将数据打包,并负责将休眠中的E104-BT02设备唤醒,然后将采集到的数据通过E104-BT02发送到主机端,控制中心将数据处理后产生控制逻辑,最终执行器执行控制逻辑。

使用场景

智能温控设施

BLE智能门锁

智能冰箱

个人保健器

低功耗遥控设备

家庭自动化设置

使用方法

E104-BT02在低功耗控制领域的使用方法及流程,推荐的连线图如图二所示:

图二 E104-BT02的连线图


图二 E104-BT02的连线图

第一步:配置E104-BT02参数;包含使能广播、设置连接间隙、绑定MAC地址,这一步的作用是使E104-BT02在断线后能快速的与目标设备建立连接,并排除非法设备造成的干扰。

第二步:传感器采集数据,并唤醒E104-BT02设备,进行数据传输。

第三步:中央控制器接收数据并做处理,控制执行器做出反应。

上述是基于控制领域给出的一般使用方法,本文档真的该控制系统给出第一、第二步的操作细节,具体操作步骤如下:

l  设置E104-BT02的参数:

1、进入配置模式:为了使模块能直接进入到配置模式,将图二中的P06_WKP引脚拉低唤醒模块,然后将P00_MOD引脚拉低进入配置模式

2、开启广播,通过AT指令开启广播:<STARTADV>,返回<OK>则表示设置成功

图三 开启广播


图三 开启广播

3、设置连接间隙,设置最大、最小连接间隙,在设置时需要注意最大连接间隙必须大于等于最小连接间隙,所以在设置时可以先设置最小间隙:<CONMIN8>,然后再设置最大连接:<CONMAX8>,这样做可以保证在设置最大连接间隙的时候不至于报错。

图四 设置连接间隙

图四 设置连接间隙

4、绑定对方MAC地址,此MAC地址根据实际设置,本文中就以“112233445566”代替,需要注意的是MAC地址需要使用hex格式发送:<BONDMAC>,首先将<BONDMAC>指令输入,然后转换为16(hex)进制发送,最后在“>”(3E)前面以16进制(hex)格式输入MAC地址。

图五 绑定MAC地址1

图五 绑定MAC地址2

图五 绑定MAC地址

至此参数配置完成。

l  传感器唤醒E104-BT02进行数据传输,需要操作的流程如下:唤醒模块、检测连接状态、进入透传模式。

1、传感器采集数据,此步骤根据实际的传感器编写自己的逻辑代码

2、当数据采集完成后,唤醒设备进行数据传输。按照图二所示控制MCU给E104-BT02模块的P06_WKP引脚输入低电平唤醒,控制伪代码如下:

   GPIO_SET_VALUE(WKP,LOW);

3、检测连接状态,检测图二中P11_STATE引脚是否为低,低电平表示已经建立连接,若为连接则等待建立连接,逻辑伪代码如下:

while( GPIO_READ_VALUE(STATE) == LOW )  {

   break;

}

4、控制E104-BT02模块进入透传模式,控制进入透传将图二中P00_MOD引脚拉高进入透传,控制逻辑伪代码如下:

   GPIO_SET_VALUE(MOE,HIGH);

到E104-BT02模块可以进行数据传输了

5、传输数据,将传感器采集的数据通过UART串口传送到控制中心,比如此时待传输数据为:data:07020101。MCU通过串口将数据发送至E104-BT02:,逻辑伪代码如下:

   UART_SEND(“data:07020101”);

6、当控制中心收到数据后可以给一个回复响应,当收到响应后表示通信完成,系统可以进入休眠,此时给P06_WKP引脚一个高电平使模块进入休眠,伪代码如下:

while( RECV_RESP() ){

GPIO_SET_VALUE(WKP,HIGH);

break;

}

自此一套完整的数据采集、唤醒、数据传输、休眠的过程就完成了。整个系统进入低功耗模式等待下一次唤醒。

l  控制器设计:

在对端设置接收到数据后,进行解析,生成控制逻辑,执行器执行动作,此步骤用户需要根据自己需求自行设计。比如最终是控制继电器开合、或者控制蜂鸣器鸣笛、或者控制LED进行灯光闪烁。这里列举一个控制继电器的操作,继电器工作示意图如图六。

图六 继电器工作示意图


图六 继电器工作示意图

控制端伪代码如下:

      ctrl = 数据解析(recv);

if( ctrl == STATE_1 ){

      继电器设置为常开();

}

else{

   继电器设置为常闭();

}

发送接收响应();//告诉传感器已经正确收到数据并处理

总结

本案例从系统的角度结合框图、伪代码、以及具体设置指令,可以将E104-BT02在各个低功耗控制领域的应用都概括进来,用户在设计自己的系统时可以根据此说明构建自己的设计框架。



太阳集团tcy8722