新書推薦:
![人文与社会译丛:自由意志、能动性与生命的意义](http://103.6.6.66/upload/mall/productImages/24/29/9787575301596.jpg)
《
人文与社会译丛:自由意志、能动性与生命的意义
》
售價:HK$
79.4
![儿童折纸大全(儿童创意美术手工系列)](http://103.6.6.66/upload/mall/productImages/24/30/9787510196225.jpg)
《
儿童折纸大全(儿童创意美术手工系列)
》
售價:HK$
34.3
![意识形态与现代文化(人文与社会译丛)](http://103.6.6.66/upload/mall/productImages/24/29/9787575301503.jpg)
《
意识形态与现代文化(人文与社会译丛)
》
售價:HK$
90.9
![红顶商人盛宣怀(全三册)(长篇历史小说经典书系)](http://103.6.6.66/upload/mall/productImages/24/29/9787570235063.jpg)
《
红顶商人盛宣怀(全三册)(长篇历史小说经典书系)
》
售價:HK$
147.2
![最好的教养:别错过孩子的4~7岁成长关键期](http://103.6.6.66/upload/mall/productImages/24/29/9787565735110.jpg)
《
最好的教养:别错过孩子的4~7岁成长关键期
》
售價:HK$
57.3
![人海之间:海洋亚洲中的中国与世界](http://103.6.6.69/upload/mall/productImages/y24/8/9787559862259.jpg)
《
人海之间:海洋亚洲中的中国与世界
》
售價:HK$
69.6
![大国博弈六百年](http://103.6.6.69/upload/mall/productImages/y24/9/9787516838396.jpg)
《
大国博弈六百年
》
售價:HK$
92.0
![这里是中国(3):华夏文明史诗](http://103.6.6.69/upload/mall/productImages/y24/9/9787521751086.jpg)
《
这里是中国(3):华夏文明史诗
》
售價:HK$
233.6
|
編輯推薦: |
《物联网之魂:物联网协议与物联网操作系统》特色:
物联网领域的多位专家力荐;
国内物联网工程学科的奠基性作品;
一线物联网工程师和高校教学人员参与创作,阵容强大;
系统阐述物联网协议的相关知识与物联网操作系统的设计理念与方法。
实用性强,注重教学的同时,非常注重物联网工程实践;
物联网工程实战丛书是由山东大学信息科学与工程学院高级工程师曾凡太教授组织国内物联网领域的一线研发工程师和高校教研人员编写的系列作品。丛书系统地介绍了物联网的各种开发工具、设计语言、研发平台和工程案例等内容,勾勒出了物联网工程的学科结构及其专业必修课的范畴,充分体现了工程专业理论扎实,操作见长的学科特色,可为相关院校的物联网工程课程设置提供参考,并对工业、农业、商贸、物流、交通和医疗等行业的物联网工程应用指明方向。
丛书全面、系统地阐述了物联网理论基础、电路设计、专用芯片设计、物联网协议、物联网操作系统、云服务平台构建、智能硬件设计、物联网工程实践和智慧城市建设等内容,勾勒出了物联网工程的学科结构及其专业必修课的范畴,可以为相关院校的物联网工程课程设置提供参考。
丛书从硬件电路、芯片设计、软件开发
|
內容簡介: |
本书系统地介绍了物联网协议和物联网操作系统的相关内容。第1章阐述了与物联网联系比较紧密的几种网络通信协议;第2章阐述了路由器交换机的原理及其开发要点;第3章对移动互联网Wi-Fi做了详细解析;第4章介绍了操作系统的一般概念;第5章介绍了几种应用于资源受限设备的物联网操作系统;第6章介绍了几种嵌入式实时操作系统;第7章剖析了一种轻量级实时物联网操作系统zephyr,给出较详细的应用开发指导;第8章阐述了比较流行的Ubunto操作系统;第9章详尽地讲解了路由器操作系统的开发流程,为物联网网关、智能路由器及边缘计算服务器的研发打下基础;第10章给出了嵌入式系统底层驱动软件的开发指导。本书适合从事物联网开发的工程技术人员及物联网专业的师生阅读。
|
關於作者: |
孙昊,毕业于山东大学控制工程学院,获工学硕士学位。网络设备资深研发工程师。曾就职于华为技术公司,负责操作系统软件的架构设计,并担任C语言和Lua语言讲师。申请多项ISSU技术专利。现就职于浪潮电子信息产业股份有限公司,负责软件架构设计工作。
王洋,毕业于辽宁工程技术大学,获硕士学位。现就职于浪潮集团,任软件工程师。曾经发表多篇智能控制和设备驱动方面的论文。
赵帅,毕业于沈阳航空航天大学。资深网络设备研发工程师,从事Android平板电脑系统嵌入式驱动层和应用层的开发工作。曾经在语音网关研发中改进了DSP中的语音编解码及回声抵消算法。现就职于浪潮电子信息产业股份有限公司。
杜秀芳,毕业于山东大学控制科学与工程学院,获工学硕士学位。曾就职于群硕软件开发(北京)有限公司,任高级软件工程师,从事资源配置、软件测试和QA等工作。现为山东劳动职业技术学院机械工程系教师。孙昊,毕业于山东大学控制工程学院,获工学硕士学位。网络设备资深研发工程师。曾就职于华为技术公司,负责操作系统软件的架构设计,并担任C语言和Lua语言讲师。申请多项ISSU技术专利。现就职于浪潮电子信息产业股份有限公司,负责软件架构设计工作。
王洋,毕业于辽宁工程技术大学,获硕士学位。现就职于浪潮集团,任软件工程师。曾经发表多篇智能控制和设备驱动方面的论文。
赵帅,毕业于沈阳航空航天大学。资深网络设备研发工程师,从事Android平板电脑系统嵌入式驱动层和应用层的开发工作。曾经在语音网关研发中改进了DSP中的语音编解码及回声抵消算法。现就职于浪潮电子信息产业股份有限公司。
杜秀芳,毕业于山东大学控制科学与工程学院,获工学硕士学位。曾就职于群硕软件开发(北京)有限公司,任高级软件工程师,从事资源配置、软件测试和QA等工作。现为山东劳动职业技术学院机械工程系教师。
曾凡太,山东大学信息科学与工程学院高级工程师。已经出版EDA工程丛书(共5卷,清华大学出版社出版)、《现代电子设计教程》(高等教育出版社出版)、《PCI总线与多媒体计算机》(电子工业出版社出版)等书,发表论文数十篇,申请发明专利4项。
|
目錄:
|
丛书序 序言 第1章 网络通信技术 1 1.1 数字通信概述 1 1.2 数字通信关键技术 2 1.3 数字通信OSI模型 3 1.4 TCPIP网络通信协议 7 1.4.1 TCPIP协议 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-232485CAN转换器 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 Android App研发基础 172 4.3.3 Android App开发文献 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 Tiny OS特点 249 6.6.2 Tiny OS组成 251 6.6.3 Tiny OS运行机理 252 6.6.4 Tiny OS开发环境 252 6.6.5 Tiny OS开发过程 253 6.6.6 Tiny OS开发平台 254 6.6.7 Tiny OS的研究项目 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
|
內容試閱:
|
沉舟侧畔千帆过,病树前头万木春
继计算机操作系统、嵌入式操作系统、手机操作系统之后,物联网操作系统进入了起步发展阶段。就目前的现状,物联网操作可以描述为:厂商山头林立、市场虚假繁荣、技术概念老旧、产品良莠不齐。
物联网操作系统产生的背景
应用需求催生了物联网操作系统的诞生。边缘计算的兴起,不仅解决了海量数据上云引起的网络阻塞、存储冗余、响应迟缓等问题,也为物联网操作系统的发展提供了机遇。边缘计算(将在丛书的第6卷中展开讲解)是物联网操作系统的重要应用领域之一。
高档微处理器奠定了物联网操作系统的硬件搭载基础。微处理器技术发展快速,32位MCU技术已经成熟,既可以在嵌入式设备终端和网关设备上使用,又可以在传感单元和执行单元上普遍使用。32位微处理器的硬件资源丰富,为物联网操作系统载体奠定了良好的硬件基础。例如,在MCU市场里,ARM完善的生态环境大大推动了物联网操作系统在内的嵌入式软件的发展。其他内嵌网络接口、AD 转换、通信模块的微处理器芯片也不断出现,物联网操作系统的搭载基础越来越好。
此外,设备端的小型化、低功耗、安全性的趋势,以及通信协议之间的灵活转换、应用层对边缘计算能力的要求、复杂的设备测控软件,这些市场需求成了物联网操作系统产生的必要条件。
物联网操作系统的组成框架
物联网操作系统沿用了嵌入式操作系统中的技术,可以将该技术分为两种,一种是实时的,另一种是通用型的。物联网操作系统由内核、通信支持(Wi-Fi蓝牙、2G、3G、4G、5G、NFC、RS232、PLC等)、外围组件(文件系统、GUI、Java虚拟机、XML文件解析器等),以及集成开发环境等组成。
物联网操作系统的必备能力
设备管理能力:内核应该有一个基于总线或树结构的设备管理机制,可以动态加载存储在外部介质上的设备驱动程序或其他核心模块。只需要开发新的应用程序,就可以满足设备管理需求。
可扩展、可裁剪、可伸缩的架构:因为物联网应用环境具备广谱特性,要求操作系统必须能够扩展,以适应新的应用环境。将物联网操作系统的内核设计成框架结构,定义接口和规范就可以在操作系统内核上增加新的功能和硬件支持。对于资源(内存和CPU)受限的设备,内核软件的大小必须维持在10KB以内,具备基本的任务调度和通信功能即可。高配置的设备(具有边缘计算能力的服务器、具有路由功能的网关),其内核必须具备完善的线程调度、内存管理、本地存储、复杂的网络协议、图形用户界面等功能。这时内核软件的大小可以达到几百KB,甚至MB。内核软件大小的伸缩性通过两个措施来实现,即重新编译和二进制模块选择加载。重新编译需要根据不同的应用目标,选择所需要的功能模块,然后对内核进行重新编译;二进制模块选择加载,需要操作系统配置文件,在内核初始化完成后,会根据配置文件,选择加载所需要的二进制模块。
文件系统、外部存储能力:支持常用的文件系统和外部存储,支持FAT32、NTFS、DCFS等文件系统,支持硬盘、USB Stick、Flash和ROM等常用存储设备。
应用程序动态加载能力:物联网操作系统应提供一组API,供不同应用程序调用,而且这一组API应该根据操作系统所加载的外围模块实时变化。操作系统能够动态地从外部存储介质上按需加载应用程序,其内核和外围模块(GUI、网络等)提供基础支持,而各种各样的行业应用则通过应用程序来实现。
兼容的通信接入能力:支持物联网常用的无线和有线通信功能。比如,支持GPRS、3G、HSPA、4G等公共网络的无线通信功能,同时要支持 ZigBee、NFC、RFID、Wi-Fi、Bluetooth 等近场通信功能,还要支持 Ethernet、CAN、USB 有线网络功能,以及窄带通信技术NB-IoT 和LoRa。
完善的网络协议兼容和转换能力:物联网操作系统必须支持完善的TCPIP协议栈,包括对IPv4和IPv6的同时支持。同时也支持丰富的IP协议族,比如Telnet、FTP、IPSec、SCTP等协议,以适用智能终端和高安全、高可靠的应用场合;不同的物理和链路层接口之上的协议之间要能够相互转换,把从一种协议获取到的数据报文转换成另一种协议报文发送出去。
设备的安全保护能力:支持内存保护(VMM等机制)和异常管理等机制,在必要时隔离错误代码。另外一个安全策略就是不开放源代码,或者不开放关键部分的内核源代码。物联网设备中很大一部分小型设备使用 MCU 和资源有限的微处理器,不开放它们的源代码能保护这些小型设备使其不受网络攻击和非法控制,以确保设备安全。
边缘计算能力:物联网设备连续不断地产生海量数据,如何管理和处理这些数据是摆在物联网企业面前的一个难题。边缘计算无疑是解决这个难题的有效技术手段之一。边缘计算是提高响应速度,改善网络阻塞的关键技术。
物联网操作系统的实时性:物联网设备的测量控制,很多关键性动作必须在有限的时间内完成,否则将失去意义。首先是中断响应的实时性,一旦外部中断发生,操作系统必须在足够短的时间内响应中断并做出处理;其次是线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件准备就绪,必须马上得到调度执行。
物联网操作系统的可靠性:物联网应用环境具备自动化程度高、人为干预少的特点,这要求物联网操作系统必须足够可靠,以支撑长时间地独立运行和无故障运行。
功耗控制能力:操作系统内核应该在CPU空闲的时候降低CPU的运行频率,或干脆关闭CPU。对于周边设备,也应该实时判断其运行状态,一旦进入空闲状态,则切换到省电模式。例如,网络上发送和接收信息的一个个嵌入式计算小型设备(比如智能传感器),它们的测控方法和管理模式是快速执行、立即睡眠模式。
远程诊断、维护、升级能力:可大大降低运营成本。远程升级完成后,原有的设备配置和数据能够得以继续使用。在升级失败的情况下,操作系统也应该能够恢复原有的运行状态。远程升级和维护是物联网操作系统大规模部署、低成本运营的主要措施之一。
远程配置、管理能力:常见的远程操作项目有远程修改设备参数、远程查看运行信息、远程查看操作系统内核状态、远程调试线程或任务、远程转储(dump)内核状态等功能。
关于《物联网之魂:物联网协议与物联网操作系统》
《物联网之魂:物联网协议与物联网操作系统》是物联网工程实战丛书的第3卷《物联网之魂:物联网协议与物联网操作系统》。《物联网之魂:物联网协议与物联网操作系统》第1~2章由孙昊编写;第3章由杜秀芳编写,第4~7章由曾凡太编写;第8~9章由赵帅编写;第10章由王洋编写。曾凡太统筹全稿。《物联网之魂:物联网协议与物联网操作系统》的出版首先感谢各位青年作者按时完成了写作计划!感谢欧振旭编辑的鼎力支持和出版社其他编辑的辛苦工作!《物联网之魂:物联网协议与物联网操作系统》编写过程中参考了海量的技术文献,限于篇幅不能一一列出,深表歉意,在此对参考文献的原作者表示衷心的感谢!
|
|