|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
开源蓝牙心率防水运动手环 ——疯壳·智能穿戴开发系列 蓝牙 BLE 收发
8 @- h9 N, [4 q7 x' s5 _
3 g( B: |3 X3 o) }- _( j* ?% H, }* W |9 B
( Y# ]0 q9 C( _- B 1相关简介3 F0 F% {2 m% m6 n
6 U" D! g4 O$ n5 P' o3 V7 e6 Z" u2 X, X6 { DA14580 内部集成了射频模块,同时官方也提供了一套 SDK,里面包含了蓝牙协议栈部分。本节蓝牙收发就是通过修改官方提供的 SDK,完成蓝牙收发功能。关于蓝牙的基本知识,大家可以参考前面的蓝牙基础。& K% J. I/ y! |$ j1 T/ a
2硬件设计
& N0 G$ o; F+ Q0 U; h; S1 S% r# C
& l5 I1 }2 A/ ~ DA14580 内部集成了射频模块,这里只需要从 PF10p 脚接一根天线。
6 n8 r* k; e" ^, G5 v. f6 m: E, o, k8 H& d, M2 P2 w
- H6 b0 F) S5 h* ^' i1 H% M6 L 图 1
8 e; I2 \) G$ z 3软件设计
4 U/ a0 S( z$ _# `5 E9 F3 G/ S0 }1 G4 u2 Y$ l4 t
打开 SDK,从路径:8 W; t6 |) g1 g% z9 w: u
% r2 _; R7 I: r, d, q) X$ O
SDK5.0.4\DA1458x_SDK\5.0.4\project\target_apps\ble_examples\ble_app_profi le\Keil_5 中打开 ble_app_profile 工程文件。
, t6 B: V7 T2 P, m' i$ s: P- U$ H2 s* q H' G
3 n |: {( G4 t 首先修改 user_cust1_def.h 文件,该文件对服务的参数进行了声明,我们这里需要修改服务和特征值的 UUID 等参数,并将多余的特征值删除。
' W9 l% X$ R( Z3 v
4 j! I$ ~' j* s, y5 z- F+ x2 r. x, I
% W9 P( q1 R8 j9 s! H1 Z
图 2
, _4 S* _ _+ S3 S 再修改 user_cust1_def.c 文件,该文件对文件和特征值的属性进行了定义,这里需要对要使用的服务和特征值进行修改,并删除多余的特征值定义。
# G/ W" m7 ~- |5 V
* H- A* G& z8 p1 i8 {5 |, c
4 t0 U% {5 Y' ~3 s4 l1 w 图 36 x' }7 l" T a
8 r4 b5 F* ~$ _5 l0 d$ z: \! |; g% ]7 Y& [: m- w- e
" d3 K- ^7 U2 ]/ B
代码17 l$ d6 [( `5 P# O! e+ x& F4 F+ P
最后要修改的是cust1_task.c 文件,该文件定义了 cust1 服务的一些任务函数, 需要将原来定义为 128 位的修改为 16 位。另外,由于前面删除了多余的特征值服务,这里还需要修改接受函数。 o2 A0 I. T1 m+ @
4 y% l2 Y- | W. c" h
# m V8 f" L+ [ 图 4) T8 @. a5 q" l! C
相关代码可以查看我们的实验例程。2 Y. A V+ C( v4 {: U
5 u( e, f' e5 u$ z
4实验现象/ ?/ n8 a! _' t9 ?: H
8 i4 M# v3 d' Q- P8 u, S' `! q
首先打开 SmartSnippets。. s, n/ W) D% I- a% F7 j! X8 k
# Q Z" O; T& A! v
" G7 H) m! n' X3 m
图 59 Q: m( s2 C# ~/ a, ?& T
设置好 SmartSnippets 之后,点击上图中的 Open。
* W1 H4 o- I3 o* r ~
6 P8 X& N6 H, v) p
3 _% l6 O! t0 S4 A- I/ ?1 @8 L
图 6
$ J m2 c, x% \/ d% K/ I4 W (1)点击 Connect,连接我们的单片机。
0 x! { k. l9 C$ P' z/ R! y; m
/ I/ b: B1 q6 \( s+ W' W (2)点击 Erase,擦除 Flash。
! c- O% r9 r5 w: H
$ U& h( }. y: I2 U* H2 A (3)点击 Browse,找到我们工程的.hex 文件。
1 u) C. D& B n# N$ v4 K
6 b* e6 d2 b( B( o' X (4)点击 Burn,完成代码下载。
0 F! O- g9 z5 z8 C* K1 X3 M# Z0 ^" @0 B' |% f; }! A# Z
代码下载完成之后,运行代码,然后打开手机上的 Wolverine BLE。: t9 J. v9 p. C7 i/ n$ O
' q4 s- @7 m* ?" ]! n
(1)点击 Connect。( s/ S+ T: f b* h# Y! o" }% L
8 r& H: j2 |( b S
" _' M- J4 g$ ?$ x 图 7
+ x' a9 o" z8 x; L5 s! |8 g9 C( E1 a$ C$ r! T
(2)选择我们的蓝牙设备 DIALOG-PRFL。- G0 A- M) L) w* [
; O2 { Z9 { t) k8 [5 G
; Q3 E$ C" r. o0 P 图 8; `7 p/ t7 n, P+ @& ?
(3)在输入框输入 BLE,然后点击 Send。
! L9 j+ T$ J" M: y
! A. I. @4 A' c+ |3 w M
1 {7 q, ]; P' }/ p# i9 E9 Q 图 9- P R' I7 F- I& c9 M; ?# ?6 U! W, q% W
完成以上 3 步,手机能收到我们所发送的字符。9 A# u, Q: \: d8 c
' x' y% T r' E8 ~( n; P5 e; [
) L8 A4 X$ y9 D5 J3 W9 c' u 图 10
/ @) _- T' p& y9 _5 T4 a
O; E# w/ |: w! m1 \7 U0 B$ l1 i7 {9 q- m
+ M; ]/ }5 E2 b, |文件下载请点击:
8_(100%开源)蓝牙心率防水运动手环_蓝牙BLE收发.pdf
(826.02 KB, 下载次数: 0)
$ w9 Y- I# p E" v4 P) W
$ |) `# z7 l% ?+ }$ {! R |
|