描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121346576丛书名: 物联网技术应用与开发”十三五”规划丛书
内容简介
本书主要介绍在嵌入式系统和物联网系统开发中常用的STM32微处理器的接口技术、常见传感器的应用,由浅入深地对STM32接口技术和传感器的应用进行讲解。全书采用任务式开发的学习方法,精选了28个贴近社会和生活的案例,每个案例均有完整的开发过程,分别是生动的开发场景、明确的开发目标、深入浅出的原理学习、详细的系统设计过程、详细的软/硬件设计和功能实现过程,*后进行开发验证和总结拓展,将理论学习和开发实践结合起来。每个案例均附有完整的开发代码和配套PPT课件,读者可在源代码的基础上快速地进行二次开发。
目 录
目 录
第1部分 嵌入式系统基本原理和开发知识
任务1 认识嵌入式系统 (2)
1.1 学习场景:嵌入式系统有哪些应用 (2)
1.2 学习目标 (2)
1.3 原理学习:嵌入式系统的发展与应用 (2)
1.3.1 嵌入式系统概述 (2)
1.3.2 嵌入式操作系统 (5)
1.3.3 嵌入式系统的发展与应用 (7)
1.4 任务小结 (9)
1.5 思考与拓展 (9)
任务2 ARM嵌入式开发平台 (10)
2.1 学习场景:ARM嵌入式开发平台有哪些应用 (10)
2.2 开发目标 (11)
2.3 原理学习:ARM微处理器 (11)
2.3.1 ARM微处理器简介及其产品系列 (11)
2.3.2 ARM微处理器的组成及结构 (13)
2.3.3 STM32系列微处理器 (14)
2.3.4 STM32开发平台 (17)
2.4 任务小结 (21)
2.5 思考与拓展 (21)
任务3 工程创建与调试 (22)
3.1 开发场景:如何进行项目开发 (22)
3.2 开发目标 (22)
3.3 原理学习:软件开发环境 (22)
3.3.1 IAR for ARM开发环境 (22)
3.3.2 STM32 标准函数库 (24)
3.3.3 IAR ARM开发环境的使用 (36)
3.3.4 IAR ARM程序的开发及在线调试 (39)
3.4 任务实践 (44)
3.4.1 开发设计 (44)
3.4.2 功能实现 (45)
3.5 任务小结 (45)
3.6 思考与拓展 (45)
第2部分 STM32嵌入式接口开发技术
任务4 设备指示灯的设计与实现 (48)
4.1 开发场景:如何控制设备指示灯 (48)
4.2 开发目标 (48)
4.3 原理学习:STM32的GPIO功能与应用 (48)
4.3.1 STM32的GPIO (48)
4.3.2 STM32的GPIO寄存器 (53)
4.3.3 常见GPIO的位操作 (59)
4.4 任务实践:设备指示灯控制的软/硬件设计 (60)
4.4.1 开发设计 (60)
4.4.2 功能实现 (62)
4.5 任务验证 (65)
4.6 任务小结 (65)
4.7 思考与拓展 (65)
任务5 竞赛抢答器的设计与实现 (66)
5.1 开发场景:如何实现抢答器 (66)
5.2 开发目标 (66)
5.3 原理学习:STM32微处理器的中断 (67)
5.3.1 中断基本概念与定义 (67)
5.3.2 STM32中断应用概述 (70)
5.3.3 STM32的外部中断机制 (74)
5.4 任务实践:抢答器的软/硬件设计 (79)
5.4.1 开发设计 (79)
5.4.2 功能实现 (80)
5.5 任务验证 (82)
5.6 任务小结 (83)
5.7 思考与拓展 (83)
任务6 电子时钟的设计与实现 (84)
6.1 开发场景:如何实现电子时钟 (84)
6.2 开发目标 (84)
6.3 原理学习:STM32定时/计数器 (84)
6.3.1 定时/计数器的基本原理 (84)
6.3.2 STM32定时器 (85)
6.4 任务实践:电子时钟的软/硬件设计 (93)
6.4.1 开发设计 (93)
6.4.2 功能实现 (94)
6.5 任务验证 (96)
6.6 任务小结 (96)
6.7 思考与拓展 (96)
任务7 汽车电压指示器的设计与实现 (97)
7.1 开发场景:如何实现汽车电压指示器 (97)
7.2 开发目标 (97)
7.3 原理学习:STM32 ADC (98)
7.3.1 A/D转换 (98)
7.3.2 STM32的A/D转换器 (99)
7.4 任务实践:汽车电压指示器的软/硬件设计 (108)
7.4.1 开发设计 (108)
7.4.2 功能实现 (109)
7.5 任务验证 (111)
7.6 任务小结 (112)
7.7 思考与拓展 (112)
任务8 环境监测点自复位的设计与实现 (113)
8.1 开发场景:如何实现自复位设计 (113)
8.2 开发目标 (113)
8.3 原理学习:STM32看门狗 (114)
8.3.1 看门狗基本原理 (114)
8.3.2 STM32看门狗 (115)
8.3.3 STM32看门狗库函数的使用 (119)
8.4 任务实践:环境监测点自复位的软/硬件设计 (121)
8.4.1 开发设计 (121)
8.4.2 功能实现 (123)
8.5 任务验证 (125)
8.6 任务小结 (125)
8.7 思考与拓展 (125)
任务9 视频监控中三维控制键盘的设计与实现 (126)
9.1 开发场景:如何实现视频监控中三维控制键盘 (126)
9.2 开发目标 (126)
9.3 原理学习:STM32串口 (126)
9.3.1 串口 (126)
9.3.2 STM32的USART (129)
9.3.3 STM32串口库函数 (137)
9.4 任务实践:视频监控中三维控制键盘的软/硬件设计 (138)
9.4.1 开发设计 (138)
9.4.2 功能实现 (139)
9.5 任务验证 (142)
9.6 任务小结 (143)
9.7 思考与拓展 (143)
任务10 农业大棚环境信息采集系统的设计与实现 (144)
10.1 开发场景:如何采集温湿度信息 (144)
10.2 开发目标 (144)
10.3 原理学习:STM32的I2C模块和温湿度传感器 (145)
10.3.1 I2C总线 (145)
10.3.2 STM32的I2C模块 (148)
10.3.3 STM32的I2C库函数的使用 (152)
10.3.4 温湿度传感器 (153)
10.4 任务实践:农业大棚环境信息采集系统的软/硬件设计 (157)
10.4.1 开发设计 (157)
10.4.2 功能实现 (159)
10.5 任务验证 (166)
10.6 任务小结 (167)
10.7 思考与拓展 (167)
任务11 高速动态数据存取的设计与实现 (168)
11.1 开发场景:如何实现高速动态数据的存取 (168)
11.2 开发目标 (168)
11.3 原理学习:SPI总线协议和Flash存储器 (168)
11.3.1 SPI总线协议 (168)
11.3.2 Flash存储器 (178)
11.4 任务实践:高速动态数据存取的软/硬件设计 (184)
11.4.1 开发设计 (184)
11.4.2 功能实现 (185)
11.5 任务验证 (194)
11.6 任务小结 (195)
11.7 思考与拓展 (195)
任务12 车载显示器的设计与实现 (196)
12.1 开发场景:如何实现车载显示器 (196)
12.2 开发目标 (196)
12.3 原理学习:STM32的FSMC模块和LCD模块 (196)
12.3.1 显示器 (196)
12.3.2 STM32的FSMC模块 (198)
12.3.3 STM32的FSMC模块库函数 (205)
12.3.4 ILI93xx系列TFT LCD (207)
12.4 任务实践:车载显示器的软/硬件设计 (211)
12.4.1 开发设计 (211)
12.4.2 功能实现 (213)
12.5 任务验证 (225)
12.6 任务小结 (226)
12.7 思考与拓展 (226)
第3部分 基于STM32和常用传感器开发
任务13 传感器应用技术 (228)
13.1 学习场景:日常生活传感器的应用有哪些 (228)
13.2 开发目标 (229)
13.3 原理学习:传感器应用和发展趋势 (229)
13.3.1 传感器简述 (229)
13.3.2 传感器与物联网应用 (231)
13.4 任务小结 (236)
13.5 思考与拓展 (236)
任务14 温室大棚光照度测量系统的设计与实现 (237)
14.1 开发场景:如何实现光照度的测量 (237)
14.2 开发目标 (237)
14.3 原理学习:光敏传感器和I2C (238)
14.3.1 光敏传感器 (238)
14.3.2 BH1750FVI -TR型光敏传感器 (240)
14.3.3 I2C总线和光照传感器 (242)
14.4 任务实践:光照度测量系统的软/硬件设计 (242)
14.4.1 开发设计 (242)
14.4.2 功能实现 (243)
14.5 任务验证 (250)
14.6 任务小结 (250)
14.7 思考与拓展 (251)
任务15 探空气球测海拔的设计与实现 (252)
15.1 开发场景:如何实现气压海拔的测量 (252)
15.2 开发目标 (252)
15.3 原理学习:气压海拔传感器的工作原理与测量方法 (253)
15.3.1 气压海拔传感器 (253)
15.3.2 气压海拔传感器的工作原理 (253)
15.3.3 气压海拔传感器的海拔计算方法 (253)
15.3.4 FBM320型气压海拔传感器 (254)
15.4 任务实践:探空气球测海拔的软/硬件设计 (256)
15.4.1 开发设计 (256)
15.4.2 功能实现 (257)
15.5 任务验证 (263)
15.6 任务小结 (264)
15.7 思考与拓展 (264)
任务16 建筑工地扬尘监测系统的设计与实现 (265)
16.1 开发场景:如何测量空气质量 (265)
16.2 开发目标 (266)
16.3 原理学习:半导体气体传感器和空气质量传感器 (266)
16.3.1 半导体气体传感器 (266)
16.3.2 MP503型空气质量传感器 (267)
16.4 任务实践:城市扬尘监测系统的软/硬件设计 (268)
16.4.1 开发设计 (268)
16.4.2 功能实现 (270)
16.5 任务验证 (271)
16.6 任务小结 (272)
16.7 思考与拓展 (272)
任务17 VR设备动作捕捉系统的设计与实现 (273)
17.1 开发场景:如何实现动作捕捉 (273)
17.2 开发目标 (273)
17.3 原理学习:三轴加速度传感器与测量 (274)
17.3.1 人体运动模型 (274)
17.3.2 三轴加速度传感器 (274)
17.3.3 三轴加速度传感器的应用 (275)
17.3.4 LIS3DH型三轴加速度传感器 (276)
17.3.5 计步算法 (279)
17.3.6 获取传感器数据 (280)
17.4 任务实践:VR设备动作捕捉系统的软/硬件设计 (283)
17.4.1 开发设计 (283)
17.4.2 功能实现 (284)
17.5 任务验证 (287)
17.6 任务小结 (288)
17.7 思考与拓展 (288)
任务18 扫地机器人避障系统的设计与实现 (289)
18.1 开发场景:如何应用红外距离传感器测量距离 (289)
18.2 开发目标 (289)
18.3 原理学习:距离传感器与测量 (290)
18.3.1 距离传感器 (290)
18.3.2 Sharp红外距离传感器 (291)
18.4 任务实践:扫地机器人避障系统的软/硬件设计 (293)
18.4.1 开发设计 (293)
18.4.2 功能实现 (294)
18.5 任务验证 (296)
18.6 任务小结 (297)
18.7 思考与拓展 (297)
任务19 红外自动感应门的设计与实现 (298)<
第1部分 嵌入式系统基本原理和开发知识
任务1 认识嵌入式系统 (2)
1.1 学习场景:嵌入式系统有哪些应用 (2)
1.2 学习目标 (2)
1.3 原理学习:嵌入式系统的发展与应用 (2)
1.3.1 嵌入式系统概述 (2)
1.3.2 嵌入式操作系统 (5)
1.3.3 嵌入式系统的发展与应用 (7)
1.4 任务小结 (9)
1.5 思考与拓展 (9)
任务2 ARM嵌入式开发平台 (10)
2.1 学习场景:ARM嵌入式开发平台有哪些应用 (10)
2.2 开发目标 (11)
2.3 原理学习:ARM微处理器 (11)
2.3.1 ARM微处理器简介及其产品系列 (11)
2.3.2 ARM微处理器的组成及结构 (13)
2.3.3 STM32系列微处理器 (14)
2.3.4 STM32开发平台 (17)
2.4 任务小结 (21)
2.5 思考与拓展 (21)
任务3 工程创建与调试 (22)
3.1 开发场景:如何进行项目开发 (22)
3.2 开发目标 (22)
3.3 原理学习:软件开发环境 (22)
3.3.1 IAR for ARM开发环境 (22)
3.3.2 STM32 标准函数库 (24)
3.3.3 IAR ARM开发环境的使用 (36)
3.3.4 IAR ARM程序的开发及在线调试 (39)
3.4 任务实践 (44)
3.4.1 开发设计 (44)
3.4.2 功能实现 (45)
3.5 任务小结 (45)
3.6 思考与拓展 (45)
第2部分 STM32嵌入式接口开发技术
任务4 设备指示灯的设计与实现 (48)
4.1 开发场景:如何控制设备指示灯 (48)
4.2 开发目标 (48)
4.3 原理学习:STM32的GPIO功能与应用 (48)
4.3.1 STM32的GPIO (48)
4.3.2 STM32的GPIO寄存器 (53)
4.3.3 常见GPIO的位操作 (59)
4.4 任务实践:设备指示灯控制的软/硬件设计 (60)
4.4.1 开发设计 (60)
4.4.2 功能实现 (62)
4.5 任务验证 (65)
4.6 任务小结 (65)
4.7 思考与拓展 (65)
任务5 竞赛抢答器的设计与实现 (66)
5.1 开发场景:如何实现抢答器 (66)
5.2 开发目标 (66)
5.3 原理学习:STM32微处理器的中断 (67)
5.3.1 中断基本概念与定义 (67)
5.3.2 STM32中断应用概述 (70)
5.3.3 STM32的外部中断机制 (74)
5.4 任务实践:抢答器的软/硬件设计 (79)
5.4.1 开发设计 (79)
5.4.2 功能实现 (80)
5.5 任务验证 (82)
5.6 任务小结 (83)
5.7 思考与拓展 (83)
任务6 电子时钟的设计与实现 (84)
6.1 开发场景:如何实现电子时钟 (84)
6.2 开发目标 (84)
6.3 原理学习:STM32定时/计数器 (84)
6.3.1 定时/计数器的基本原理 (84)
6.3.2 STM32定时器 (85)
6.4 任务实践:电子时钟的软/硬件设计 (93)
6.4.1 开发设计 (93)
6.4.2 功能实现 (94)
6.5 任务验证 (96)
6.6 任务小结 (96)
6.7 思考与拓展 (96)
任务7 汽车电压指示器的设计与实现 (97)
7.1 开发场景:如何实现汽车电压指示器 (97)
7.2 开发目标 (97)
7.3 原理学习:STM32 ADC (98)
7.3.1 A/D转换 (98)
7.3.2 STM32的A/D转换器 (99)
7.4 任务实践:汽车电压指示器的软/硬件设计 (108)
7.4.1 开发设计 (108)
7.4.2 功能实现 (109)
7.5 任务验证 (111)
7.6 任务小结 (112)
7.7 思考与拓展 (112)
任务8 环境监测点自复位的设计与实现 (113)
8.1 开发场景:如何实现自复位设计 (113)
8.2 开发目标 (113)
8.3 原理学习:STM32看门狗 (114)
8.3.1 看门狗基本原理 (114)
8.3.2 STM32看门狗 (115)
8.3.3 STM32看门狗库函数的使用 (119)
8.4 任务实践:环境监测点自复位的软/硬件设计 (121)
8.4.1 开发设计 (121)
8.4.2 功能实现 (123)
8.5 任务验证 (125)
8.6 任务小结 (125)
8.7 思考与拓展 (125)
任务9 视频监控中三维控制键盘的设计与实现 (126)
9.1 开发场景:如何实现视频监控中三维控制键盘 (126)
9.2 开发目标 (126)
9.3 原理学习:STM32串口 (126)
9.3.1 串口 (126)
9.3.2 STM32的USART (129)
9.3.3 STM32串口库函数 (137)
9.4 任务实践:视频监控中三维控制键盘的软/硬件设计 (138)
9.4.1 开发设计 (138)
9.4.2 功能实现 (139)
9.5 任务验证 (142)
9.6 任务小结 (143)
9.7 思考与拓展 (143)
任务10 农业大棚环境信息采集系统的设计与实现 (144)
10.1 开发场景:如何采集温湿度信息 (144)
10.2 开发目标 (144)
10.3 原理学习:STM32的I2C模块和温湿度传感器 (145)
10.3.1 I2C总线 (145)
10.3.2 STM32的I2C模块 (148)
10.3.3 STM32的I2C库函数的使用 (152)
10.3.4 温湿度传感器 (153)
10.4 任务实践:农业大棚环境信息采集系统的软/硬件设计 (157)
10.4.1 开发设计 (157)
10.4.2 功能实现 (159)
10.5 任务验证 (166)
10.6 任务小结 (167)
10.7 思考与拓展 (167)
任务11 高速动态数据存取的设计与实现 (168)
11.1 开发场景:如何实现高速动态数据的存取 (168)
11.2 开发目标 (168)
11.3 原理学习:SPI总线协议和Flash存储器 (168)
11.3.1 SPI总线协议 (168)
11.3.2 Flash存储器 (178)
11.4 任务实践:高速动态数据存取的软/硬件设计 (184)
11.4.1 开发设计 (184)
11.4.2 功能实现 (185)
11.5 任务验证 (194)
11.6 任务小结 (195)
11.7 思考与拓展 (195)
任务12 车载显示器的设计与实现 (196)
12.1 开发场景:如何实现车载显示器 (196)
12.2 开发目标 (196)
12.3 原理学习:STM32的FSMC模块和LCD模块 (196)
12.3.1 显示器 (196)
12.3.2 STM32的FSMC模块 (198)
12.3.3 STM32的FSMC模块库函数 (205)
12.3.4 ILI93xx系列TFT LCD (207)
12.4 任务实践:车载显示器的软/硬件设计 (211)
12.4.1 开发设计 (211)
12.4.2 功能实现 (213)
12.5 任务验证 (225)
12.6 任务小结 (226)
12.7 思考与拓展 (226)
第3部分 基于STM32和常用传感器开发
任务13 传感器应用技术 (228)
13.1 学习场景:日常生活传感器的应用有哪些 (228)
13.2 开发目标 (229)
13.3 原理学习:传感器应用和发展趋势 (229)
13.3.1 传感器简述 (229)
13.3.2 传感器与物联网应用 (231)
13.4 任务小结 (236)
13.5 思考与拓展 (236)
任务14 温室大棚光照度测量系统的设计与实现 (237)
14.1 开发场景:如何实现光照度的测量 (237)
14.2 开发目标 (237)
14.3 原理学习:光敏传感器和I2C (238)
14.3.1 光敏传感器 (238)
14.3.2 BH1750FVI -TR型光敏传感器 (240)
14.3.3 I2C总线和光照传感器 (242)
14.4 任务实践:光照度测量系统的软/硬件设计 (242)
14.4.1 开发设计 (242)
14.4.2 功能实现 (243)
14.5 任务验证 (250)
14.6 任务小结 (250)
14.7 思考与拓展 (251)
任务15 探空气球测海拔的设计与实现 (252)
15.1 开发场景:如何实现气压海拔的测量 (252)
15.2 开发目标 (252)
15.3 原理学习:气压海拔传感器的工作原理与测量方法 (253)
15.3.1 气压海拔传感器 (253)
15.3.2 气压海拔传感器的工作原理 (253)
15.3.3 气压海拔传感器的海拔计算方法 (253)
15.3.4 FBM320型气压海拔传感器 (254)
15.4 任务实践:探空气球测海拔的软/硬件设计 (256)
15.4.1 开发设计 (256)
15.4.2 功能实现 (257)
15.5 任务验证 (263)
15.6 任务小结 (264)
15.7 思考与拓展 (264)
任务16 建筑工地扬尘监测系统的设计与实现 (265)
16.1 开发场景:如何测量空气质量 (265)
16.2 开发目标 (266)
16.3 原理学习:半导体气体传感器和空气质量传感器 (266)
16.3.1 半导体气体传感器 (266)
16.3.2 MP503型空气质量传感器 (267)
16.4 任务实践:城市扬尘监测系统的软/硬件设计 (268)
16.4.1 开发设计 (268)
16.4.2 功能实现 (270)
16.5 任务验证 (271)
16.6 任务小结 (272)
16.7 思考与拓展 (272)
任务17 VR设备动作捕捉系统的设计与实现 (273)
17.1 开发场景:如何实现动作捕捉 (273)
17.2 开发目标 (273)
17.3 原理学习:三轴加速度传感器与测量 (274)
17.3.1 人体运动模型 (274)
17.3.2 三轴加速度传感器 (274)
17.3.3 三轴加速度传感器的应用 (275)
17.3.4 LIS3DH型三轴加速度传感器 (276)
17.3.5 计步算法 (279)
17.3.6 获取传感器数据 (280)
17.4 任务实践:VR设备动作捕捉系统的软/硬件设计 (283)
17.4.1 开发设计 (283)
17.4.2 功能实现 (284)
17.5 任务验证 (287)
17.6 任务小结 (288)
17.7 思考与拓展 (288)
任务18 扫地机器人避障系统的设计与实现 (289)
18.1 开发场景:如何应用红外距离传感器测量距离 (289)
18.2 开发目标 (289)
18.3 原理学习:距离传感器与测量 (290)
18.3.1 距离传感器 (290)
18.3.2 Sharp红外距离传感器 (291)
18.4 任务实践:扫地机器人避障系统的软/硬件设计 (293)
18.4.1 开发设计 (293)
18.4.2 功能实现 (294)
18.5 任务验证 (296)
18.6 任务小结 (297)
18.7 思考与拓展 (297)
任务19 红外自动感应门的设计与实现 (298)<
前 言
前 言
近年来,物联网、移动互联网、大数据和云计算的迅猛发展,慢慢改变了社会的生产方式,大大提高了生产效率。工业和信息化部《物联网发展规划(2016—2020年)》总结了“十二五”规划中物联网发展所取得的成就,并提出了“十三五”面临的形势,明确了物联网的发展思路和目标,提出了物联网发展的6大任务,分别是强化产业生态布局、完善技术创新体系、推动物联网规模应用、构建完善标准体系、完善公共服务体系、提升安全保障能力;提出了4大关键技术,分别是传感器技术、体系架构共性技术、操作系统,以及物联网与移动互联网、大数据融合关键技术;提出了6大重点领域应用示范工程,分别是智能制造、智慧农业、智能家居、智能交通和车联网、智慧医疗和健康养老,以及智慧节能环保;指出要健全多层次多类型的物联网人才培养和服务体系,支持高校、科研院所加强跨学科交叉整合,加强物联网学科建设,培养物联网复合型专业人才。该发展规划为物联网发展指出了一条鲜明的道路,同时也可以看出,我国在推动物联网应用方面的坚定决心,相信物联网规模会越来越大。
本书基于STM32微处理器详细阐述嵌入式系统和物联网系统的底层开发技术,采用了案例式和任务式驱动的开发方法,旨在大力推动物联网人才的培养。
嵌入式系统和物联网系统涉及的技术很多,底层和感知层的开发需要掌握微处理器接口技术、相应传感器的应用开发技术。本书将详细分析基于STM32和各种传感器的驱动方法,理论知识点清晰,实践案例丰富。
全书采用任务式开发的学习方法,精选28个贴近社会和生活的案例,由浅入深地介绍STM32的接口技术和传感器应用开发技术,每个案例均有完整的开发过程,分别是生动的开发场景、明确的开发目标、深入浅出的原理学习、详细的系统设计过程、详细的软/硬件设计和功能实现过程,最后进行开发验证和总结拓展。每个案例均附有完整的开发代码,读者可在源代码的基础上快速地进行二次开发,能方便地将其转化为各种比赛和创新创业的案例,不仅为高等院校相关专业师生提供教学案例,也可以为工程技术人员和科研人员提供较好的参考资料。
第1部分引导读者初步了解嵌入式系统的发展概况,学习ARM微处理器的基本原理、功能,并进一步学习STM32的原理、功能及片上资源,学习STM32开发平台的构成以及开发环境的搭建,初步探索IAR for ARM的开发环境和在线调试,掌握STM32开发环境的搭建和调试。
第2部分介绍本书开发项目所依托的STM32的各种接口技术,分别有GPIO、外部中断、定时器、ADC、看门狗、串口、LCD、I2C总线和SPI总线,共有9个任务,分别是任务4到任务12,从而实现了9个项目的设计,包括:设备指示灯的设计与实现、竞赛抢答器的设计与实现、电子时钟的设计与实现、汽车电压指示器的设计与实现、环境监测点自复位的设计与实现、视频监控中三维控制键盘的设计与实现、农业大棚环境信息采集系统的设计与实现、高速动态数据存取的设计与实现,以及车载显示器的设计与实现。通过9个任务的开发来掌握STM32的接口原理、功能和开发技术,从而具备基本的开发能力。
第3部分介绍各种传感器技术,包括光照度传感器、气压海拔传感器、空气质量传感器、三轴加速度传感器、距离传感器、人体红外传感器、燃气传感器、振动传感器、霍尔传感器、光电传感器、火焰传感器、触摸传感器、继电器、轴流风机、步进电机和RGB灯,深入学习传感器的基本原理、功能和结构。结合这些传感器和STM32开发平台,完成任务14到任务29共16个项目的设计,包括:温室大棚光照度测量系统的设计与实现、探空气球测海拔的设计与实现、建筑工地扬尘监测系统的设计与实现、VR设备动作捕捉系统的设计与实现、扫地机器人避障系统的设计与实现、红外自动感应门的设计与实现、燃气监测仪的设计与实现、振动检测仪的设计与实现、电机转速检测系统的设计与实现、智能家居光栅防盗系统的设计与实现、智能建筑消防预警系统的设计与实现、洗衣机触控面板控制系统的设计与实现、微电脑时控开关的设计与实现、工业通风设备的设计与实现、工业机床控制系统的设计与实现,以及声光报警器的设计与实现。通过16个项目的设计与开发,使读者熟悉传感器的基本原理,并掌握用STM32驱动各种传感器的方法,为综合项目开发打下坚实的基础。
第4部分开发的是综合项目,分别是任务30到任务32共3个项目的设计,任务30综合应用STM32、按键、光照度传感器、蜂鸣器、RGB灯、LCD和LED完成图书馆照明调节系统软/硬件设计;任务31综合应用STM32、燃气传感器、火焰传感器、继电器、按键、蜂鸣器、LCD和LED完成集成燃气灶控制系统的软/硬件设计;任务32综合应用STM32、按键、步进电机、继电器、RGB灯、LCD和LED完成智能洗衣机控制系统的软/硬件设计。其中,每个综合项目都遵循科学的系统开发方法,用项目需求分析、项目实施和项目验证来组织系统开发。
本书特色如下:
(1)任务式开发。抛去传统的学习方法,选取生动的案例将理论与实践结合起来,通过理论学习和开发实践,使读者快速入门,由浅入深地掌握STM32微处理器接口技术和传感器应用开发技术。
(2)理论知识和案例实践相结合。将嵌入式系统的开发技术、STM32微处理器接口技术、传感器应用和生活中的实际案例结合起来,边学习理论知识边开发,快速掌握嵌入式系统和物联网开发技术。
(3)提供综合性项目开发方法。综合性项目为读者提供软/硬件系统的开发方法,有需求分析、项目架构、软/硬件设计等方法。
本书既可作为高等院校相关专业的教材、教学参考书或自学参考书,也可供相关领域的工程技术人员查阅。对于物联网系统和嵌入式系统的开发爱好者,本书也是一本深入浅出的读物。
本书在编写过程中,借鉴和参考了国内外专家、学者、技术人员的相关研究成果,我们尽可能按学术规范予以说明,但难免会有疏漏之处,在此谨向有关作者表示深深的敬意和谢意,如有疏漏,请及时通过出版社与作者联系。
本书得到了广东省自然科学基金项目(2018A030313195)、广东高校省级重大科研项目(2017GKTSCX021)、广东省科技计划项目(2017ZC0358)、广州市科技计划项目(201804010262)、广东交通职业技术学院校级重点科研项目(2017-1-001)和广东省高等职业教育品牌专业建设项目(2016GZPP044)的资助。感谢中智讯(武汉)科技有限公司在本书编写过程中提供的帮助,特别感谢电子工业出版社的编辑在本书出版过程中给予的大力支持。
由于本书涉及的知识面广,时间仓促,限于笔者的水平和经验,疏漏之处在所难免,恳请专家和读者批评指正。
近年来,物联网、移动互联网、大数据和云计算的迅猛发展,慢慢改变了社会的生产方式,大大提高了生产效率。工业和信息化部《物联网发展规划(2016—2020年)》总结了“十二五”规划中物联网发展所取得的成就,并提出了“十三五”面临的形势,明确了物联网的发展思路和目标,提出了物联网发展的6大任务,分别是强化产业生态布局、完善技术创新体系、推动物联网规模应用、构建完善标准体系、完善公共服务体系、提升安全保障能力;提出了4大关键技术,分别是传感器技术、体系架构共性技术、操作系统,以及物联网与移动互联网、大数据融合关键技术;提出了6大重点领域应用示范工程,分别是智能制造、智慧农业、智能家居、智能交通和车联网、智慧医疗和健康养老,以及智慧节能环保;指出要健全多层次多类型的物联网人才培养和服务体系,支持高校、科研院所加强跨学科交叉整合,加强物联网学科建设,培养物联网复合型专业人才。该发展规划为物联网发展指出了一条鲜明的道路,同时也可以看出,我国在推动物联网应用方面的坚定决心,相信物联网规模会越来越大。
本书基于STM32微处理器详细阐述嵌入式系统和物联网系统的底层开发技术,采用了案例式和任务式驱动的开发方法,旨在大力推动物联网人才的培养。
嵌入式系统和物联网系统涉及的技术很多,底层和感知层的开发需要掌握微处理器接口技术、相应传感器的应用开发技术。本书将详细分析基于STM32和各种传感器的驱动方法,理论知识点清晰,实践案例丰富。
全书采用任务式开发的学习方法,精选28个贴近社会和生活的案例,由浅入深地介绍STM32的接口技术和传感器应用开发技术,每个案例均有完整的开发过程,分别是生动的开发场景、明确的开发目标、深入浅出的原理学习、详细的系统设计过程、详细的软/硬件设计和功能实现过程,最后进行开发验证和总结拓展。每个案例均附有完整的开发代码,读者可在源代码的基础上快速地进行二次开发,能方便地将其转化为各种比赛和创新创业的案例,不仅为高等院校相关专业师生提供教学案例,也可以为工程技术人员和科研人员提供较好的参考资料。
第1部分引导读者初步了解嵌入式系统的发展概况,学习ARM微处理器的基本原理、功能,并进一步学习STM32的原理、功能及片上资源,学习STM32开发平台的构成以及开发环境的搭建,初步探索IAR for ARM的开发环境和在线调试,掌握STM32开发环境的搭建和调试。
第2部分介绍本书开发项目所依托的STM32的各种接口技术,分别有GPIO、外部中断、定时器、ADC、看门狗、串口、LCD、I2C总线和SPI总线,共有9个任务,分别是任务4到任务12,从而实现了9个项目的设计,包括:设备指示灯的设计与实现、竞赛抢答器的设计与实现、电子时钟的设计与实现、汽车电压指示器的设计与实现、环境监测点自复位的设计与实现、视频监控中三维控制键盘的设计与实现、农业大棚环境信息采集系统的设计与实现、高速动态数据存取的设计与实现,以及车载显示器的设计与实现。通过9个任务的开发来掌握STM32的接口原理、功能和开发技术,从而具备基本的开发能力。
第3部分介绍各种传感器技术,包括光照度传感器、气压海拔传感器、空气质量传感器、三轴加速度传感器、距离传感器、人体红外传感器、燃气传感器、振动传感器、霍尔传感器、光电传感器、火焰传感器、触摸传感器、继电器、轴流风机、步进电机和RGB灯,深入学习传感器的基本原理、功能和结构。结合这些传感器和STM32开发平台,完成任务14到任务29共16个项目的设计,包括:温室大棚光照度测量系统的设计与实现、探空气球测海拔的设计与实现、建筑工地扬尘监测系统的设计与实现、VR设备动作捕捉系统的设计与实现、扫地机器人避障系统的设计与实现、红外自动感应门的设计与实现、燃气监测仪的设计与实现、振动检测仪的设计与实现、电机转速检测系统的设计与实现、智能家居光栅防盗系统的设计与实现、智能建筑消防预警系统的设计与实现、洗衣机触控面板控制系统的设计与实现、微电脑时控开关的设计与实现、工业通风设备的设计与实现、工业机床控制系统的设计与实现,以及声光报警器的设计与实现。通过16个项目的设计与开发,使读者熟悉传感器的基本原理,并掌握用STM32驱动各种传感器的方法,为综合项目开发打下坚实的基础。
第4部分开发的是综合项目,分别是任务30到任务32共3个项目的设计,任务30综合应用STM32、按键、光照度传感器、蜂鸣器、RGB灯、LCD和LED完成图书馆照明调节系统软/硬件设计;任务31综合应用STM32、燃气传感器、火焰传感器、继电器、按键、蜂鸣器、LCD和LED完成集成燃气灶控制系统的软/硬件设计;任务32综合应用STM32、按键、步进电机、继电器、RGB灯、LCD和LED完成智能洗衣机控制系统的软/硬件设计。其中,每个综合项目都遵循科学的系统开发方法,用项目需求分析、项目实施和项目验证来组织系统开发。
本书特色如下:
(1)任务式开发。抛去传统的学习方法,选取生动的案例将理论与实践结合起来,通过理论学习和开发实践,使读者快速入门,由浅入深地掌握STM32微处理器接口技术和传感器应用开发技术。
(2)理论知识和案例实践相结合。将嵌入式系统的开发技术、STM32微处理器接口技术、传感器应用和生活中的实际案例结合起来,边学习理论知识边开发,快速掌握嵌入式系统和物联网开发技术。
(3)提供综合性项目开发方法。综合性项目为读者提供软/硬件系统的开发方法,有需求分析、项目架构、软/硬件设计等方法。
本书既可作为高等院校相关专业的教材、教学参考书或自学参考书,也可供相关领域的工程技术人员查阅。对于物联网系统和嵌入式系统的开发爱好者,本书也是一本深入浅出的读物。
本书在编写过程中,借鉴和参考了国内外专家、学者、技术人员的相关研究成果,我们尽可能按学术规范予以说明,但难免会有疏漏之处,在此谨向有关作者表示深深的敬意和谢意,如有疏漏,请及时通过出版社与作者联系。
本书得到了广东省自然科学基金项目(2018A030313195)、广东高校省级重大科研项目(2017GKTSCX021)、广东省科技计划项目(2017ZC0358)、广州市科技计划项目(201804010262)、广东交通职业技术学院校级重点科研项目(2017-1-001)和广东省高等职业教育品牌专业建设项目(2016GZPP044)的资助。感谢中智讯(武汉)科技有限公司在本书编写过程中提供的帮助,特别感谢电子工业出版社的编辑在本书出版过程中给予的大力支持。
由于本书涉及的知识面广,时间仓促,限于笔者的水平和经验,疏漏之处在所难免,恳请专家和读者批评指正。
作 者
2018年7月
评论
还没有评论。