|
本文介绍了在nRF51822上如何开始编写低功耗蓝牙(BLE)应用程序,包括对BLE的特性进行了概要的介绍,并且详细描述了构建一个定制服务的简单例程,这个简单的例程叫做LED Button服务。
1 简介
本文的目的是教你如何一步步创建自己的BLE应用程序,包括使用nRF51822芯片创建一个定制的服务。
1.1 最低要求
需要有嵌入式C语言编程经验,以便完全理解本应用手册。
1.1.1 需要的工具
需要一个nRF51822 Evaluation Kit的开发板,另外还需要下载和安装以下软件工具:
• S110 SoftDevice
• nRFgo Studio
• nRF51 SDK
• Keil MDK-ARM
• SEGGER’s J-Link tools
如何把协议栈固件S110 SoftDevice烧录到nRF51822芯片中请参考:《nRF51822 Evaluation Kit User Guide》。
注意:当编写本文档时参考了最新版本的nRF51 SDK 5.2.0和最新版本的协议栈S110 SoftDevice 6.0.0。
1.2 文档说明
下面的文档是重要的参考资料。
文档
描述
nRF51822 Evaluation Kit User Guide
使用Evaluation Kit开发板的介绍和配置,包括Keil和SoftDevice的配置。
nRF51 SDK documentation
这个文件在SDK安装的文件夹之下的子文件夹中,包含了SDK中所有功能API的文档。
S110 nRF51822 SoftDevice Specification
介绍了协议栈S110 SoftDevice,包括资源的用法和高级的功能函数。
nRF51822 Product Specification
描述了nRF51的硬件、模块和电气特性。
nRF51 Series Reference Manual
介绍了nRF51芯片系列所有功能模块的描述和芯片所有的外围资源。
nAN-15: Creating Applications with the Keil C51 Compiler
这个应用手册包含使用Keil μVision的信息,它为nRF24LE1芯片而写,但是3.3节“Including files”和3.4节““Debug your project”同样适用于nRF51822芯片。
Bluetooth Core Specification, version 4.0
卷1,3,4,6
这个文档由蓝牙技术联盟组织提供,包含了关于蓝牙服务和profiles的信息。
1.3 蓝牙技术资源
所有蓝牙技术联盟的服务、特性和描述都是根据蓝牙开发网站来定义,可以参考规范的不同部分找到UUID或者是数据格式的定义。
1.4 nRF51822 和 S110 SoftDevice
S110 SoftDevice是BLE外围设备协议栈的解决方案,它集成了低功耗控制器、主机,并提供了一个完整和灵活的API用于在一个片上系统(SoC)构建一个低功耗蓝牙的解决方案,S110 SoftDevice提供的是已经编译完成的HEX文件,在加载你的应用程序之前,你必须把它预先烧录到芯片中。
S110 SoftDevice 使用了一部分芯片的flash和RAM,它们在你的代码中已被保护,因此你不能意外地写数据到该区域。S110 SoftDevice也需要互斥地访问外围资源和寄存器。
如何烧录S110 SoftDevice到nRF51822中请参考:
《nRF51822 Evaluation Kit User Guide》
SoftDevice使用了哪些资源,请参考:
《nRF51822 S110 SoftDeviceSpecification》
1.5 应用简述
LED Button 应用示例是为了让你学习如何在nRF51822上开发BLE应用,它是一个通过BLE的通知功能进行通信的BLE应用的简单演示。当它运行时,你可以通过集中器(见第10页2.2.1节“角色”中对集中器的定义部分)触发nRF51822上LED的输出,并且当在nRF51822上的按键被按下时集中器将会收到一个通知。
这个应用通过一个服务(见第10页2.2.2节“GATT层”服务和特性的描述部分)被建立,这个服务包括2个特性:LED特性和按键特性。LED特性:通过没有回应的写远程操作LED的亮灭。按键特性:当按键被按下时,将会发送一个通知到集中器。
柯工 18948743292
|
|