_SKU_DFR0492_FireBeetle_Board 328P_with_BLE4.1 - jimaobian/DFRobotWikiCn GitHub Wiki

Firebeetle BLE 4.1 低功耗蓝牙控制器

概述

DFRobot FireBeetle萤火虫系列是专为物联网设计开发的低功耗控制器系列,此款FireBeetle低功耗蓝牙控制器集成蓝牙4.1 (Bluetooth Low Energy 4.1)技术和Arduino控制器于一身,在功能上类似于上一代的Bluno系列,但是功耗更低。 FireBeetle BLE 4.1向下兼容Bluno系列 (BLE 4.0) 产品线,使用更稳定的DIALOG蓝牙4.1芯片,在产品性能上优于Bluno,支持最大传输速率4Kbyte/s,支持低功耗(25uA POWER DOWN),可以直接将该产品应用于可穿戴、智能玩具等低功耗设备中。 FireBeetle BLE 4.1主板支持多个蓝牙设备级联,并兼容Bluno的使用方式,支持接近配对(KISS连接),按住主机的BOOT按钮并靠近要连接的Peripheral设备,就可以连接。

特性

  • 支持Arduino IDE编程
  • 支持BLE 4.1主从机切换
  • 支持蓝牙串口数据透�
  • 支持蓝牙点对点无线编程
  • 支持蓝牙4.1多设备级联(最多4个)
  • 支持Arduino蓝牙库(支持多蓝牙连接使用)
  • 支持低功耗蓝牙(待机25uA;中断70uA)
  • 蓝牙进入低功耗后(AT指令),在没有任何操作的情况下,10s后进入低功耗
  • 双中断唤醒:
  • * BLE4.1通过D2唤醒Atmage328P(高电平唤醒)
  • * Atmage328P通过D3唤醒BLE4.1(低电平唤醒)
  • 支持接近式配对方法(KISS连接)
  • 支持蓝牙固件更新
  • 支持USB充电
  • 锂电池供电
  • LED状态指示灯

技术规格

  • 处理器:ATMEGA328P
  • Bootloader:Arduino Pro or Pro Mini,ATmega328(3.3V , 8MHz)
  • 工作电压:3.3V
  • VCC输入/输出电压范围:3.7V~5.5V
  • 锂电池电压:3.7 V锂电�
  • 支持最大无线传输速率4Kbyte/s(多个设备连接时速度会相对慢一些)
  • 支持低功耗:25uA(POWER DOWN);70uA(使能相关外部中断)
  • 支持最大放电电流:600mA(LDO-3.3V电源输出)
  • 支持最大充电电流:400mA
  • 数字IO口:14
  • 模拟IO输入:6
  • SPI接口:1
  • I2C接口:1
  • UART接口:1
  • LED_BUILTIN:D13
  • 接口方式:2.54mm间距(排针/排母),默认不焊接
  • 模块尺寸:58 × 29(mm)

PinOut

Fig2: FireBeetle Board-328P with BLE4.1 PinOUT

指示灯说明

  • RX:串口数据接收指示灯,当接收到串口数据时,RX亮
  • TX:串口数据发送指示灯,发送串口数据时,TX灯亮
  • CHG:电池充电指示灯,在没有接锂电池时,CHG闪烁;充电状态下,CHG灯常亮;充电完毕,CHG常灭
  • LINK:蓝牙连接指示灯,当蓝牙连接到设备后,连接成功后常亮3s,后每3s闪烁一次,断开连接后常灭

按键说明

  • BOOT:蓝牙固件更新;接近连接使能开关;
    • 更新固件:按下BOOT,然后上电(插上USB),进入固件更新模式,参见固件更新版块。
    • 接近连接:在蓝牙正常工作下(上电状态下),按住主机BOOT,靠近从机蓝牙设备,连接蓝牙。
  • RST:复位按键
warning_yellow.png
注:NC不连接,VCC为电源电压输出(5V-USB 供电时, 3.7V-锂电池供电时)

Arduino使用教程

Arduino板卡选型

对于FireBeetle BLE4.1控制器,出于低功耗的目的,选择了Arduino Pro Mini @3.3V 8MHz Bootloader,下载时请选择此板卡。

Fig2: FireBeetle Board-328P with BLE4.1 板卡选择

warning_yellow.png
**特别注意:**由于Pro Mini采用了8MHz晶振,处理速度较慢,在使用115200波特率时,可能会出现乱码、丢包等现象,建议使用9600bps。

低功耗Arduino测试程序

BLE 4.1通过AT+LOWPOWER=ON AT指令来让蓝牙进入低功耗,在低功耗模式下,蓝牙同样可以广播、连接。当蓝牙接收到数据后,会自动唤醒,并产生一个中断信号给328p芯片,这里的中断引脚连接到328p的D2,也即是代码中的中断0口。

#include <avr/sleep.h>

void wakeup(){
  sleep_disable();
  delay(2000);
}
void lowpower(){
 ADCSRA &= ~(1<<ADEN);/*关掉ADC*/
 TWCR &= ~(1<<TWEN);/*关掉TWI*/
 delay(10);
 set_sleep_mode(SLEEP_MODE_PWR_DOWN);/*设置睡眠模式为掉电模式*/
 sleep_enable();/*启用睡眠模式*/
 MCUCR |= (1<<BODS|1<<BODSE);
 MCUCR = MCUCR & (~(1<<BODSE)) | (1<<BODS);
 sleep_cpu();/*进入睡眠模式*/
}
void setup() {
 attachInterrupt(0, wakeup, CHANGE); /*设置触发D2口的中断方式为电平变化,回调函数为wakeup(),即执行唤醒328p芯片的功能*/
 lowpower();
}

void loop() {
 lowpower();
 delay(2000);
}
  • 在此低功耗模式下,FireBeetle Board-328P with BLE4.1主板整体功耗约70uA
  • 如果关闭中断及其他外设,FireBeetle Board-328P with BLE4.1主板整体功耗约25uA

尺寸图

  • pin脚间距:2.54mm
  • 安装孔间距:24mm/53mm
  • 安装孔尺寸:3.1mm
  • 主板尺寸:29.00mm×58.00mm
  • 板厚:1.6mm

Fig1: FireBeetle Board-328P with BLE4.1尺寸图

更多资料

DFshopping_car1.png DFRobot商城购买链接