项目简介
本项目是基于C语言的嵌入式应用程序,借助Nordic Semiconductor的nRF5 SDK,实现对Bleam设备的扫描与连接,接收并存储扫描数据。同时支持设备固件更新(DFU),具备错误处理系统,可在紧急重置后保留错误数据并报告状态。
项目的主要特性和功能
- 模块初始化:对日志、蓝牙堆栈、定时器、电源管理、数据库发现模块等基础模块进行初始化。
- 蓝牙交互:处理蓝牙连接、断开连接、配对请求等事件,能应对iOS设备特殊问题。
- 数据配置存储:完成配置服务,标记配置完成,加载和存储扫描参数与配置数据。
- 错误处理:在启动时处理可能出现的错误。
- 电源管理:初始化电源管理模块并设置事件处理器。
- 主循环操作:处理空闲状态,调用电源管理运行和喂狗。
安装使用步骤
假设用户已下载本项目的源码文件,可按以下步骤操作:
1. 配置开发环境:
- 推荐使用Segger Embedded Studio,使用SES V4.52c 版本,因其与nRF SDK 15.3.0兼容。
- 安装GNU Arm Embedded Toolchain。
2. 复制仓库及子模块:
git submodule update --init --recursive
3. 下载并提取SDK:
- 从官网下载nRF SDK 15.3.0和nRF SDK 12.3.0,下载时不勾选SoftDevices,下载压缩包。
- 将SDK解压到Bleam Scanner 3仓库根目录。
4. 构建micro - ecc库:
- nRF52项目:
cd nRF5_SDK_15.3.0_59ac345/external/micro-ecc
cd nrf52hf_armgcc/armgcc
make
- nRF51项目:
cd nRF5_SDK_12.3.0_d7731ad/external/micro-ecc
cd nrf51_armgcc/armgcc
make
5. 构建项目:
- 打开SES,加载bleam_scanner_3.emProject
。
- 选择要构建的项目和构建配置(如Release或Release With Debug Information)。
- 构建项目,结果位于build/
目录下对应项目名称和构建配置文件夹中。
6. 烧录固件:
- 仅应用程序:需应用程序.hex
二进制文件和对应的SoftDevice .hex
二进制文件,可通过nrfjprog或nRF Connect Programmer烧录。
- 应用程序和引导加载程序:除上述文件外,还需引导加载程序.hex
二进制文件和引导加载程序设置二进制文件。使用nrfutil生成引导加载程序设置,mergehex合并文件,再用nrfjprog烧录。
7. 测试与调试:使用调试工具对烧录好的固件进行测试和调试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】