你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【我要为STM32站台】基于STM32L432家用无线报警系统  

[复制链接]
Paderboy 发布时间:2016-11-18 23:35
本帖最后由 Paderboy 于 2016-11-18 23:40 编辑
! N$ O9 j" y* G! |
! K# O8 W  r7 _* d" r; ]5 q这个是基于NUCLEO STM32L432KC作为主控的 小范围家用无线报警系统项目" a# i, m/ |; ?* G
- v% c% X- B) L1 J3 e( d

* l. L! x; p& F- I7 Z) ?! S Screenshot_2016-11-18-08-31-02.png & h8 n! V& K9 I$ j6 y+ J) A
& [" }+ \& h6 D! _/ F+ {9 c6 S0 A

/ s$ G' K5 p, n8 h% R+ x6 G整体的使用成本,还是很低的。。。用的模块都是市场上常见的产品。。
  Y( U) m2 }' n
/ {+ S$ p! G, s5 O% w) h1.NUCLEO STM32L432KC作为主控 也就是接收端(接收无线数据),这里用到了市场广泛使用的NRF24L01模块作为发射和接收无线数据
1 i" J: ?/ G6 Z1 k; B, ~( y
: L! o3 l" Z& _% h2.因为手头有NUCLEO STM32F031的开发板,(也可以使用其他STM32F0系列的或者STM8等等。。。)( K: p! L+ b! E) X
所以这个项目就用了这个板子作为无线发射端" b9 [2 p* r* M8 M; v9 A9 {* i& |# O( k

. |7 K8 J% O/ v- ^$ H. a3.使用HC-SR501人体红外传感器模块(有进口和台产的,这个小项目用的是进口的,测试后效果不错,灵敏度很高),
- a8 W* r4 P% D7 k6 ]5 z  {2 O   使用HC-SR501的输出高电平去开启单片机供电回路,这样检测到有人的时间,模块默认发送报警信息。。  F% k5 |, R7 R  l, o/ U$ L9 `
) c' W! x0 P% x3 H: G
4.当STM32L432KC主控接收到无线报警信息后,自己判断是那个发射端的报警信息。。处理后,启动报警设备的同时,% ^) J* F6 d+ S1 z+ X# i7 ^
通过串口发送给蓝牙设备报警信息。。
7 X6 y( ^6 s/ }, n" U" R# H( w& A; V, _8 K
5.如果手机APP端默认开启报警功能,这时就会通过震动和声音提示,有外人闯入设定的报警范围。。 同时可以通过手机APP查询报警区域
" Y, c4 Y8 ^. C' x% i- x, {) i3 M  (例如.车库..)非常方便,可配置多发射端,只需要修改下不同发送端的识别ID就可以了。。
! ^; x. y4 I' N& M4 u
" v/ ^' I6 K2 ]% f" j/ w6 ~6.可以通过APP解除报警(可关闭报警系统)和一个在主控的手动按键来解除报警状态。。1 w- w( C7 b* e. g) |5 S) o9 N) {

+ L' b% L& \) i& p' B8 a, F
" B6 m, f" v/ i+ k! z好的先介绍下主要的设备:/ J4 r+ {( R$ I4 C" _8 ~
7 A5 S9 N9 U- x" z! T! O8 B
1.STM32L432KC 开发板4 U- U, `; J+ \0 e. e" ?5 E9 S
2.STM32F031K6 开发板
$ l$ y3 N* y* B' C5 I$ ?' A- U3.2xNRF24L01 无线模块
! w/ o8 B0 Q8 X4.人体红外传感器HC-SR501
! A3 `( R" e! L3 K# h' h7 q/ v6 S+ I$ J5.有源蜂鸣器
. ^0 [# W9 j' H  z4 d  g8 j% F% W6.少许杜邦线
6 c, `" q  {8 n& ?( G* z, E: N' C7.蓝牙模块2.17 q  x$ [6 T2 Z6 \3 b
8.发射端电源和触发电路- F) f4 x% B& I; n4 f: [# S
6 b2 C/ L  H* B" K
以下就是这个项目的流程图. O/ S4 z2 H3 y! Y9 `7 |

8 V4 K2 G. `8 l' u L432WirelessAlarm.jpg ) {1 o. i4 ^2 f! j0 S7 U* u6 A8 a
开发平台:6 Q. E. t, _- K3 i6 m
CubeMx+Keil5 不得不说,CubeMx用了以后会依赖啊。。变懒了。。。本项目都是使用Cube+HAL库实现的。。/ _& X5 J! ]. T! r  X  U6 b0 z* z

& H! o* k7 [  L0 W测试工具:) R* n5 S* P9 U* T- n# J
串口助手(主要用于测试程序和调试的反馈)9 @9 f: b# c" w: r/ Q
安卓手机一台(用于APP功能测试)
* _5 E& C3 ]3 q) f8 b3 K0 b7 l7 }. m0 J+ b0 s0 e. ^
接下来就上图吧!!
1 y: H/ S( F/ U+ _! B' H. k- \9 J2 \. Q/ M. b) q
这是发射端STM32F031K6 配置SPI和串口输出,方便调试
; w+ d4 B0 F3 _, p fwireless-01.png
* z8 f1 `  O% X& i$ N. [6 ?: ^, ?4 I4 S2 P' h' V: t
使用内部晶振
  j. i& i4 X4 H$ v* z0 g fwireless-02.png * y8 |% k6 @+ [# S' o* `( `& ]. U
: s  {- [, Q0 H7 K/ ?, {
SPI配置
! V7 Y2 L1 F# k# `+ j3 Z6 |8 V  M8 s fwireless-03.png " ^8 v8 E+ D* f7 `2 p5 N9 p

/ s1 V# ^/ h' Z! h2 }+ a串口配置, \+ i; j4 B# j
fwireless-04.png
4 T) O) D! ]/ T# d7 {+ I2 D# f" C( M1 |
发射端实物图片+ q( G3 {# z& c, F" Z6 i; b3 ^
IMG_20161118_103731.jpg ) g4 x8 p6 Z; _) \2 T3 u
: q9 _, }7 N3 j& q; V- s( T$ b6 _
人体红外+2片串联的铁锂电池作为发射端的供电测试电源+一个LDO稳压电路(丑陋的转接板请忽悠了. G* u3 u& D& i  [3 @7 e
IMG_20161118_103743.jpg ( X9 L. [6 F$ s8 H9 p

$ ]2 @; c# p+ ]/ m IMG_20161118_103801.jpg
; _; g! V. o( b7 Y* F4 g
6 W1 s% \4 |( Z6 a' D  S使用HC-SR501的输出端去开关发射端的供电,可以提高电池使用时间。如果人体红外传感器没被触发,发射机是断电状态。。。非常省电。。- Z( ^- N, X% I3 f2 B% Q) p, e
wirelessHW.png
/ i, d) t; p; I+ P! W9 {. R; x; C. }' e0 f/ j
好了接下来是主角STM32L432KC 接收端的配置截图如下:$ _9 W, u, Z" b4 w
6 o+ v1 m0 M# J& E& ~: W
用到了SPI3+串口1+串口2 还有输出GPIO开关蜂鸣器
7 i" ]4 x2 b" _% ? wireless-01.png + V3 }2 R/ @" t
$ t2 s7 H% d9 M: Y! }
使用内部晶振
6 u( D: t; q& W wireless-02.png 3 L0 s" ]& I5 j% l9 S! D" b& Q

$ X) Q& C& W5 Y4 qSPI3 配置3 j5 j4 ]5 N7 G+ W) e2 z1 B
wireless-03.png
4 p9 z/ C4 c/ r1 _% A
! k7 I! [! b% w, k1 q0 V串口1配置 DMA IDLE 接收和发送数据给蓝牙模块7 H' a; G, P) i! e  \
wireless-04.png
* s  P" \3 i1 k) ]4 z( H% L0 U  P8 H
- m! M% f) R, k; L wireless-05.png
$ y9 c. ~7 B6 s4 S+ w. L1 `, I- A! @3 N4 [* L: S1 P
串口2用于调试直接输出测试数据到电脑上9 g5 e8 Q! B& U$ C, s8 O0 R
wireless-06.png
6 {% ^. k; t+ S" K- }: w; B
, y& n; j; w5 g7 h0 h4 P# P. Q% | wireless-08.png
3 v* _; A4 V$ Z9 m4 x4 c9 v9 Q+ y2 C
* H& a! e+ f, j' p# H好了,工程建好了,就开始调试程序。。。 NRF24L01 是非常普通的无线模块了。。这里就不再多介绍了。。。
8 S4 Q: B. _+ g9 k! C以下是调试过程的截图片段% x" X4 S9 H. ^3 q2 p" H8 x
wirelesssoft-01.png
: Z7 B, x# \2 K( w/ E: S, n
3 M0 R( N8 w1 \' v8 O- R  }. h% g wirelesssoft-02.png
8 o: [: e0 r, i3 L
9 t' d; G  S$ v5 a wirelesssoft-03.png ' x$ D/ P% f! u
2 ~0 H( ?9 |4 ?7 R: F
wirelesssoft-04.png
, s( a" l0 V0 O  m' ^" n+ _2 e; q# M
程序都编译通过后,直接下载到发射端和接收端来验证吧。。
3 h" g; S& S0 S5 i' Q' b* h
9 g4 {$ O: h; I; R. I2 k实体图片是必须要有的。。。。
1 A3 D9 I, B. O. K4 d IMG_20161118_103839.jpg 4 W' }1 C& u' ?4 [

" X7 m' ^- r* y0 t1 [ IMG_20161118_162516.jpg
6 X& ]1 I' e& b: o& _
, N4 x3 q6 A* v8 \ IMG_20161118_162536.jpg
/ \1 H# T4 E: w3 n8 P1 P" w3 Y) y7 _/ s& Q% [2 L! s
IMG_20161118_162544.jpg . }' h0 B3 j' f' h" q4 }/ r

3 e: b9 y- e; ]3 H! J/ L; m. _ wirelessyz-01.png
7 W$ }- c9 J+ M  D/ R. e$ M) D' r* r% a/ y2 x
wirelessyz-02.png # s- O4 V& ~+ a, S* u8 d" [
- p6 w4 F" F- k
wirelessyz-03.png
1 ~9 W# q+ B& a( V% M1 K- l% {# w$ ?
wirelessyz-04.png
/ T+ H9 o  g/ J9 d
8 c, X1 K+ w" y, D" g
) h. E1 _$ j6 A1 x4 M4 e) Y- D4 A9 A好了。。。。亮点在这。、。0 G3 F* i: I$ G! ~$ E8 h% W
% k5 }& H; n/ M+ x+ Z
+ a/ _, Z7 O& P2 e/ b1 i
) {* X$ Y4 Y% Z

, |7 s$ X! A  m$ h Screenshot_2016-11-18-08-30-49.png 6 T! P& G6 w3 R  p% k

- S9 ?5 m2 |3 s' K; o3 `& K9 P Screenshot_2016-11-18-08-31-49.png
8 N9 Z" L8 A+ r8 z* `" y, s3 f3 a" L7 o' J/ s, T
Screenshot_2016-11-18-21-40-29.png : a2 [& [- J, G. D( u
$ I, ^9 m5 P- z: ?: X" T: F5 q9 V
好了这个项目就差不多完成了。。。
! N1 |, x2 _! G; |% j; r6 B; J! K/ y% e& ?+ S# m9 X
总结下:
$ P: e4 ]1 l8 P这个项目功能比较简单,不过还是比较实用的。。。可改进的地方(例如:添加TFT显示提升主机的体验,有条件的可以给主控再添加PM2.5,温湿度等: E7 u0 {- P: U  ?" [- I
外设更丰富这个项目的功能整合。)也可以添加Wifi 实现远程IOT控制等等。。。0 j& v8 n: D$ Q1 ^
因为工作比较忙,这个项目弄的比较零散,不过整体框架基本完成。。软件调试也完成的大部分。。APP基本可以用了。等有时间继续优化。。。" S$ F- T0 \- Z+ W
5 y9 F5 a( k; }! I; K

% w) f6 q3 R' g. C& z希望大伙会喜欢。。。。。。" K+ Z9 E" B7 x5 V  c! V7 M% j
8 D! _5 X4 H( a6 m: F& V. [+ _+ ~

: u- u+ ?% Q: c' V9 @# H

评分

参与人数 1 ST金币 +30 收起 理由
zero99 + 30

查看全部评分

收藏 4 评论38 发布时间:2016-11-18 23:35

举报

38个回答
黑皮男 回答时间:2016-11-24 18:43:40
cuyebiren 发表于 2016-11-19 11:502 ?) Y' j$ v7 J, K; A& M9 n0 k
楼主厉害!" _# J" V2 L) }8 f( U: [
手机APP不会是用 Java 写的吧?
4 x' |3 }% P& _: y1 E0 o' h4 U$ {有没有简单点的编译器,如像 LabWindows CVI 这种的,纯 C 语言 ...

8 v5 `( H4 ?4 `% Y7 d$ P安卓手机APP就是用Java语言,这个其实也不难,做一些简单的,我现在就是会点皮毛
黑皮男 回答时间:2016-11-24 18:44:35
cuyebiren 发表于 2016-11-19 11:502 v* w6 m! t+ d6 h! q( D
楼主厉害!
/ S' @1 s1 t- N2 T手机APP不会是用 Java 写的吧?
, z; C) J6 l  w9 {  U0 R  q  o( F8 x有没有简单点的编译器,如像 LabWindows CVI 这种的,纯 C 语言 ...
( K0 a2 n0 G' v8 r% c9 |
而且IDE里面还可以通过图形界面来进行控件布局,也是挺方便的
" l# N6 T+ K/ v* n9 E& U. O
Paderboy 回答时间:2016-11-19 13:26:20
cuyebiren 发表于 2016-11-19 11:50' a/ F) J0 J! ?7 D% h
楼主厉害!) {4 J) L) m6 ^2 w/ k
手机APP不会是用 Java 写的吧?
/ c3 Q7 a1 p( e0 X2 w有没有简单点的编译器,如像 LabWindows CVI 这种的,纯 C 语言 ...
: G. t  y, X, B6 ~9 X
纯 C 语言 + 控件 编写估计是没有。。。
zero99 回答时间:2016-11-19 00:05:49
赞一个
Paderboy 回答时间:2016-11-19 07:56:05
zero99 发表于 2016-11-19 00:05
! K3 S# L6 ~* @赞一个
  o% L: @+ G& ~) q% y: q! z* o) X
yanhaijian 回答时间:2016-11-19 08:19:29
全能通吃,厉害。
Paderboy 回答时间:2016-11-19 08:21:14
yanhaijian 发表于 2016-11-19 08:19- d/ ~$ c2 B" U7 o* G3 K
全能通吃,厉害。
( t5 Y+ L6 B: G: c4 Q, o- f9 M" G0 S1 j
多谢多谢
wamcncn 回答时间:2016-11-19 09:19:19
赞一个,手机APP,软硬通吃
Paderboy 回答时间:2016-11-19 09:47:17
wambob 发表于 2016-11-19 09:190 S3 j$ k& W- o) [
赞一个,手机APP,软硬通吃

, C* n# j% [8 @2 B% f, N4 W
cuyebiren 回答时间:2016-11-19 11:50:59
楼主厉害!
8 s+ _* }; [# e7 ~; p7 c" w1 [手机APP不会是用 Java 写的吧?0 U7 x+ k6 L5 \& I( Y" ~$ ?' Q- m
有没有简单点的编译器,如像 LabWindows CVI 这种的,纯 C 语言 + 控件 编写,不需要在学习新的 语言 的 语法
cuyebiren 回答时间:2016-11-19 14:53:54
Paderboy 发表于 2016-11-19 13:26+ N6 z# M% x4 h! \5 z* G
纯 C 语言 + 控件 编写估计是没有。。。
) a) {( I% }5 T! t9 F
LabWindows CVI 就是的,不过只能在 Windows 系统上运行,很期待 像他这样的能在 安卓 上运行的
Paderboy 回答时间:2016-11-19 15:02:16
嗯期待吧。。。
zbber 回答时间:2016-11-19 21:37:53
楼主厉害,真是难得给力的帖子啊6 e; n- N! f/ T% r% ?. R
Paderboy 回答时间:2016-11-19 21:45:37
zbber 发表于 2016-11-19 21:37
) [+ |: w" @4 M/ I. O# D楼主厉害,真是难得给力的帖子啊
$ H+ z. [/ m0 B9 i7 L" d0 d# u% y
那都有你啊。。。
五哥1 回答时间:2016-11-20 22:25:13
做的很好
Paderboy 回答时间:2016-11-20 22:59:37
五哥1 发表于 2016-11-20 22:252 K2 ^$ D; L1 g$ {/ {
做的很好

* `! |$ x5 z, I  V- @' k* Qthx
123下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版