国外课栈 - 国外电子信息技术视角栈

Nordic nRF52840高级蓝牙5

 二维码 53

关联知识

在本文中,我们将学习使用Arduino IDE的Nordic nRF52840低功耗蓝牙5.0及其应用。 nRF52840 SoC是由Nordic Semiconductor设计和开发的灵活,高效的Bluetooth 5。 nRF52840 SoC围绕32位ARM®Cortex®-M4F处理器构建,针对超低功耗操作进行了优化。 它具有对蓝牙5,蓝牙网状网络,ANT和2.4 GHz专有堆栈的协议支持。

NRF52840 BLE 5.0具有广泛的应用程序,例如网格网络,例如,从单个智能手机关闭整个建筑物的照明。 同样,它也可用于BPM,SP02,温度计等医疗保健应用。 其他应用领域包括运动员的健身和运动领域,Internet连接,通用传感器,通过GATT配置文件进行的HID连接,接近感应,音频硬件,警报系统,无线键盘,鼠标和游戏控制器。

在本入门教程中,我们将对NRF52832开发板进行编程。 我们将学习有关GPIO引脚,架构和引脚映射的所有信息。 我们还将提供有关Adafruit的Bluefruit App的信息。 使用Bluefruit App,我们可以通过Android App和NRF52840开发板之间的无线连接来控制各种设备。

低功耗蓝牙(BLE 5.0)

蓝牙5.0是蓝牙无线通信标准的最新版本。 自从蓝牙4.0中引入低功耗蓝牙以来,蓝牙5是蓝牙标准中最重大的进步。 通常用于无线耳机和其他音频硬件,以及无线键盘,鼠标和游戏控制器。 蓝牙还用于各种智能家居和物联网(IoT)设备之间的通信。

与BLE 4.0相比,蓝牙5有四个重要的新功能:

  1. 2 Mbps的更高比特率
  2. 在500 kbps和125 kbps的两个新的较低比特率下具有更高灵敏度的远程模式
  3. 广告扩展功能使广播功能提高了8倍
  4. 改进的频道选择算法

术语

Central

Central是主机,通常是移动设备,例如电话或平板电脑,或者台式机或笔记本电脑。

Peripheral

外围设备是连接的设备,例如心率监视器,智能手表或健身跟踪器。

Advertising

术语广告是指在建立连接时外围设备发送的信息。 设备做广告时,它正在传输设备名称并描述其功能。 中心寻找要连接的广告外围设备,并使用该信息来确定外围设备的功能。

Service

它是外围设备提供的功能。 外设通告其服务。 我们使用的一种真正通用的服务是UART服务,它的作用类似于硬件UART,并且是一种双向向设备发送信息或从设备发送信息的方法。

Packet

设备发送的数据称为数据包。 BLE设备和主机计算机以称为数据包的小脉冲串发送和接收数据。

Nordic nRF52840片上系统

nRF52840片上系统基于32位ARM®Cortex®-M4F处理器构建,该处理器针对超低功耗运行进行了优化,结合了蓝牙5,蓝牙网格,线程,IEEE 802.15.4,ANT和2.4GHz专有技术。 它还具有片上NFC-A标签和片上USB 2.0(全速)控制器。 SoC是用1 MB闪存和256 kB RAM开发的。

要了解有关NRF52840芯片的功能和规格的更多信息,请遵循以下数据表:nRF52840数据表

Nordic nRF52840开发板

有各种制造商的Nordic nRF52840开发板。 该板通常使用Segger Embedded Studio进行编程。 但是有些板确实支持CircuitPython和Arduino IDE。 在本文中,我们将使用Arduino IDE对nRF52840开发板进行编程。

现在,我们需要选择一块板来开始。如下图所示,市场上有来自不同供应商的多个板。

图略

我从Makerfabs选择了MakePython nRF52840板。该板具有一个额外的1.3英寸I2C OLED显示屏,这对像我们这样的初学者来说是一个额外的优势。 MakePython nRF52840开发板同时支持Arduino和Python代码。

图略

MakePython nRF52840开发板

MakePython nRF52840是一款功能强大的通用BLE MCU模块,面向CircuitPython / MicroPython学习者和开发人员。这是真正的“面包板兼容”,带有非常详细的引脚说明,易于学习和使用。

这款MakePython nRF52840引出了Nordic nRF52840的所有引脚,默认情况下使用CircuitPython进行编程,用户可以随手进行CircuitPython的开发。 它还与Arduino兼容,如果下载了正确的引导程序,则可以轻松入门。

图略

让我们了解MakePython nRF52840引脚。 板上有20个左外部PIN,8个左内部PIN,12个右外部PIN和9个右内部PIN。 SSD1306

让我们了解MakePython nRF52840引脚。 板上有20个左外部PIN,8个左内部PIN,12个右外部PIN和9个右内部PIN。 SSD1306 / SSD1315 OLED显示屏的SDA和SCL引脚是板上的引脚P0.26和P0.27。 板载LED位于引脚处。 该开发板具有2个micro-USB端口。 板子的顶部(OLED侧)MicroUSB是USB 2.0端口,板子的底部是USB-to-UART(CP2102)端口。

图略

使用Arduino IDE

现在,我们使用Arduino IDE进入“编程部分”和“编程nRF52840”。关于该板最好的部分是,该板已预安装“ CircuitPython Bootloader”和“ Arduino Bootloader”。

将Arduino Bootloader下载到nRF52840开发板

要将固件下载到nRF52840板,您需要具有J-Link。如下所示:

内容略

将nRF52840添加到Arduino IDE的Board Manager

现在我们需要将Boards安装到Arduino IDE。因此,请按照以下步骤操作:

内容略

第一个程序– LED闪烁

Adafruit Bluefruit LE Connect应用程序

内容略

代码略

nRF52840 Adafruit Bluefruit LE Connect应用之间的通信

内容略

视频演示

阅读完整文档

文章分类: 电子创客EM-Bluetooth