第1章 嵌入式物联网系统概述 1
1.1 为什么物联网需要IP技术 2
1.1.1 智能设备简介 2
1.1.2 物联网——基于IP技术的智能设备 2
1.2 嵌入式系统的定义 6
1.3 嵌入式系统的常用术语 8
1.3.1 与硬件相关的术语 8
1.3.2 与通信相关的术语 9
1.3.3 与功能模块及软件相关的术语 10
1.4 嵌入式系统C语言编程 11
1.4.1 软件架构 12
1.4.2 内存操作 16
1.4.3 屏幕操作 20
1.4.4 键盘操作 25
1.4.5 性能优化 27
1.5 STM32 MCU简介 29
1.5.1 STM32 MCU结构 30
1.5.2 STM32 MCU存储器映像 31
1.5.3 STM32 MCU系统时钟树 32
1.5.4 Cortex-M3简介 33
第2章 开发平台和编译环境 34
2.1 开发板的硬件结构 34
2.1.1 电路原理图 34
2.1.2 原理图说明 34
2.2 编译开发环境的建立 37
2.2.1 安装EWARM 37
2.2.2 配置项目选项 37
2.2.3 安装JLINK仿真器驱动程序 39
2.2.4 编译和下载程序 39
2.2.5 串口调试助手介绍 40
第3章 通用并行接口GPIO 41
3.1 GPIO的结构及寄存器说明 41
3.2 GPIO库函数 43
3.3 GPIO设计实例——控制LED灯 45
第4章 中断和事件 49
4.1 嵌套向量中断控制器(NVIC) 49
4.2 外部中断/事件控制器(EXTI) 52
4.3 EXTI寄存器描述 54
4.4 中断库函数 55
4.4.1 NVIC库函数 55
4.4.2 EXTI库函数 57
4.5 设计实例——按键中断 57
第5章 USART串口通信 61
5.1 串口简介 61
5.2 USART寄存器说明 62
5.3 USART库函数 67
5.4 设计实例——按键中断 69
第6章 串行设备接口SPI 72
6.1 SPI结构及寄存器说明 73
6.2 SPI库函数 74
6.3 设计实例——LCD显示 75
第7章 定时器TIM 83
7.1 通用定时器 83
7.2 TIM寄存器结构 84
7.3 TIM库函数 85
7.4 设计实例1——通用定时器 87
7.5 设计实例2——SysTick定时器 90
第8章 看门狗 92
8.1 独立看门狗 92
8.1.1 IWDG功能描述 93
8.1.2 IWDG寄存器与库函数 93
8.1.3 IWDG应用实例 93
8.2 窗口看门狗 95
8.2.1 WWDG功能描述 95
8.2.2 WWDG寄存器与库函数 96
8.2.3 WWDG应用实例 96
第9章 温湿度采集系统设计 99
9.1 系统结构 99
9.2 软件结构 101
9.3 程序实现 101
第10章 Contiki开发基础 104
10.1 Contiki操作系统介绍 104
10.2 事件驱动机制和protothread机制 106
10.2.1 事件驱动 106
10.2.2 Contiki的事件驱动原理 107
10.2.3 protothread机制 113
10.3 Contiki的主要数据结构 120
10.3.1 数据结构的进程 120
10.3.2 数据结构之事件 122
10.3.3 数据结构之etimer 123
10.3.4 进程、事件、etimer关系 124
10.4 启动一个进程process_start 125
10.5 Contiki编程模式 131
第11章 Contiki系统移植 135
11.1 认识Contiki开发套件 135
11.1.1 Contiki开发套件介绍 135
11.1.2 跳线设置及硬件连接 136
11.2 搭建Contiki开发环境 137
11.2.1 Contiki源代码结构 137
11.2.2 Contiki系统移植过程 138
11.3 Contiki系统移植实例 143
11.3.1 LED控制 143
11.3.2 Contiki多线程 148
11.3.3 Contiki进程间的通信 150
11.3.4 按键位检测 152
11.3.5 Timer实例 156
11.3.6 LCD屏显示实例 158
第12章 Contiki无线网络 160
12.1 Contiki网络工程解析 160
12.1.1 网络工程目录结构 160
12.1.2 网络工程配置 162
12.1.3 contiki-main.c文件解析 163
12.1.4 模板工程实例 166
12.2 IPv6网关 167
12.2.1 IPv6网关的工作原理 167
12.2.2 IPv6网关架构解析 169
12.2.3 网关802.15.4的IPv6网络实现 174
12.2.4 网关蓝牙的IPv6网络实现 176
12.2.5 网关WiFi的IPv6网络实现 177
12.2.6 IPv6网络实例 178
12.3 无线节点组网 181
12.3.1 802.15.4节点RPL组网 181
12.3.2 蓝牙节点IPv6组网 191
12.3.3 WiFi节点IPv6组网 195
12.4 节点间通信 198
12.4.1 节点间UDP通信 198
12.4.2 节点间TCP通信 204
12.4.3 节点与PC间UDP通信 210
12.4.4 节点与PC间TCP通信 213
12.5 protoSocket编程 216
第13章 6LoWPAN物联网综合应用 220
13.1 6LoWPAN多网融合框架 220
13.2 传感器UIBee数据通信协议 225
13.3 传感器信息UDP采集及控制 228
13.4 传感器信息CoAP采集及控制 236
13.4.1 CoAP工作原理 236
13.4.2 传感器CoAP实例 239
13.4.3 实例操作步骤 243
13.5 传感器应用综合实训 246
13.5.1 无线节点信息采集与LED控制底层的实现 246
13.5.2 MeshTop综合应用程序的实现 251
13.5.3 综合应用演示步骤 258
13.6 添加自定义传感器 261
13.6.1 基本思路和关键技术 261
13.6.2 自定义传感器演示操作步骤 265
参考文献 268