BLEMotion-Kit 支持蓝牙运动传感评估套件

发布于:2022-12-30 ⋅ 阅读:(1029) ⋅ 点赞:(0)

1. 说在最前面

1.1 为什么要做

接触了惯性导航相关产品的开发之后,我感觉要利用业余时间做些什么,思考了很久也没发现自己能有什么好的想法,做一个不一样的东西。但是一直停留在思考的阶段挺痛苦的,于是我决定不如先行动,先动起来在调整。最终利用业余时间设计了一款基于BLE+6轴传感器的评估套件。 在做例程规划的时候,我突然发现,我可以做一些垂直于行业的方案评估,支持蓝牙的环境和运动传感解决方案。于是就有了这套基于 RISC-V BLE(CH573) 的嵌入式开发板,我给它取名为:BLEMotion-Kit

1.3 民间开发套件

购买链接

1.2 更新记录

@2022/09/28 硬件版本更新为: BLEMotion-Kit-R1

  1. 将 BLE 模块的微处理器改为 CH583F (CH573F与CH583F 引脚P2P兼容)
  2. 将 BLE 模块换成直插式
  3. 按键换成增加高度的,在OLED旁边轻触方便
  4. UART 转 USB 换成 CH340N
  5. 增加拨动电源开关
  6. 引出 WCH-link 仿真调试接口

2. BLEMotion-Kit-R1 的颜值

@2022/09/28 硬件版本更新为: BLEMotion-Kit-R1
在这里插入图片描述

2.1 引脚分配

端口功能 引脚名 功能 备注
按键S1 PB23 RESET
按键S2 PB22 BOOT 下载程序前,先按下boot再上电LED
LED1 PB15 IIC,JP7短接有效
扩展PIN20 PB15 MISO SPI,JP8短接有效
SDA1 PB14 OLDE数据线 IIC,JP5短接有效
扩展PIN18 PB14 MOSI SPI,JP6短接有效
SCL1 PB13 OLDE时钟线 IIC,JP3短接有效
扩展PIN16 PB13 SCLK SPI,JP4短接有效
扩展PIN4 PB12 NSS SPI
TXD PA9 UART_TX JP15短接有效
扩展PIN2 PA9 JP16短接有效
RXD PA8 UART_RX JP13短接有效
扩展PIN1 PA8 JP14短接有效
SDA0 PB7 MEMS传感器数据线 JP11短接有效
扩展PIN14 PB7 JP12短接有效
SCL0 PB4 MEMS传感器时钟线 JP9短接有效
扩展PIN12 PB4 JP10短接有效
INT0 PA4 MEMS传感器中断线 JP1短接有效
扩展PIN3 PA4 JP2短接有效
扩展PIN6 PA5
扩展PIN5 PA15 AIN5
扩展PIN7 PA14 AIN4
扩展PIN9 PA13 AIN3
USB PA11 USB1_D-
PA12 USB1_D+

2.2 CH583

在这里插入图片描述
产品特点

  • 32位RISC处理器青稞V4A
  • 支持RV32IMAC指令集,支持硬件乘法和除法
  • 32KB SRAM,512KB Flash,支持ICP、ISP和IAP,支持OTA无线升级
  • 内置2.4GHz RF收发器和基带及链路控制,支持BLE5.3
  • 支持2Mbps、1Mbps、500Kbps、125Kbps
  • 接收灵敏度-98dBm,可编程+7dBm发送功率
  • 提供协议栈和应用层API
  • 内置温度传感器
  • 内置RTC,支持定时和触发两种模式
  • 提供2组USB2.0 全速Host/Device
  • 提供14通道触摸按键
  • 提供14通道12位ADC
  • 提供4组UART,2组SPI,12路PWM,1路IIC
  • 40个GPIO,其中4个支持5V信号输入
  • 最低支持1.7V电源电压
  • 内置AES-128加解密单元,芯片唯一ID
  • 封装:QFN48

3. 开发环境

支持 MounRiver Studio (MRS)。
MRS 的介绍和软件资源在:MRS 官网

3.1 firmware 例程

文件目录
  |
  |-- CH583: 低功耗蓝牙 - 32位RISC-V内核微控制器
  |      |-- CH583安卓OTA升级工具V1.1: CH583 OTA相关例程配套APP升级工具及源码,OTA升级说明文档及合并工具
  |      |-- EVT: CH583相关例程
  |      |      |-- EXAM: 
  |      |      |      |-- SRC  
  |      |      |      |      |-- Ld:link文件
  |      |      |      |      |-- RVMSIS:内核系统头文件
  |      |      |      |      |-- Startup:CH58x系列启动文件
  |      |      |      |      |-- StdPeriphDriver:基本外设驱动源文件及头文件
  |      |      |      |-- ADC:adc采样例程,包括温度检测、单通道检测、差分通道检测、TouchKey检测、中断方式采样
  |      |      |      |-- FLASH:片上flash例程:包括Code区,DataFlash区的擦//|      |      |      |-- FreeRTOS:FreeRTOS移植例程
  |      |      |      |-- I2C:I2C例程,Master/Slave 模式数据收发,详细说明参考根目录<I2C接口使用指南.PDF>文档
  |      |      |      |-- IAP
  |      |      |      |      |-- APP:和IAP配套使用的APP程序例程
  |      |      |      |      |-- USB_IAP:通过USB更新片上程序的例程
  |      |      |      |      |-- UART_IAP:通过串口更新片上程序的例程
  |      |      |      |      |-- WCHMcuIAP_WinAPP:IAP上位机工具及源码
  |      |      |      |-- PM:系统睡眠模式并唤醒例程:GPIOA_5作为唤醒源,共4种功耗等级
  |      |      |      |-- PWMX:PWM4-11输出功能例程
  |      |      |      |-- SPI0:SPI0例程,Master/Slave 模式数据收发 
  |      |      |      |-- TMR:定时器功能例程  
  |      |      |      |-- UART1:串口1收发例程
  |      |      |      |-- USB
  |      |      |      |      |-- Device
  |      |      |      |      |      |-- COM:USB模拟CDC设备例程
  |      |      |      |      |      |-- VendorDefinedDev:模拟自定义USB设备(CH372设备)例程,提供8个非0通道(上传+下传),实现数据先下传,然后数据内容取反上传
  |      |      |      |      |      |-- CompoundDev:USB模拟键鼠例程,支持增加数据上传;USB唤醒功能,USB HID类命令。 
  |      |      |      |      |      |-- CompoundU2Dev:USB2模拟键鼠例程,支持增加数据上传;USB唤醒功能,USB HID类命令。 
  |      |      |      |      |      |-- HID_CompliantDev:USB模拟HID兼容设备例程
  |      |      |      |      |-- Host
  |      |      |      |      |      |-- HostEnum:USB常见设备hid键鼠,hub的枚举数据上下传演示等
  |      |      |      |      |      |-- HostU2Enum:USB2常见设备hid键鼠,hub的枚举数据上下传演示等
  |      |      |      |      |      |-- HostAOA:USB主机应用例子,支持连接安卓设备与APP进行通讯。
  |      |      |      |      |      |-- U_DISK:U盘文件系统示例
  |      |      |      |      |      |      |-- EXAM1.C:C示例源程序,以字节为单位读写文件,包括文件创建、删除、修改文件属性,修改文件名  
  |      |      |      |      |      |      |-- EXAM10.C:C示例源程序,包括文件创建、删除、修改文件属性,修改文件名  
  |      |      |      |      |      |      |-- EXAM11.C:C示例源程序,枚举根目录或者指定目下的文件  
  |      |      |      |      |      |      |-- EXAM13.C:C示例源程序,创建长文件名文件  
  |      |      |      |      |      |-- USB_LIB:U盘文件系统库文件
  |      |      |      |-- BLE
  |      |      |      |      |-- Broadcaster:广播者角色例程,处于广播态一直广播
  |      |      |      |      |-- CyclingSensor:骑行传感器例程,连接主机后定时上传速度和踏频
  |      |      |      |      |-- CentPeri:主从一体例程,整合了主机例程和从机例程的功能同时运行
  |      |      |      |      |-- Central:主机例程,主动扫描周围设备,连接至给定的从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,默认为(84:C2:E4:03:02:02)
  |      |      |      |      |-- HeartRate:心率计例程,连接主机后定时上传心率
  |      |      |      |      |-- Peripheral:外设从机角色例程,自定义包含五种不同属性的服务,包含可读、可写、通知、可读可写、安全可读
  |      |      |      |      |-- RunningSensor:跑步传感器例程,连接主机后定时上传速度
  |      |      |      |      |-- HID_Keyboard:蓝牙键盘例程,模拟键盘设备,连接主机后定时上传键值
  |      |      |      |      |-- HID_Mouse:蓝牙鼠标例程,模拟鼠标设备,连接主机后定时上传键值
  |      |      |      |      |-- HID_Consumer:蓝牙拍照器例程,模拟用户控制设备,连接主机后定时上传音量键下键
  |      |      |      |      |-- HID_Touch:蓝牙触摸例程,模拟触摸笔设备,连接主机后定时上传触摸值
  |      |      |      |      |-- MultiCentPeri:多主机多从机例程,支持同时连接三个主机三个从机
  |      |      |      |      |-- MultiCentral:主机多连接例程,主动扫描周围设备,连接至给定的三个从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,三个从机设备地址默认为 (84:C2:E4:03:02:02)(84:C2:E4:03:02:03)(84:C2:E4:03:02:04)
  |      |      |      |      |-- Observer:观察者角色例程,定时扫描,如果扫描结果不为空,则打印扫描到的广播地址
  |      |      |      |      |-- Direct_Test_Mode:DTM测试例程序,结合RF测试工具使用
  |      |      |      |      |-- RF_PHY:非标准无线收发例程
  |      |      |      |      |-- RF_PHY_Hop:非标准无线跳频收发例程
  |      |      |      |      |-- MESH
  |      |      |      |      |      |-- adv_ali_light:天猫精灵灯例程,可通过天猫精灵找队友配网设备,控制开关状态。默认只有开关属性,如需添加其余属性(亮度,电量,温度等),需要自行根据阿里云产品配置的属性描述添加对应处理函数以及状态上报函数。
  |      |      |      |      |      |-- adv_ali_light_add_lightness:MESH通用属性添加例程。天猫精灵灯例程的基础上,添加了亮度属性,用于对照原天猫精灵灯例程,快速熟悉添加其他MESH通用属性的方法。
  |      |      |      |      |      |-- adv_ali_light_add_windspeed:天猫定义属性添加例程。天猫精灵灯例程的基础上,添加了风速属性,用于对照原天猫精灵灯例程,快速熟悉添加其他天猫定义属性的方法。
  |      |      |      |      |      |-- adv_ali_light_multi_element:多元素天猫精灵风扇灯例程。同时包含风扇开关摇头和灯开关颜色控制。用于对照原天猫精灵灯例程,快速熟悉添加多个属性的方法。
  |      |      |      |      |      |-- adv_ali_light_with_peripheral:天猫精灵灯例程的基础上,添加亮度和色温控制,并支持手机BLE调试助手连接控制。
  |      |      |      |      |      |-- adv_proxy:代理节点例程,可通过PB_GATT层(BLE连接)进行配网。
  |      |      |      |      |      |-- adv_vendor:厂商自定义模型例程,配合self_provisioner_vendor使用,支持有应答传输和无应答透传两种通信属性,自行拟定通信协议。
  |      |      |      |      |      |-- adv_vendor_friend:厂商自定义模型例程的基础上,支持朋友节点功能
  |      |      |      |      |      |-- adv_vendor_low_power:厂商自定义模型例程的基础上,支持低功耗节点功能,需与朋友节点配合使用
  |      |      |      |      |      |-- adv_vendor_self_provision:厂商自定义模型例程的基础上,支持本地自配网,适配无配网者或简化配网流程等特殊应用场景
  |      |      |      |      |      |-- adv_vendor_self_provision_IAP:MESH备份无线升级IAP例程,检测当前代码标志,判断是否搬运备份区代码到用户区并运行用户区代码
  |      |      |      |      |      |-- adv_vendor_self_provision_JumpIAP:MESH备份无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序
  |      |      |      |      |      |-- adv_vendor_self_provision_with_peripheral:MESH备份无线升级用户例程,厂商自定义模型例程的基础上,支持手机BLE调试助手连接控制,通过BLE接收配网信息并将自身配网,适用于终端控制组网应用,可自行拟定通信协议实现手机控制mesh网络中所有设备。
  |      |      |      |      |      |-- self_provisioner_vendor:厂商自定义模型自配网发起者例程,配合adv_vendor使用,自动配网周围未配网设备,并将其加入自身mesh网络,默认支持配网6个设备。默认配置设备绑定1个APPKEY,用于有应答传输和无应答透传,配置设备绑定1个订阅地址,用于群发无应答消息
  |      |      |      |      |      |-- self_provisioner_vendor_with_peripheral:厂商自定义模型自配网发起者例程的基础上,支持手机BLE调试助手连接控制,中转手机与mesh网络的通信,可自行拟定通信协议实现手机控制mesh网络中所有设备。
  |      |      |      |      |      |-- MESH_LIB:MESH协议栈库文件及其头文件
  |      |      |      |      |      |-- 沁恒MESH APP管理配网应用手册.pdf
  |      |      |      |      |      |-- 沁恒低功耗蓝牙MESH软件开发参考手册.pdf
  |      |      |      |      |-- BackupUpgrade_IAP:备份无线升级IAP例程,检测当前代码标志,判断是否搬运备份区代码到用户区并运行用户区代码
  |      |      |      |      |-- BackupUpgrade_JumpIAP:备份无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序
  |      |      |      |      |-- BackupUpgrade_OTA:备份无线升级用户例程,外设从机例程基础上添加OTA功能,可将升级固件保存到备份区后跳转IAP程序进行升级
  |      |      |      |      |-- OnlyUpdateApp_IAP:固定库无线升级IAP例程,具备OTA功能,接收升级固件后对用户区代码进行升级
  |      |      |      |      |-- OnlyUpdateApp_JumpIAP:固定库无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序
  |      |      |      |      |-- OnlyUpdateApp_Peripheral:固定库无线升级用户例程,外设从机例程基础上添加跳转IAP程序进行后续升级的功能
  |      |      |      |      |-- BLE_UART:蓝牙串口透传例程,详细说明参考根目录<说明.txt>文档
  |      |      |      |      |-- BLE_USB:蓝牙与USB合用例程,USB模拟340设备转发蓝牙数据
  |      |      |      |      |-- SYNC_ADV:周期同步广播例程
  |      |      |      |      |-- SYNC_SCAN:周期同步扫描例程
  |      |      |      |      |-- HAL:例程共用的硬件相关文件
  |      |      |      |      |-- LIB:BLE协议栈库文件及其头文件
  |      |      |      |      |-- WCH蓝牙空中升级(BLE OTA).PDF
  |      |      |      |      |-- 沁恒低功耗蓝牙软件开发参考手册.pdf
  |      |      |      |      |-- BLE认证证书:产品:WCH CH58x  QDID:179771
  |      |      |-- PUB: CH583评估版原理图以及说明书
  |      |      |      |      :新增例程
  |      |      |      |      |-- ICM40607_Finaltest:上电自检例程	[已完成,随BLEMEMS-Kit评估板例程]
  |      |      |      |      |-- ICM40607_AttitudeAngle:输出原始数据/四元数/欧拉角, 在上位机上展示	
  |      |      |      |      |-- ICM40607_WakeonMotion: (基于硬件寄存器)运动唤醒功能			
  |      |      |      |      |-- ICM40607_AlgoVisualizer: 欧拉角3D动态,可视化上位机			
  |      |      |      |      |-- OLED_Demo:OLED 图形库显示动态效果					[
  |      |      |      |      |-- PocketMultimeter:袖珍万用表
  |      |      |      |      : 运动传感解决方案
  |      |      |      |      |-- ICM40607_PedometerFeature:计步器(抬腕检测)功能			
  |      |      |      |      |-- ICM40607_RaisetowakeFeature:抬起唤醒功能
  |      |      |      |      |-- ICM40607_TiltFeature:倾斜功能					
  |      |      |      |      |-- ICM40607_Freefall:自由跌落功能
  |      |      |      |      |-- ICM40607_TapFeature:敲击功能
  |      |      |      |      |-- QMI8658_AttitudeAngle:输出原始数据/四元数/欧拉角, 在上位机上展示
  |      |      |      |      |: 更多应用方案
  |      |      |      |      |-- wristband:手表

3.2 开发资源

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

下面是历史版本

2. BLEMotion-Kit 的颜值

版本: BLEMotion-Kit-R0
在这里插入图片描述
板子BLE模块
在这里插入图片描述

2.1 开发板购买链接

2.2 引脚分配

端口功能 引脚名 功能 备注
按键S1 PB23 RESET
按键S2 PB22 BOOT 下载程序前,先按下boot再上电LED
LED1 PB15 IIC,JP7短接有效
扩展PIN20 PB15 MISO SPI,JP8短接有效
SDA1 PB14 OLDE数据线 IIC,JP5短接有效
扩展PIN18 PB14 MOSI SPI,JP6短接有效
SCL1 PB13 OLDE时钟线 IIC,JP3短接有效
扩展PIN16 PB13 SCLK SPI,JP4短接有效
扩展PIN4 PB12 NSS SPI
TXD PA9 UART_TX JP15短接有效
扩展PIN2 PA9 JP16短接有效
RXD PA8 UART_RX JP13短接有效
扩展PIN1 PA8 JP14短接有效
SDA0 PB7 MEMS传感器数据线 JP11短接有效
扩展PIN14 PB7 JP12短接有效
SCL0 PB4 MEMS传感器时钟线 JP9短接有效
扩展PIN12 PB4 JP10短接有效
INT0 PA4 MEMS传感器中断线 JP1短接有效
扩展PIN3 PA4 JP2短接有效
扩展PIN6 PA5
扩展PIN5 PA15 AIN5
扩展PIN7 PA14 AIN4
扩展PIN9 PA13 AIN3
USB PA11 USB1_D-
PA12 USB1_D+

2.3 CH573

在这里插入图片描述

  • 32位RISC处理器
  • 支持RV32 IMAC指令集,支持单周期乘法和硬件除法
  • 内置18K SRAM,512K Flash ROM,支持ICP、ISP和IAP,支持OTA无线升级
  • 集成2.4GHz RF收发器和基带及链路控制,提高优化的协议栈和应用层API,支持组网
  • 支持3.3V和2.5V电源,内置DC/DC转换,0dBm发送功率时电流为6mA
  • 多种低功耗模式:Idle,Halt, Sleep, Shutdown, 内置电池电压低压监控,最低睡眠电流0.3uA
  • 内置USB控制器和USB收发器,支持USB2.0全速和低速主机或设备
  • 内置实时时钟RTC,支持定时和触发两种模式
  • 提供8通道12位ADC模数转换器,支持8通道触摸按键
  • 提供4组26位定时器,支持捕捉/采样,支持4路26位PWM输出,支持6路8位PWM输出
  • 提供4组独立UART,兼容16C550,最高通讯波特率可达6Mbps
  • 提供1组SPI,内置FIFO,支持Master和Slave模式
  • 内置温度传感器
  • 提供20个GPIO,其中4个支持5V信号输入,所有GPIO支持中断和唤醒功能
  • 内置AES-128加解密单元,芯片唯一ID
  • 封装:QFN28_4X4

3. 开发环境

支持 MounRiver Studio (MRS)。
MRS 的介绍和软件资源在:MRS 官网

3.1 firmware 例程

文件目录
  |
  |-- CH573: 低功耗蓝牙 - 32位RISC-V内核微控制器
  |      |
  |      |-- EVT: CH573相关例程
  |      |      |-- EXAM: 
  |      |      |      |-- SRC  
  |      |      |      |      |-- Ld:link文件
  |      |      |      |      |-- RVMSIS:内核系统头文件
  |      |      |      |      |-- Startup:CH57x系列启动文件
  |      |      |      |      |-- StdPeriphDriver:基本外设驱动源文件及头文件
  |      |      |      |-- ADC:adc采样例程,包括温度检测、单通道检测、差分通道检测、TouchKey检测、中断方式采样
  |      |      |      |-- FLASH:片上flash例程:包括Code区,DataFlash区的擦//|      |      |      |-- IAP
  |      |      |      |      |-- APP:和IAP配套使用的APP程序例程
  |      |      |      |      |-- USB_IAP:通过USB更新片上程序的例程
  |      |      |      |      |-- UART_IAP:通过串口更新片上程序的例程
  |      |      |      |      |-- WCHMcuIAP_WinAPP:IAP上位机工具及源码
  |      |      |      |-- PM:系统睡眠模式并唤醒例程:GPIOA_5作为唤醒源,共4种功耗等级
  |      |      |      |-- PWMX:PWM4-11输出功能例程
  |      |      |      |-- SPI0:SPI0例程,Master/Slave 模式数据收发 
  |      |      |      |-- TMR:定时器功能例程  
  |      |      |      |-- UART1:串口1收发例程
  |      |      |      |-- USB
  |      |      |      |      |-- Device
  |      |      |      |      |      |-- COM:USB模拟CDC设备例程
  |      |      |      |      |      |-- VendorDefinedDev:模拟自定义USB设备(CH372设备)例程,提供8个非0通道(上传+下传),实现数据先下传,然后数据内容取反上传
  |      |      |      |      |      |-- CompoundDev:USB模拟键鼠例程,支持增加数据上传;USB唤醒功能,USB HID类命令。 
  |      |      |      |      |      |-- HID_CompliantDev:USB模拟HID兼容设备例程
  |      |      |      |      |-- Host
  |      |      |      |      |      |-- HostEnum:USB常见设备hid键鼠,hub的枚举数据上下传演示等
  |      |      |      |      |      |-- HostAOA:USB主机应用例子,支持连接安卓设备与APP进行通讯。
  |      |      |      |      |      |-- U_DISK:U盘文件系统示例
  |      |      |      |      |      |      |-- EXAM1.C:C示例源程序,以字节为单位读写文件,包括文件创建、删除、修改文件属性,修改文件名  
  |      |      |      |      |      |      |-- EXAM10.C:C示例源程序,包括文件创建、删除、修改文件属性,修改文件名  
  |      |      |      |      |      |      |-- EXAM11.C:C示例源程序,枚举根目录或者指定目下的文件  
  |      |      |      |      |      |      |-- EXAM13.C:C示例源程序,创建长文件名文件  
  |      |      |      |      |      |-- USB_LIB:U盘文件系统库文件
  |      |      |      |-- BLE
  |      |      |      |      |-- Broadcaster:广播者角色例程,处于广播态一直广播
  |      |      |      |      |-- CyclingSensor:骑行传感器例程,连接主机后定时上传速度和踏频
  |      |      |      |      |-- CentPeri:主从一体例程,整合了主机例程和从机例程的功能同时运行
  |      |      |      |      |-- Central:主机例程,主动扫描周围设备,连接至给定的从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,默认为(84:C2:E4:03:02:02)
  |      |      |      |      |-- HeartRate:心率计例程,连接主机后定时上传心率
  |      |      |      |      |-- Peripheral:外设从机角色例程,自定义包含五种不同属性的服务,包含可读、可写、通知、可读可写、安全可读
  |      |      |      |      |-- RunningSensor:跑步传感器例程,连接主机后定时上传速度
  |      |      |      |      |-- HID_Keyboard:蓝牙键盘例程,模拟键盘设备,连接主机后定时上传键值
  |      |      |      |      |-- HID_Mouse:蓝牙鼠标例程,模拟鼠标设备,连接主机后定时上传键值
  |      |      |      |      |-- HID_Consumer:蓝牙拍照器例程,模拟用户控制设备,连接主机后定时上传音量键下键
  |      |      |      |      |-- HID_Touch:蓝牙触摸例程,模拟触摸笔设备,连接主机后定时上传触摸值
  |      |      |      |      |-- MultiCentPeri:多主机多从机例程,支持同时连接三个主机三个从机
  |      |      |      |      |-- MultiCentral:主机多连接例程,主动扫描周围设备,连接至给定的三个从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,三个从机设备地址默认为 (84:C2:E4:03:02:02)(84:C2:E4:03:02:03)(84:C2:E4:03:02:04)
  |      |      |      |      |-- Observer:观察者角色例程,定时扫描,如果扫描结果不为空,则打印扫描到的广播地址
  |      |      |      |      |-- Direct_Test_Mode:DTM测试例程序,结合RF测试工具使用
  |      |      |      |      |-- RF_PHY:非标准无线收发例程
  |      |      |      |      |-- RF_PHY_Hop:非标准无线跳频收发例程
  |      |      |      |      |-- MESH
  |      |      |      |      |      |-- adv_ali_light:天猫精灵灯例程,可通过天猫精灵找队友配网设备,控制开关状态。默认只有开关属性,如需添加其余属性(亮度,电量,温度等),需要自行根据阿里云产品配置的属性描述添加对应处理函数以及状态上报函数。
  |      |      |      |      |      |-- adv_ali_light_add_lightness:MESH通用属性添加例程。天猫精灵灯例程的基础上,添加了亮度属性,用于对照原天猫精灵灯例程,快速熟悉添加其他MESH通用属性的方法。
  |      |      |      |      |      |-- adv_ali_light_add_windspeed:天猫定义属性添加例程。天猫精灵灯例程的基础上,添加了风速属性,用于对照原天猫精灵灯例程,快速熟悉添加其他天猫定义属性的方法。
  |      |      |      |      |      |-- adv_ali_light_multi_element:多元素天猫精灵风扇灯例程。同时包含风扇开关摇头和灯开关颜色控制。用于对照原天猫精灵灯例程,快速熟悉添加多个属性的方法。
  |      |      |      |      |      |-- adv_ali_light_with_peripheral:天猫精灵灯例程的基础上,添加亮度和色温控制,并支持手机BLE调试助手连接控制。
  |      |      |      |      |      |-- adv_proxy:代理节点例程,可通过PB_GATT层(BLE连接)进行配网。
  |      |      |      |      |      |-- adv_vendor:厂商自定义模型例程,配合self_provisioner_vendor使用,支持有应答传输和无应答透传两种通信属性,自行拟定通信协议。
  |      |      |      |      |      |-- adv_vendor_friend:厂商自定义模型例程的基础上,支持朋友节点功能
  |      |      |      |      |      |-- adv_vendor_low_power:厂商自定义模型例程的基础上,支持低功耗节点功能,需与朋友节点配合使用
  |      |      |      |      |      |-- adv_vendor_self_provision:厂商自定义模型例程的基础上,支持本地自配网,适配无配网者或简化配网流程等特殊应用场景
  |      |      |      |      |      |-- adv_vendor_self_provision_with_peripheral:厂商自定义模型例程的基础上,支持手机BLE调试助手连接控制,通过BLE接收配网信息并将自身配网,适用于终端控制组网应用,可自行拟定通信协议实现手机控制mesh网络中所有设备。
  |      |      |      |      |      |-- self_provisioner_vendor:厂商自定义模型自配网发起者例程,配合adv_vendor使用,自动配网周围未配网设备,并将其加入自身mesh网络,默认支持配网6个设备。默认配置设备绑定1个APPKEY,用于有应答传输和无应答透传,配置设备绑定1个订阅地址,用于群发无应答消息
  |      |      |      |      |      |-- self_provisioner_vendor_with_peripheral:厂商自定义模型自配网发起者例程的基础上,支持手机BLE调试助手连接控制,中转手机与mesh网络的通信,可自行拟定通信协议实现手机控制mesh网络中所有设备。
  |      |      |      |      |      |-- MESH_LIB:MESH协议栈库文件及其头文件
  |      |      |      |      |      |-- 沁恒低功耗蓝牙MESH软件开发参考手册.pdf
  |      |      |      |      |-- LWNS:LWNS无线组网例程,包含broadcast、unicast、netflood、mesh等功能。
  |      |      |      |      |-- BackupUpgrade_IAP:备份无线升级IAP例程,检测当前代码标志,判断是否搬运备份区代码到用户区并运行用户区代码
  |      |      |      |      |-- BackupUpgrade_JumpIAP:备份无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序
  |      |      |      |      |-- BackupUpgrade_OTA:备份无线升级用户例程,外设从机例程基础上添加OTA功能,可将升级固件保存到备份区后跳转IAP程序进行升级
  |      |      |      |      |-- OnlyUpdateApp_IAP:固定库无线升级IAP例程,具备OTA功能,接收升级固件后对用户区代码进行升级
  |      |      |      |      |-- OnlyUpdateApp_JumpIAP:固定库无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序
  |      |      |      |      |-- OnlyUpdateApp_Peripheral:固定库无线升级用户例程,外设从机例程基础上添加跳转IAP程序进行后续升级的功能
  |      |      |      |      |-- BLE_UART:蓝牙串口透传例程,详细说明参考根目录<说明.txt>文档
  |      |      |      |      |-- BLE_USB:蓝牙与USB合用例程,USB模拟340设备转发蓝牙数据
  |      |      |      |      |-- SpeedTest_Central:蓝牙测速主机例程
  |      |      |      |      |-- SpeedTest_Periphera:蓝牙测速从机例程
  |      |      |      |      |-- HAL:例程共用的硬件相关文件
  |      |      |      |      |-- LIB:BLE协议栈库文件及其头文件
  |      |      |      |      |-- 沁恒低功耗蓝牙软件开发参考手册.pdf
  |      |      |      |      |-- WCH蓝牙空中升级(BLE OTA).PDF
  |      |      |      |      |-- BLE认证证书:产品:WCH CH57x  QDID:135567
  |      |      |      |      :新增例程
  |      |      |      |      |-- ICM40607_AttitudeAngle:输出原始数据/四元数/欧拉角, 在上位机上展示	[已完成,随BLEMEMS-Kit评估板例程]
  |      |      |      |      |-- ICM40607_WakeonMotion: (基于硬件寄存器)运动唤醒功能			[已完成,随BLEMEMS-Kit评估板例程]
  |      |      |      |      |-- ICM40607_AlgoVisualizer: 欧拉角3D动态,可视化上位机			[已完成,付费例程]
  |      |      |      |      |-- OLED_Demo:OLED 图形库显示动态效果					[已完成,付费例程] 
  |      |      |      |      |-- PocketMultimeter:袖珍万用表
  |      |      |      |      : 运动传感解决方案
  |      |      |      |      |-- ICM40607_PedometerFeature:计步器(抬腕检测)功能			
  |      |      |      |      |-- ICM40607_RaisetowakeFeature:抬起唤醒功能
  |      |      |      |      |-- ICM40607_TiltFeature:倾斜功能					[已完成,付费例程]	
  |      |      |      |      |-- ICM40607_Freefall:自由跌落功能
  |      |      |      |      |-- ICM40607_TapFeature:敲击功能
  |      |      |      |      |-- QMI8658_AttitudeAngle:输出原始数据/四元数/欧拉角, 在上位机上展示
  |      |      |      |      |: 更多应用方案
  |      |      |      |      |-- wristband:手表

3.2 开发资源

4. 视频展示

4.1 静止状态下1分钟零偏测试

静止1分钟零偏测试

4.2 加速度计输出重力加速度&陀螺仪输出角速率

3轴重力加速度-3陀螺仪角速度输出

4.3 3D 欧拉角输出

最优角度