本书为“物联网工程实战丛书”的第3卷。书中从物联网工程的实际需求出发,阐述了物联网协议的相关知识及物联网操作系统的设计和开发理念,从源头告诉读者需要开发什么样的物联网操作系统。本书共10章。第1章阐述了与物联网联系比较紧密的几种网络通信协议;第2章阐述了路由器交换机原理及其设计与开发的要点;第3章对移动互联网Wi-Fi做了详细解析;第4章给出了操作系统的一般概念;第5章介绍了几种应用于资源受限设备的物联网操作系统;第6章介绍了几种嵌入式实时操作系统;第7章剖析了一种轻量级实时物联网操作系统Zephyr,给出了较为详细的应用开发指导;第8章阐述了比较流行的Ubunto操作系统;第9章详尽地讲解了路由器操作系统的开发流程,为物联网网关、智能路由器、边缘计算服务器的研发打下基础;第10章给出了嵌入式系统的底层驱动软件开发指导。
本书适合作为高等院校物联网工程、通信工程、网络工程、电子信息工程、微电子和集成电路等相关专业的教材,也适合物联网协议的研究者和物联网操作系统的研发人员阅读。另外,本书还适合作为智慧城市建设等政府管理部门相关人员的参考读物。
第1章 网络通信技术.... 1
1.1 数字通信概述... 1
1.2 数字通信关键技术... 2
1.3 数字通信OSI模型... 3
1.4 TCP/IP网络通信协议... 7
1.4.1 TCP/IP协议... 7
1.4.2 CoAP协议... 10
1.4.3 MQTT协议(低带宽)... 11
1.4.4 AMQP协议(互操作性)... 11
1.4.5 XMPP协议(即时通信)... 12
1.4.6 JMS协议... 13
1.5 UDP协议... 14
1.6 HTTP协议... 16
1.6.1 工作原理... 16
1.6.2 消息结构... 17
1.6.3 请求方法... 18
1.6.4 响应头信息... 19
1.6.5 状态码... 20
1.6.6 内容类型... 20
1.7 FTP协议... 21
1.8 Bluetooth协议... 23
1.8.1 Bluetooth发展史及优势... 23
1.8.2 Bluetooth技术... 25
1.9 ZigBee协议... 26
1.9.1 ZigBee发展历史... 27
1.9.2 ZigBee的特点及优势... 30
1.9.3 ZigBee基本概念... 30
1.9.4 ZigBee协议栈... 32
1.10 6LoWPAN低速无线个域网协议... 33
1.11 LoRa WAN低功耗广域网协议... 35
1.12 NB-IoT窄带物联网协议... 41
1.12.1 物联网应用场景和技术特点... 41
1.12.2 无线通信技术发展过程... 48
1.12.3 NB-IoT窄带物联网节能原理... 52
1.12.4 NB-IoT通信系统拓扑结构... 56
1.12.5 NB-IoT窄带物联网信号收发技术... 59
1.12.6 NB-IoT窄带物联网小区接入... 64
1.12.7 NB-IoT连接管理... 67
1.12.8 NB-IoT数据传输... 68
1.13 MQTT网络协议... 71
1.13.1 网络协议比较... 71
1.13.2 发布和订阅模型... 72
1.13.3 MQTT协议命令... 73
1.13.4 MQTT协议参数... 74
1.14 协议转换... 77
1.14.1 RS-232/485/CAN转换器... 77
1.14.2 基于现场总线的协议转换器... 78
1.14.3 物联网协议转换器——网关... 79
1.14.4 物联网网关... 82
1.14.5 物联网网关应用... 84
1.15 小结... 85
1.16 习题... 86
第2章 信息交换技术.... 87
2.1 交换技术概述... 88
2.2 数字程控交换... 91
2.3 ATM交换... 92
2.4 以太网交换... 92
2.5 光交换... 94
2.6 二层交换——交换机原理... 94
2.7 三层转发——路由器原理... 95
2.8 三层交换——三层交换机... 98
2.9 交换机设计开发... 103
2.9.1 交换机的层次定位... 103
2.9.2 交换机的硬件设计... 104
2.9.3 交换机的软件设计... 107
2.9.4 测试环节... 110
2.10 小结... 110
2.11 习题... 111
第3章 无线Wi-Fi技术.... 112
3.1 Wi-Fi概述... 112
3.1.1 WLAN无线局域网络概述... 112
3.1.2 Wi-Fi无线网络起源... 113
3.2 Wi-Fi基础... 116
3.2.1 Wi-Fi物理组件... 117
3.2.2 Wi-Fi服务功能... 117
3.2.3 Wi-Fi认证和加密... 120
3.2.4 Wi-Fi基础参数... 121
3.3 Wi-Fi接入... 123
3.3.1 Wi-Fi的STA与AP的接入... 123
3.3.2 Wi-Fi的多AP认证和关联过程... 125
3.3.3 Wi-Fi漫游过程... 126
3.4 Wi-Fi管理... 127
3.4.1 wpa_supplicant程序... 127
3.4.2 wpa_cli调试工具... 129
3.5 Wi-Fi模块解析... 130
3.5.1 Wi-Fi框架分析... 130
3.5.2 Wi-Fi启动流程... 133
3.6 Wi-Fi驱动结构... 142
3.6.1 SDIO驱动... 142
3.6.2 无线通信芯片... 142
3.6.3 设备驱动注册... 144
3.6.4 加载驱动模块... 154
3.6.5 SDIO设备中断... 155
3.6.6 Wi-Fi驱动流程... 156
3.6.7 网络设备注册... 159
3.7 小结... 162
3.8 习题... 163
第4章 操作系统概述.... 164
4.1 通用计算机操作系统... 164
4.2 嵌入式实时操作系统... 166
4.2.1 嵌入式操作系统的主要特点... 167
4.2.2 嵌入式操作系统和通用计算机操作系统的区别... 167
4.2.3 流行嵌入式实时操作系统... 168
4.3 手机操作系统... 171
4.3.1 Android操作系统... 171
4.3.2 AndroidApp研发基础... 172
4.3.3 AndroidApp开发文献... 174
4.3.4 iOS操作系统... 176
4.4 物联网操作系统... 178
4.4.1 概述... 178
4.4.2 特点... 180
4.4.3 架构... 182
4.4.4 实例分析... 192
4.4.5 发展趋势... 194
4.5 小结... 195
4.6 习题... 196
第5章 物联网操作系统.... 197
5.1 微软物联网操作系统... 197
5.2 谷歌物联网操作系统... 197
5.2.1 谷歌Brillo. 198
5.2.2 谷歌Android Things. 199
5.3 ARM物联网操作系统... 203
5.4 华为物联网操作系统Huawei LiteOS. 204
5.5 中兴物联网操作系统... 207
5.6 庆科物联网操作系统MICO.. 211
5.7 小结... 220
5.8 习题... 220
第6章 嵌入式Linux操作系统.... 221
6.1 uClinux简介... 221
6.2 RTLinux简介... 230
6.3 Ostro Linux简介... 234
6.4 HelloX物联网操作系统... 237
6.4.1 HelloX物联网操作系统框架分析... 238
6.4.2 HelloX主要功能... 239
6.4.3 HelloX的开发方向... 241
6.4.4 HelloX用于智慧家庭... 243
6.5 FreeRTOS操作系统简介... 246
6.6 Tiny OS操作系统简介... 249
6.6.1 TinyOS特点... 249
6.6.2 TinyOS组成... 251
6.6.3 TinyOS运行机理... 252
6.6.4 TinyOS开发环境... 252
6.6.5 TinyOS开发过程... 253
6.6.6 TinyOS开发平台... 254
6.6.7 TinyOS的研究项目... 254
6.7 RIOT OS操作系统简介... 254
6.8 小结... 258
6.9 习题... 259
第7章 物联网Zephyr操作系统.... 260
7.1 Zephyr操作系统概述... 261
7.1.1 Zephyr特色... 261
7.1.2 支持的微处理器类型... 262
7.1.3 支持的通信标准和网络协议... 262
7.1.4 内核版本迭代历程... 263
7.2 Zephyr系统内核... 266
7.2.1 多线程功能... 267
7.2.2 中断服务功能... 268
7.2.3 时钟和定时器功能... 268
7.2.4 同步功能... 268
7.2.5 数据传输功能... 269
7.2.6 内存动态分配功能... 269
7.2.7 公共和私有内核对象... 269
7.2.8 微内核服务器功能... 270
7.2.9 C++支持的应用... 270
7.2.10 Zephyr源代码结构... 271
7.3 在Linux上搭建Zephyr开发环境... 271
7.3.1 下载源代码... 272
7.3.2 安装需要的包和依赖文件... 272
7.3.3 安装Zephyr SDK.. 272
7.3.4 编译、运行应用程序... 273
7.3.5 应用程序仿真测试与运行... 274
7.4 在Windows上搭建Zephyr开发环境... 274
7.5 用MSYS2搭建Zephyr开发环境... 277
7.6 应用程序开发... 279
7.6.1 概述... 279
7.6.2 创建应用程序目录app. 280
7.6.3 创建应用程序子目录build. 281
7.6.4 重构应用程序... 282
7.6.5 运行应用程序... 282
7.6.6 开发板定制... 283
7.6.7 用QEMU调试程序... 284
7.6.8 用Eclipse调试程序... 286
7.6.9 CMake工具... 287
7.6.10 CMakeLists.txt文件... 288
7.6.11 CMakeCache.txt文件... 289
7.6.12 编辑配置文件... 290
7.6.13 更新设备树序列... 293
7.6.14 支持第三方库代码... 294
7.7 小结... 294
7.8 习题... 295
第8章 嵌入式Ubuntu操作系统.... 296
8.1 准备Ubuntu文件... 297
8.2 安装Ubuntu系统... 299
8.3 连网资源... 304
8.4 更新系统... 307
8.5 目录结构... 309
8.6 启动流程... 310
8.7 编程环境... 311
8.7.1 安装编辑器... 311
8.7.2 下载并安装JDK.. 311
8.7.3 Ubuntu开发环境的配置... 314
8.7.4 Ubuntu添加或删除源... 315
8.7.5 安装Eclipse. 316
8.7.6 安装MySQL. 317
8.7.7 安装build-essential 318
8.7.8 安装Tomcat 319
8.7.9 安装Android Studio(32Bit)... 321
8.8 小结... 322
8.9 习题... 322
第9章 路由器OpenWrt操作系统.... 323
9.1 OpenWrt开发环境基础... 324
9.1.1 OpenWrt硬件需求... 324
9.1.2 OpenWrt文件结构和网络结构... 326
9.2 OpenWrt常用命令... 326
9.2.1 编辑命令vi 327
9.2.2 查找命令grep. 328
9.2.3 查找命令find. 328
9.2.4 在线手册查看命令man. 329
9.2.5 其他命令... 330
9.3 OpenWrt常用工具... 331
9.3.1 Feeds简介... 332
9.3.2 Buildroot简介... 333
9.3.3 代码阅读与编辑工具Source Insight 334
9.3.4 文件传输工具FileZilla. 339
9.3.5 远程登录工具SecureCRT. 343
9.3.6 TFTP服务器软件Tftpd32. 345
9.3.7 代码阅读和编辑工具KScope. 346
9.3.8 远程登录工具C-Kermit 350
9.4 在Windows上安装VMware. 351
9.5 在VMware上安装Ubuntu. 357
9.5.1 Ubuntu安装步骤... 357
9.5.2 Ubuntu上安装、配置、启动FTP和SSH服务... 360
9.6 在Ubuntu上安装OpenWrt 362
9.6.1 安装open-vm-tools. 363
9.6.2 安装所需的依赖环境... 363
9.6.3 OpenWrt下载安装... 364
9.6.4 OpenWrt的编译... 364
9.6.5 OpenWrt的固件烧写... 366
9.7 OpenWrt配置... 368
9.7.1 初始配置... 368
9.7.2 配置DNS. 369
9.7.3 配置PPTP. 370
9.7.4 配置chnroutes. 373
9.7.5 配置VPN.. 374
9.7.6 安装LuCI 376
9.8 OpenWrt路由器应用开发... 377
9.8.1 OpenWrt系统的编译... 377
9.8.2 OpenWrt在线固件更新... 380
9.8.3 OpenWrt刷机... 390
9.8.4 路由器设置... 392
9.8.5 文件服务... 397
9.8.6 DDNS服务... 403
9.9 OpenWrt应用程序编程实例... 404
9.10 小结... 412
9.11 习题... 413
第10章 设备底层驱动编程.... 414
10.1 设备驱动简介... 414
10.1.1 引言... 414
10.1.2 设备驱动分类... 415
10.1.3 驱动模块程序结构... 416
10.2 Linux文件系统... 420
10.3 文件系统与设备驱动... 421
10.4 驱动编译及加载实例... 423
10.5 字符设备驱动... 427
10.5.1 字符设备驱动初识... 428
10.5.2 字符设备驱动构成... 431
10.6 小结... 434
10.7 习题... 434
参考文献.... 435
推荐帖子 最新更新时间:2022-05-18 18:03
热门活动
相关视频
可能感兴趣器件
随便看看
热门下载
热门文章
热门标签
评论