×
嵌入式 > 技术百科 > 详情

低功耗蓝牙开发板Cannon(小钢炮)测评

发布时间:2020-06-15 发布时间:
|

除了火热的物联网在蓬勃发展,蓝牙也是不甘落后的。

小钢炮(Cannon)是基于STM32F4与ST的蓝牙芯片BlueNRG的低功能蓝牙开发板。其最大的一个特点就是板载有大量的传感器,而这些传感器也全是ST的产品,可以说这是一块很纯的ST的开发板。

板载资源有单片机STM32F401、蓝牙芯片BlueNRG、陀螺仪LSM6DS3、磁力计LSM303AGR、温湿度计HTS221、气压计LPS25HB等。

BlueNRG是意法半导体(ST)推出的一款蓝牙控制器芯片(Controller)。它功耗极低、发射功率可以达到+8dB,是业内发射距离最远的低功耗蓝牙芯片。BlueNRG-MS支持M/S(Master/Slave,主从一体)协议栈的芯片版本。

BlueNRG属于上面描述的双芯片方案,它内部实现了蓝牙协议栈。实际应用中,外面需配有MCU,MCU负责完成Profile和应用层事物,而BlueNRG负责完成蓝牙通信的任务:

开发板支持SWD的仿真方式,预留有SWD的仿真接口。另外,开发板还将BOOT0与BOOT1引出来,可以通过跳线进行选择启动方式。而开发板的电源,可以通过绿色的端子进行供电,也可以通过micro USB进行供电,选择USB供电时,要短接USB接口旁的两个插针。

硬件说罢,再来说一下软件。

相关低功耗蓝牙开发板推荐:

  • Cypress PSoC-4 驱动套件   一款基于Cortex M0内核其低功耗蓝牙解决方案PSoC4 BLE 可编程片上系统具有史无前例的易用性和高集成度,可用于物联网、医疗设备、运动健身监控等可穿戴智能设备中。
  • Nordic nRF51蓝牙加密狗  一款nRF51加密狗是生产用于nRF51系列SoC的智能蓝牙,ANT和2.4GHz应用程序的开发工具。它有一个标准的USB连接器,并且可以直接插入个人计算机的USB端口。
  • PAN1740系列低功耗蓝牙 一款单模蓝牙片上系统模块,经过优化以得到低功耗和小尺寸。PAN1740 是松下的下一代蓝牙低功耗模块,尺寸缩小、功耗大幅降低,而且嵌入 BLE 堆栈。

小钢炮的软件体系建立在SDK之上,它是一个凝结了多年蓝牙开发经验的SDK,包含了通信、驱动、系统和中间件等软件模块,充分降低蓝牙的开发门槛。官方提供了丰富的例程,涵盖了板载的所有传感器,其配套的开发环境是通用IDE Kei。

小钢炮的嵌入式代码架构如下:

BLE是Bluetooth Low Energy,低功耗蓝牙的简称。

  • Application Level: 最上层是应用层,开发者通过SDK提供的接口进行编程。
  • Middleware Level: 中间件层,包括了通信协议栈、外设数据(流)接口、各类算法(安全加解密、运动检测等)、文件系统、操作系统或编程框架。
  • Low Level: 底层包括了硬件抽象层(HAL/CMSIS)、外设驱动、板级支持包(BSP)等。
  • 小钢炮的SDK包含了Middleware Level和Low Level两个组建。
  • Hardware: MCU硬件,小钢炮使用的是STM32F4,不过可以将代码移植到其他MCU上。

STM32F401与BlueNRG-MS通过SPI进行通讯,蓝牙的中断引脚与STM32F401的PC4连接,来判断蓝牙是否收到了数据。

通过Keil打开工程进行编译。

根据自己的仿真器类型选择仿真器。

将程序下载到开发板中。

相关低功耗蓝牙开发板推荐:

  • Cypress PSoC-4 驱动套件   一款基于Cortex M0内核其低功耗蓝牙解决方案PSoC4 BLE 可编程片上系统具有史无前例的易用性和高集成度,可用于物联网、医疗设备、运动健身监控等可穿戴智能设备中。
  • Nordic nRF51蓝牙加密狗  一款nRF51加密狗是生产用于nRF51系列SoC的智能蓝牙,ANT和2.4GHz应用程序的开发工具。它有一个标准的USB连接器,并且可以直接插入个人计算机的USB端口。
  • PAN1740系列低功耗蓝牙 一款单模蓝牙片上系统模块,经过优化以得到低功耗和小尺寸。PAN1740 是松下的下一代蓝牙低功耗模块,尺寸缩小、功耗大幅降低,而且嵌入 BLE 堆栈。

小钢炮(Cannon)提供了多个开源Android的APP软件。(APP源码地址)

手机端的调试工具

开启手机蓝牙,打开软件,点击Scan进行设备扫描,之后会看到如下的扫描结果:

选择“BlueNRG_Switch”的设备名,再点击Connect按钮进行连接。

连接成功后。

默认情况下,开发板的LED-D3是点亮的。点击“SEND”发送数据“00”,点击“OK”将数据发送出去。

此时,LED-D3熄灭。

再发送“01”。

则LED-D3点亮

数据的传输过程都会显示出来。

进行了功能上的测试后,再来看一下STM32F401上的程序。其中的功能主要是以下的函数,value 所指向的地址中存储的是蓝牙所收到的数据。至于为什么收到的数据在value中,可以详细查阅源码。

还有一个是ST Sensor,这是一个比较综合的例程。其中包括:温湿度、气压、磁力计、加速度、陀螺仪。

开发板上要烧写sensor_tag的例程。烧写后,LED-D3为亮

打开APP软件,点击“Select Device”找到开发板的蓝牙进行连接。

当连接上蓝牙后,LED-D3开始闪烁。也收到了开发板发出的数据。

当移动开发板时,相应的参数也对应的更改了。

总结

小钢炮可以应用于可穿戴、遥控玩具、智能家居等领域,有了小钢炮的软硬件基础,您不必再从“0”开始打造一款智能产品。其提供了大量的传感器例程,方便移植到自己的项目产品中。支持Andriod端APP软件的开源,也是较方便可以设计自己的APP软件,使用产品更加完善。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
物联传感与Atmel强强联手 达成智能家居战略合作协议