第1章 物联网与嵌入式系统概述 1
1.1 物联网概述 1
1.2 国内外物联网的发展现状 2
1.2.1 国外物联网现状 2
1.2.2 国内物联网现状 2
1.3 嵌入式系统概述 3
1.3.1 什么是嵌入式系统 3
1.3.2 嵌入式基本结构 3
1.3.3 嵌入式系统的特点 5
1.4 物联网与嵌入式系统 6
1.5 基于嵌入式技术的物联网应用领域 7
1.5.1 物联网与智能家居 7
1.5.2 物联网与智能农业 7
1.5.3 物联网与智能物流 9
1.5.4 物联网与智能医疗 11
第2章 嵌入式Linux系统快速入门 13
2.1 嵌入式Linux概述 13
2.1.1 什么是嵌入式Linux 13
2.1.2 嵌入式系统中选择嵌入式Linux的缘由 14
2.2 搭建嵌入式Linux主机开发环境 14
2.3 Linux基础命令 20
2.3.1 用户系统相关命令 21
2.3.2 文件相关命令 24
2.3.3 网络相关命令 29
2.4 Linux下C编程基础 31
2.4.1 常用编辑器vi 31
2.4.2 gcc编译器 33
2.4.3 make工程管理器 37
2.5 嵌入式Linux操作系统Bootloader 41
2.5.1 Bootloader概述 41
2.5.2 U-Boot概述 42
第3章 Linux应用程序编程 44
3.1 底层文件I/O操作 44
3.1.1 Linux系统调用及用户编程接口(API) 44
3.1.2 底层文件I/O操作 45
3.1.3 文件锁 49
3.1.4 标准I/O编程基本操作 54
3.1.5 其他操作 57
3.2 进程控制开发 59
3.2.1 进程的基本概念 59
3.2.2 Linux下进程的模式和类型 60
3.2.3 Linux进程控制编程 60
3.3 进程间通信 65
3.3.1 管道 66
3.3.2 FIFO 70
3.3.3 信号 74
3.3.4 信号的处理 78
3.3.5 信号量 81
3.4 多线程编程 86
3.4.1 线程概述 86
3.4.2 线程基本编程 87
3.4.3 线程之间的同步与互斥 91
3.4.4 信号量线程控制 94
3.5 嵌入式Linux网络编程 98
3.5.1 OSI参考模型及TCP/IP参考模型 98
3.5.2 网络基础编程 99
3.5.3 Socket基础编程 104
第4章 嵌入式Linux设备驱动开发 112
4.1 设备驱动概述 112
4.1.1 设备驱动简介及驱动模块 112
4.1.2 设备分类 113
4.1.3 设备号 113
4.1.4 驱动层次结构 114
4.1.5 设备驱动程序与外界的接口 114
4.1.6 设备驱动程序的特点 114
4.2 字符设备驱动编程 115
4.3 GPIO驱动程序实例 120
4.3.1 LED灯实验 120
4.3.2 按键驱动实例 127
第5章 物联网应用开发 130
5.1 无线传感网络 130
5.1.1 无线传感网络概述 130
5.1.2 无线传感网络的关键技术 131
5.2 传感器技术 132
5.2.1 传感器技术的定义及作用 132
5.2.2 各类传感器介绍 133
5.2.3 传感器在物联网中的应用 134
5.3 网关 134
5.3.1 STM32网关平台 135
5.3.2 M3网关实验 138
5.3.3 STM32 LED实验 155
5.4 短距离传输之ZigBee 156
5.4.1 ZigBee技术的概述 156
5.4.2 ZigBee自身技术优势 157
5.4.3 ZigBee网络设备类型及拓扑结构 158
5.4.4 ZigBee 2007协议栈安装 159
5.4.5 ZigBee传感器使用 161
5.4.6 ZigBee控制LED实验 168
5.5 短距离传输之蓝牙(BLE) 171
5.5.1 蓝牙的概念及原理 171
5.5.2 蓝牙技术优势 172
5.5.3 BLE 4.0协议栈安装 173
5.5.4 BLE程序烧写 173
5.5.5 BLE蜂鸣器控制节点实验 176
5.6 短距离传输之IPv6 181
5.6.1 IPv6介绍 181
5.6.2 基于IPv6蜂鸣器实验 182
5.7 短距离传输之WiFi 185
5.7.1 WiFi技术定义 185
5.7.2 基于WiFi超声波测距传感器节点实验 186
第6章 Android底层及应用开发 190
6.1 底层部分 190
6.1.1 Android源码编译实验 190
6.1.2 Android镜像烧写实验 198
6.1.3 Android LED点灯实验 206
6.2 应用部分 209
6.2.1 华清远见开发环境 209
6.2.2 创建第一个Android应用 215
第7章综合实例开发 225
7.1 基于嵌入式Linux的智能家居系统设计 225
7.1.1 概述 225
7.1.2 设计实现 226
7.2 基于嵌入式Linux的智能农业系统设计 227
7.2.1 概述 227
7.2.2 设计实现 228
7.3 安防监控系统设计 230
7.3.1 概述 230
7.3.2 设计实现 231
参考文献 233