前言
-
最近翻箱,发现了两块几年前买的 NRF52832 与 NRF52840 的开发板,打算搭个 BLE 的开发环境
-
NRF52832 与 NRF51822 之前用过, NRF52840 没有用过,好像是 BLE4 与 BLE5 的区别吧
相关介绍
-
除了开发板,最重要的还是资料,至少需要了解开发板的原理图,这部分查找了一下,终于从网盘里面找了出来,之前购买开发板时,卖家把资料以网盘的方式发了过来,所以资料的【备份】确实很有必要。
-
我还是想多从 官方了解更多,比如假设我只拿到了一个带原理图的开发板,如何一步步让它工作起来,熟悉各个模块,资料准备、环境搭建、工程编译、下载,各个功能的调试
-
nrf52 系列,有较大的 Flash 与 RAM 空间, nrf51 系列资源较少,可能主流是 nrf52 系列了
-
之前用了 nrf52832,做蓝牙主机,手机可以配置一些数据,如 阿里云 MQTT 的三要素,现在想基于之前做的,搞个蓝牙通信配置的功能出来,现在常用的打印机、共享单车锁、智能插座等,都支持蓝牙配置。
-
蓝牙是近距离通信,但是低功耗、无线,这个最大的优势,如果再让它连接 WIFI 或者 4G 这样的模块,就可以搞定 远距离通信,近距离用于参数配置
资料收集与搜集
-
有了硬件,拿到了开发板的资料,我想先手动搜集一些资料,加强对芯片,对应用场景的回顾与认识。
-
当前了解到这个 nrf52832 还没有被市场淘汰,可以在 nordic 官网轻松获取 【规格书】
-
nrf52 系列地址: https://www.nordicsemi.cn/products/nrf52832/
-
https://infocenter.nordicsemi.com/topic/struct_nrf52/struct/nrf52832.html
-
nrf52832 芯片的参考手册 https://infocenter.nordicsemi.com/pdf/nRF52832_PS_v1.8.pdf
-
芯片的手册(规格书),最好下载到本地,随时翻阅。各个模块,如 GPIO、I2C、SPI 等外设的使用,都需要对芯片有个熟悉
蓝牙 sdk
- nordic 芯片本身没有 蓝牙的协议栈,这个协议栈,比如蓝牙从机、蓝牙主机等,Nordic 以 bin 文件的形式提供,这就需要 nrf52832 有足够的 Flash、RAM 用于跑蓝牙协议栈,当前 nrf52832 Flash 与 RAM 参数分为两种:
512 kB flash/64 kB RAM
256 kB flash/32 kB RAM
-
建议选择
512 kB flash/64 kB RAM
的 nrf52832(芯片型号后缀),这样用户做的事情就多了起来,否则后期会由于资源不够用,比如 蓝牙 OTA 升级。当然 OTA 升级分为两种,一种是双分区,比较浪费分区,但是靠谱,一种是单分区,升级出了问题,比如升级的固件有问题,就变砖,可能需要有线升级,OTA 升级部分,后面专门写篇文章记录 -
nrf52832 如果需要蓝牙功能(肯定需要开启,否则买来当普通 MCU 浪费成本),就去官方下载 相应的 SDK, SDK 下载地址:
-
https://www.nordicsemi.com/Products/Development-software/nRF5-SDK/Download
-
下载前,可以简单看一下,是否支持自己的芯片,当前最新的版本支持 NRF52832,就下载最新的版本
开发工具
-
记得之前是 J-Link + Keil MDK 的开发方式,需要安装 Keil 的 pack 包,当前买开发板时,顺便买了一个调试工具,J-OB,还没有用,后面搭建好工程就开始使用
-
首先安装 Keil MDK,这个开发 MCU 单片机,比如 STM32,是经常使用的
-
NRF 的工具:用于烧写 蓝牙协议栈
-
蓝牙抓包工具,买了一个,还没有用起来,后面用起来再说,主要是调试蓝牙协议,比如通过蓝牙发送一些自定义的数据包。
-
其他的工具:需要时再整理吧,我当时自己使用 Android Studio 写 BLE 的通信小程序
-
nRF Connect
,之前没有用到,现在打算用一下,相关的地址: https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-Desktop/Download#infotabs -
nRFgo Studio,之前用来烧写 蓝牙协议栈,https://www.nordicsemi.com/Products/Development-tools/nrfgo-studio/download,好像被
nRF Connect
代替了
小结
-
记录一下 nrf52832 开发板入手的一些操作笔记
-
工欲善其事必先利其器,先准备好必要的软件与资料,这样开发调试起来会快很多