注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书教育/教材/教辅教材研究生/本科/专科教材物联网实时操作系统原理与实战

物联网实时操作系统原理与实战

物联网实时操作系统原理与实战

定 价:¥89.00

作 者: 罗西
出版社: 北京航空航天大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787512440418 出版时间: 2023-03-01 包装: 平装
开本: 16开 页数: 字数:  

内容简介

  本书以RT Thread操作系统为例,系统地阐述了物联网项目开发中,实时操作系统的作用、内核原理、组件技术以及如何利用其组件化开发平台搭建实际的物联网项目。 全书内容分为两大部分,共17章,其中,第1~8章为原理部分,第9~17章为实战部分。原理部分按照物联网体系、嵌入式系统、实时内核的逐层递进关系,系统地介绍了RT Thread作为物联网实时操作系统在物联网项目体系中的作用,以及其自身的内核原理、组件技术等相关知识。实战部分基于RT Thread操作系统,选取有物联网特色的实战案例,由浅入深地介绍了7个项目的开发过程。项目涉及物联网开发中感知层、网络层以及应用层的实现方法。各章节均有配套示例,便于读者更好地理解原理知识和提升物联网项目开发能力。读者可以登录北京航空航天大学出版社官网获取源码资源。本书适合希望进入物联网行业的技术人员参考学习。

作者简介

暂缺《物联网实时操作系统原理与实战》作者简介

图书目录

第一部分 原理篇

第1章 物联网与嵌入式 3

1.1 物联网发展历程 3

1.2 物联网架构 5

1.3 物联网核心技术 6

1.4 嵌入式系统 10

1.4.1 嵌入式系统概念 10

1.4.2 嵌入式系统体系 10

1.5 嵌入式实时操作系统(RTOS) 12

1.5.1 嵌入式实时操作系统介绍 12

1.5.2 嵌入式实时操作系统的重要性能指标 12

1.5.3 几种常用的嵌入式实时操作系统 13

1.6 RT Thread概述 14

1.6.1 RT Thread简介 14

1.6.2 RT Thread架构体系 15

第2章 仿真环境搭建 17

2.1 RT Thread源码获取 17

2.2 MDK5安装 18

2.3 仿真工程 20

2.3.1 获取Nano版本源码 20

2.3.2 RT Thread Pack包安装 21

2.4 MDK5仿真环境配置 23

第3章 线程管理 26

3.1 线程与进程 26

3.1.1 线程与进程的概念 26

3.1.2 线程与进程的关系与区别 27

3.1.3 线程与进程的优缺点 27

3.1.4 线程与进程的案例 28

3.1.5 线程与进程的管理模型 29

3.2 裸机系统与多线程系统 31

3.2.1 裸机系统 31

3.2.2 多线程系统 33

3.2.3 祼机系统与多线程系统的区别与应用 34

3.3 线程的工作机制 35

3.3.1 多线程并行与并发机制 35

3.3.2 内核对象与对象容器 35

3.3.3 系统启动过程 37

3.3.4 线程分类 39

3.3.5 线程状态 42

3.4 线程管理 44

3.4.1 线程的结构 44

3.4.2 线程的创建 47

3.4.3 线程的删除 49

3.4.4 线程的启动 50

3.4.5 线程的挂起和恢复 50

3.4.6 延时处理 51

3.4.7 其他处理 52

3.4.8 钩子函数的设置与删除 53

3.5 线程的调度机制 54

3.5.1 优先级调度 54

3.5.2 时间片调度 54

3.5.3 调度器 55

3.5.4 就绪表 55

3.6 线程的应用示例 56

3.6.1 示例要求 56

3.6.2 示例实现 56

第4章 线程同步 59

4.1 信号量 60

4.1.1 信号量概念 60

4.1.2 信号量组成 61

4.1.3 信号量分类 61

4.1.4 计数信号量工作机制 61

4.1.5 二值信号量工作机制 62

4.1.6 信号量接口函数 63

4.1.7 信号量应用示例 67

4.2 互斥量 71

4.2.1 互斥量的组成 71

4.2.2 互斥量的工作机制 71

4.2.3 优先级翻转 72

4.2.4 互斥量的接口函数 78

4.2.5 互斥量的应用示例 80

4.3 事件集 84

4.3.1 事件集的特点 85

4.3.2 事件集的组成 85

4.3.3 事件集的工作机制 85

4.3.4 事件集的接口函数 86

4.3.5 事件集的应用示例 89

第5章 线程通信 93

5.1 消息邮箱 93

5.1.1 消息邮箱的特性 94

5.1.2 消息邮箱的组成 94

5.1.3 消息邮箱的工作机制 95

5.1.4 消息邮箱的接口函数 96

5.1.5 消息邮箱的应用示例 99

5.2 消息队列 103

5.2.1 消息队列的特性 103

5.2.2 消息队列的组成 103

5.2.3 消息队列的工作机制 104

5.2.4 消息队列的接口函数 105

5.2.5 消息队列的应用示例 110

5.3 信 号 114

5.3.1 信号的背景知识 114

5.3.2 信号的工作机制 115

5.3.3 信号与中断、事件的对比 116

5.3.4 信号的接口函数 116

5.3.5 信号的应用示例 118

第6章 中断与时钟 122

6.1 中断概述 122

6.2 中断术语及性能 123

6.3 中断分类 126

6.3.1 按概念范畴划分 126

6.3.2 按能否屏蔽划分 126

6.3.3 按中断源划分 127

6.3.4 按中断信号的产生方式划分 127

6.4 中断处理过程 127

6.4.1 中断处理的一般流程 127

6.4.2 RT Thread中断处理流程 130

6.4.3 中断服务程序的编写 132

6.5 系统时钟 132

6.6 时钟管理 133

6.6.1 时钟节拍的概念 133

6.6.2 时钟节拍的实现 134

6.6.3 时钟节拍的获取 134

6.7 定时器管理 134

6.7.1 定时器分类 134

6.7.2 软件定时器分类 135

6.7.3 定时器的工作机制 135

6.7.4 定时器的操作接口 136

6.8 定时器应用示例 140

第7章 内存管理 143

7.1 内存管理基本概念 143

7.2 内存管理工作机制 144

7.2.1 静态内存管理 145

7.2.2 动态内存管理 146

7.3 内存管理接口函数 149

7.3.1 静态内存管理接口函数 149

7.3.2 动态内存管理接口函数 152

7.4 内存管理应用示例 155

第8章 组件应用 160

8.1 组件概述 30 ?160

8.2 ENV辅助工具 161

8.2.1 ENV辅助工具的获取 161

8.2.2 ENV辅助工具的注册 163

8.2.3 ENV辅助工具的功能介绍 164

8.3 FinSH控制台 167

8.3.1 FinSH 控制台输入模式 167

8.3.2 FinSH 控制台内置命令 168

8.3.3 FinSH 控制台自定义命令 171

8.4 文件系统 172

8.4.1 常用文件系统 172

8.4.2 DFS简介 173

8.4.3 DFS架构 173

8.4.4 DFS数据结构 174

8.4.5 DFS使用步骤 175

8.4.6 DFS管理接口 176

8.4.7 文件系统应用示例 177

8.5 网络通信 181

8.5.1 Socket(套接字)模型 181

8.5.2 SAL组件简介 182

8.5.3 AT设备通信 183

8.5.4 网络通信应用示例 185

第二部分 实战篇

第9章 开发环境介绍 191

9.1 硬件资源介绍 191

9.1.1 开发板配件 191

9.1.2 上电检测 191

9.1.3 板载资源 192

9.1.4 调试工具 193

9.2 软件工具介绍 198

9.2.1 MDK开发工具 198

9.2.2 STM32CubeMX配置工具 202

9.3 RT Thread系统移植 206

9.3.1 Nano版本移植 206

9.3.2 标准版本移植 215

第10章 多线程邮箱通信 224

10.1 项目准备 224

10.2 线程管理 224

10.3 线程创建 225

10.3.1 创建静态线程 225

10.3.2 创建动态线程 226

10.4 消息邮箱通信 226

10.4.1 功能设计 227__

10.4.3 消息邮箱的使用 227

10.5 消息邮箱通信测试 229

10.5.1 硬件连接 229

10.5.2 驱动安装 229

10.5.3 程序烧写 230

10.5.4 串口调试 231

第11章 多线程队列通信 234

11.1 项目准备 234

11.2 消息队列工作机制 234

11.3 串口DMA接收原理 235

11.4 项目实现 236

11.4.1 串口选择 236

11.4.2 串口配置 236

11.4.3 ENV串口配置 237

11.4.4 程序实现 238

11.5 项目测试 242

11.5.1 硬件接线 242

11.5.2 串口测试 243

第12章 GUI移植 245

12.1 项目准备 245

12.2 初识LVGL 245

12.3 LVGL移植 246

12.3.1 文件准备 246

12.3.2 文件导入 247

12.3.3 配置脚本 247

12.3.4 使用ENV工具配置LVGL 248

12.3.5 生成 MDK工程 249

12.4 GUI开发 250

12.4.1 添加LVGL示例文件 250

12.4.2 添加LCD驱动 251

12.4.3 SRAM 配置 255

12.4.4 使能CRC校验 256

12.4.5 使能内存分配算法 257

12.4.6 SRAM 功能使能 257

12.4.7 编写程序 258

12.4.8 错误处理 260

12.5 GUI测试 260__

第13章 环境光强采集系统 262

13.1 项目准备 262

13.2 ADC传感器 262

13.2.1 ADC简介 263

13.2.2 传感器电路原理 263

13.2.3 ADC时钟 264

13.2.4 ADC配置 265

13.3 项目开发 268

13.3.1 ADC外设初始化 269

13.3.2 获取光敏传感器数值 270

13.3.3 LVGL界面显示 273

13.4 测试效果 279

13.4.1 串口显示光照强度 279

13.4.2 LCD屏幕显示光照强度 280

第14章 环境温湿度采集系统 281

14.1 项目准备 281

14.2 DHT11传感器介绍 281

14.2.1 引脚封装 282

14.2.2 工作原理 283

14.3 项目开发 285

14.3.1 硬件连接与配置 285

14.3.2 ENV配置软件包 285

14.3.3 温湿度采集线程开发 287

14.3.4 温湿度显示线程开发 289

14.4 项目测试 294

14.4.1 串口显示温湿度数据 294

14.4.2 LCD屏幕显示温湿度 294

第15章 文件存储系统 296

15.1 项目准备 296

15.2 文件系统介绍 296

15.3 文件系统端口配置 297

15.4 文件系统软件包配置 298

15.4.1 FatFs组件配置 298

15.4.2 SDIO端口配置 298

15.5 项目开发 299

15.5.1 文件挂载线程 299

15.5.2 文件读写操作的实现 301

15.5.3 温湿度采集线程实现 303

15.6 项目测试 307

第16章 物联网云平台 309

16.1 物联网云平台的概念 309

16.2 物联网云平台的系统架构 310

16.3 国内外主流的物联网云平台 311

16.4 阿里云物联网平台简介 311

16.4.1 阿里云物联网平台架构 312

16.4.2 阿里云物联网平台通信 313

16.4.3 阿里云物联网平台的主要功能 313

16.4.4 阿里云物联网平台的优势 314

16.5 阿里云物联网平台应用 315

16.5.1 阿里云物联网平台配置 315

16.5.2 MQTT.fx工具配置 317

16.5.3 设备接入云平台测试 322

16.6 OneNET云平台简介 324

16.6.1 OneNET云平台架构 324

16.6.2 OneNET云平台通信 325

16.6.3 OneNET云平台的主要功能 325

16.6.4 OneNET云平台的资源模型 327

16.7 OneNET云平台应用 328

16.7.1 OneNET云平台配置 328

16.7.2 MQTT.fx工具配置 330

16.7.3 设备接入云平台测试 332

第17章 智能环境监控系统 334

17.1 项目准备 334

17.2 项目架构 334

17.3 项目实现 335

17.3.1 嵌入式部分的实现 335

17.3.2 云平台部分的实现 368

17.4 项目测试 386

17.4.1 串口信息测试 386

17.4.2 LCD界面测试 387

17.4.3 云平台测试 387

17.5 项目总结 388


本目录推荐