物联网之魂:物联网协议与物联网操作系统(txt+pdf+epub+mobi电子书下载)


发布时间:2021-08-02 14:26:02

点击下载

作者:孙昊 等

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

物联网之魂:物联网协议与物联网操作系统

物联网之魂:物联网协议与物联网操作系统试读:

丛书序

信息物理学是物联网工程的理论基础

物联网是近年发展起来的一种网络通信方式。它来源于互联网,但又不同于互联网。它不仅和软件相关,还涉及硬件。互联网在网络上创造一个全新世界时所遇到的“摩擦系数”很小,因为互联网主要和软件打交道。而物联网却涉及很多硬件,硬件研发又有其物理客体所必须要遵循的自然规律。

物联网和互联网是能够连接的。它能将物品的信息通过各种传感器采集过来,并汇集到网络上。因此,物联网本质上是物和物之间或物和人之间的一种交互。如何揭示物联网的信息获取、信息传输和信息处理的特殊规律,如何深入探讨信息物理学的前沿课题,以及如何系统、完整地建立物联网学科的知识体系和学科结构,这些问题无论是对高校物联网相关专业的开设,还是对物联网在实际工程领域中的应用,都是亟待解决的。物联网领域千帆竞渡,百舸争流

物联网工程在专家、学者和政府官员提出的“感知地球,万物互联”口号的推动下,呈现出空前繁荣的景象。物联网企业的新产品和新技术层出不穷。大大小小的物联网公司纷纷推出了众多连接物联网的设备,包括智能门锁、牙刷、腕表、健身记录仪、烟雾探测器、监控摄像头、炉具、玩具和机器人等。1.行业巨头跑马圈地,产业资本强势加入

物联网时代,大型公共科技和电信公司已遍布物联网,它们无处不在,几乎已经活跃于物联网的每个细分类别中。这意味着一个物联网生态系统正在形成。

芯片制造商(英特尔、高通和ARM等)都在竞相争夺物联网的芯片市场;思科也直言不讳地宣扬自己的“万物互联”概念,并在不久前以14亿美元的价格收购了Jasper;IBM则宣布在物联网业务中投资30亿美元;AT&T在汽车互联领域非常激进,已经与美国10大汽车制造商中的8家展开合作;苹果、三星和微软也非常活跃,分别推出了苹果Homekit、三星SmartThings和新操作系统;微软还推出了Azure物联网;谷歌公司从智能家庭、智慧城市、无人驾驶汽车到谷歌云,其业务已经涵盖了物联网生态系统中的绝大部分,并在这个领域投资了数十亿美元;亚马逊的AWS云服务则不断发展和创新,并推出了新产品……

在物联网领域中,企业投资机构携带大量资金强势进入,大批初创企业成功地从风险投资机构筹集到了可观的资金。其中最有名的就是Nest Labs Inc,该公司主要生产配备Wi-Fi的恒温器和烟雾探测器;而生产智能门锁的August公司,也筹资到了1000万美元……2.物联网创业公司已呈星火燎原之势

物联网创业公司的生态系统正在逐步形成。它们特别专注于“消费级”这一领域的物联网应用,很多创业孵化器都在扶植这个领域的创业军团。众筹提供了早期资金,中国的一些大型制造商也乐意与它们合作,甚至直接投资。一些咨询公司和服务提供商,也做了很多手把手的指导。物联网创业已经红红火火地启动,成为一个全球性现象。3.高等院校开设物联网专业的热潮方兴未艾

近年来,我国理工类高等院校普遍开设了物联网专业。数百所高等院校物联网专业的学生也已经毕业。可以预见,高等院校开设物联网专业的热潮还将持续下去。但是在这个过程中普遍存在一些问题:有的物联网专业更像电子技术专业;有的则把物联网专业办成了网络专业,普遍缺乏物联网专业应有的特色。之所以如此,是因为物联网专业的理论基础还没有建立起来,物联网工程的学术体系也不完善。物联网工程引领潮流,改变世界1.智慧生活,更加舒适

科学家们已经为我们勾勒出了奇妙的物联网时代的智慧生活场景。

当你早上起床,吃完早餐,汽车已经在门口停好了,它能自动了解道路的拥堵情况,为你设定合理的出行路线。

当你到了办公室后,计算机、空调和台灯都会自动为你打开。

当你快要下班的时候,敲击几下键盘就能让家里的电饭锅提前煮饭;还可以打开环境自动调节系统,调节室内温度和湿度,净化空气。

当你在超市推着一车购物品走向收款台时,不用把它们逐个拿出来刷条形码,收款台边上的解读器会瞬间识别所有物品的电子标签,账单会马上清楚地显示在屏幕上。

……2.智慧城市,更加安全

物联网可以通过视频监控和传感器技术,对城市的水、电、气等重点设施和地下管网进行监控,从而提高城市生命线的管理水平,加强对事故的预防能力。物联网也可以通过通信系统和GPS定位导航系统,掌握各类作业车辆和人员的状况,对日常环卫作业和垃圾处理等工作进行有效地监管。物联网还可以通过射频识别技术,建立户外广告牌、城市公园和城市地井的数据库系统,进行城市规划管理、信息查询和行政监管。3.工业物联网让生产更加高效

物联网技术可以完成生产线的设备检测、生产过程监控、实时数据采集和材料消耗监测,从而不断提高生产过程的智能化水平。人们通过各种传感器和通信网络,实时监控生产过程中加工产品的各种参数,从而优化生产流程,提高产品质量。企业原材料采购、库存和销售等领域,则可以通过物联网完善和优化供应链管理体系,提高供应链的效率,从而降低成本。物联网技术不断地融入到工业生产的各个环节,可以大幅度提高生产效率,改善产品质量,降低生产成本和资源消耗。4.农业物联网改善农作物的品质,提升产量

农业物联网通过建立无线网络监测平台,可以实时检测农作物生长环境中的温度、湿度、PH值、光照强度、土壤养分和CO2浓度等参数,自动开启或关闭指定设备来调节各种物理参数值,从而保证农作物有一个良好和适宜的生长环境。构建智能农业大棚物联网信息系统,可以全程监控农产品的生长过程,为温室精准调控提供科学依据,从而改善农作物的生长条件,最终达到增加产量、改善品质、调节生长周期、提高经济效益的目的。5.智能交通调节拥堵,减少事故的发生

物联网在智能交通领域可以辅助或者代替驾驶员驾驶汽车。物联网车辆控制系统通过雷达或红外探测仪,判断车与障碍物之间的距离,遇到紧急情况时,发出警报或自动刹车避让。物联网在道路、车辆和驾驶员之间建立起快速通信联系,给驾驶员提供路面交通运行情况,让驾驶员可以根据交通情况选择行驶路线,调节车速,从而避免拥堵。运营车辆管理系统通过车载电脑和管理中心计算机与全球定位系统卫星联网,可以实现驾驶员与调度管理中心之间的双向通信,从而提高商业运营车辆、公共汽车和出租车的运营效率。6.智能电网让信息和电能双向流动

智能电力传输网络(智能电网)能够监视和控制每个用户及电网节点,从而保证从电厂到终端用户的整个输配电过程中,所有节点之间的信息和电能可以双向流动。智能电网由多个部分组成:智能变电站、智能配电网、智能电能表、智能交互终端、智能调度、智能家电、智能用电楼宇、智能城市用电网、智能发电系统和新型储能系统。

智能电网是以物理电网为基础,采用现代先进的传感测量技术、通信技术、信息技术、计算机技术和控制技术,把物理电网高度集成而形成的新型电网。它的目的是满足用户对电力的需求,优化资源配置,确保电力供应的安全性、可靠性和经济性,满足环保约束,保证电能质量,适应电力市场化发展,从而实现为用户提供可靠、经济、清洁和互动的电力供应与增值服务。智能电网允许不同发电形式的接入,从而启动电力市场及资产的优化高效运行,使电网的资源配置能力、经济运行效率和安全水平得到全面提升。7.智慧医疗改善医疗条件

智慧医疗由智慧医院系统、区域卫生系统和家庭健康系统组成。物联网技术在医疗领域的应用潜力巨大,能够帮助医院实现对人的智能化医疗和对物的智能化管理工作;支持医院内部医疗信息、设备信息、药品信息、人员信息、管理信息的数字化采集、处理、存储、传输和共享;实现物资管理可视化、医疗信息数字化、医疗过程数字化、医疗流程科学化和服务沟通人性化;满足医疗健康信息、医疗设备与用品、公共卫生安全的智能化管理与监控,从而解决医疗平台支撑薄弱、医疗服务水平整体较低、医疗安全生产隐患较大等问题。8.环境智能检测提高生存质量

家居环境监测系统包括室内温、湿度及空气质量的检测,以及室外气温和噪声的检测等。完整的家庭环境监测系统由环境信息采集、环境信息分析和环境调节控制三部分组成。

本丛书创作团队研发了一款环境参数检测仪,用于检测室内空气质量。产品内置温度、湿度、噪声、光敏、气敏、甲醛和PM2.5等多个工业级传感器,当室内空气被污染时,会及时预警。该设备通过Wi-Fi与手机的App进行连接,能与空调、加湿器和门窗等设备形成智能联动,改善家中的空气质量。信息物理学是物联网工程的理论基础

把物理学研究的力、热、光、电、声和运动等内容,用信息学的感知方法、处理方法及传输方法,映射、转换在电子信息领域进行处理,从而形成了一门交叉学科——信息物理学。

从物理世界感知的信息,通过网络传输到电子计算机中进行信息处理和数据计算,所产生的控制指令又反作用于物理世界。国外学者把这种系统称为信息物理系统(Cyber-Physical Systems,CPS)。

物理学是一门自然科学,其研究对象是物质、能量、空间和时间,揭示它们各自的性质与彼此之间的相互关系,是关于大自然规律的一门学科。

由物理学衍生出的电子科学与技术学科,其研究对象是电子、光子与量子的运动规律和属性,研究各种电子材料、元器件、集成电路,以及集成电子系统和光电子系统的设计与制造。

由物理学衍生出的计算机、通信工程和网络工程等学科,除了专业基础课外,其物理学中的电磁场理论、半导体物理、量子力学和量子光学,仍然是核心课程。

物联网工程学科的设立,要从物理学中发掘其理论基础和技术源泉。构建物联网工程学科的知识体系,是高等教育工作者和物联网工程学科建设工作者的重要使命。

物联网的重要组成部分是信息感知。丰富的半导体物理效应是研制信息感知元件和传感芯片的重要载体。物联网工程中信息感知的理论基础之一是半导体物理学。

物理学的运动学和力学是运动物体(车辆、飞行器和工程机械等)控制技术的基础,而自动控制理论是该技术的核心。

物理学是科学发展的基础、技术进步的源泉、人类智慧的结晶、社会文明的瑰宝。物理学思想与方法对整个自然科学的发展都有着重要的贡献。而信息物理学对于物联网工程的指导意义也是清晰、明确的。

对于构建物联网知识体系和理论架构,我们要思考学科内涵、核心概念、科学符号和描述模型,以及物联网的数学基础。我们把半导体物理和微电子学的相关理论作为物联网感知层的理论基础;把信息论和网络通信理论作为物联网传输层的参考坐标;把数理统计和数学归纳法作为物联网大数据处理的数学依据;把现代控制理论作为智能硬件研发的理论指导。只有归纳和提炼出物联网学科的学科内涵、数理结构和知识体系,才能达到“厚基础,重实践,求创新”的人才培养目标。丛书介绍

国务院关于印发《新一代人工智能发展规划》(以下简称《规划》)国发〔2017〕35号文件指出,新一代人工智能相关学科发展、理论建模、技术创新、软硬件升级等整体推进,正在引发链式突破,推动经济社会各领域从数字化、网络化向智能化加速跃升。《规划》中提到,要构建安全高效的智能化基础设施体系,大力推动智能化信息基础设施建设,提升传统基础设施的智能化水平,形成适应智能经济、智能社会和国防建设需要的基础设施体系。加快推动以信息传输为核心的数字化、网络化信息基础设施,向集感知、传输、存储、计算、处理于一体的智能化信息基础设施转变。优化升级网络基础设施,研发布局第五代移动通信(5G)系统,完善物联网基础设施,加快天地一体化信息网络建设,提高低时延、高通量的传输能力……由此可见,物联网的发展与建设将是未来几年乃至十几年的一个重点方向,需要我们高度重视。

在理工类高校普遍开设物联网专业的情况下,国内教育界的学者和出版界的专家,以及社会上的有识之士呼吁开展下列工作:

梳理物联网工程的体系结构;归纳物联网工程的一般规律;构建物联网工程的数理基础;总结物联网信息感知和信息传输的特有规律;研究物联网电路低功耗和高可靠性的需求;制定具有信源多、信息量小、持续重复而不间断特点的区别于互联网的物联网协议;研发针对万物互联的物联网操作系统;搭建小型分布式私有云服务平台。这些都是物联网工程的奠基性工作。

基于此,我们组织了一批工作于科研前沿的物联网产品研发工程师和高校教师作为创作团队,编写了这套“物联网工程实战丛书”。丛书先推出以下6卷:《物联网之源:信息物理与信息感知基础》《物联网之芯:传感器件与通信芯片设计》《物联网之魂:物联网协议与物联网操作系统》《物联网之云:云平台搭建与大数据处理》《物联网之雾:基于雾计算的智能硬件快速反应与安全控制》《物联网之智:智能硬件开发与智慧城市建设》

丛书创作团队精心地梳理出了他们对物联网的理解,归纳出了物联网的特有规律,总结出了智能硬件研发的流程,贡献出了云服务平台构建的成果。工作在研发一线的资深工程师和物联网研究领域的青年才俊们贡献了他们丰富的项目研发经验、工程实践心得和项目管理流程,为“百花齐放,百家争鸣”的物联网世界增加了一抹靓丽景色。

丛书全面、系统地阐述了物联网理论基础、电路设计、专用芯片设计、物联网协议、物联网操作系统、云服务平台构建、大数据处理、智能硬件快速反应与安全控制、智能硬件设计、物联网工程实践和智慧城市建设等内容,勾勒出了物联网工程的学科结构及其专业必修课的范畴,并为物联网在工程领域中的应用指明了方向。

丛书从硬件电路、芯片设计、软件开发、协议转换,到智能硬件研发(小项目)和智慧城市建设(大工程),都用了很多篇幅进行阐述;系统地介绍了各种开发工具、设计语言、研发平台和工程案例等内容;充分体现了工程专业“理论扎实,操作见长”的学科特色。

丛书理论体系完整、结构严谨,可以提高读者的学术素养和创新精神。通过系统的理论学习和技术实践,让读者在信息感知研究方向具备了丰富的敏感元件理论基础,所以会不断发现新的敏感效应和敏感材料;在信息传输研究方向,因为具备通信理论的涵养,所以他们会不断地制定出新的传输协议和编码方法;在信息处理研究领域,因为具有数理统计方法学的指导,所以他们会从特殊事件中发现事物的必然规律,从而从大量无序的事件中归纳出一般规律。

本丛书可以为政府相关部门的管理者在决策物联网的相关项目时提供参考和依据,也可以作为物联网企业中相关工程技术人员的培训教材,还可以作为相关物联网项目的参考资料和研发指南。另外,对于高等院校的物联网工程、电子工程、电气工程、通信工程和自动化等专业的高年级本科和研究生教学,本丛书更是一套不可多得的教学参考用书。

相信这套丛书的“基础理论部分”对物联网专业的建设和物联网学科理论的构建能起到奠基作用,对相关领域和高校的物联网教学提供帮助;其“工程实践部分”对物联网工程的建设和智能硬件等产品的设计与开发起到引领作用。丛书创作团队

本丛书创作团队的所有成员都来自于一线的研发工程师和高校教学与研发人员。他们都曾经在各自的工作岗位上做出了出色的业绩。下面对丛书的主要创作成员做一个简单介绍。

曾凡太,山东大学信息科学与工程学院高级工程师。已经出版“EDA工程丛书”(共5卷,清华大学出版社出版)、《现代电子设计教程》(高等教育出版社出版)、《PCI总线与多媒体计算机》(电子工业出版社出版)等书,发表论文数十篇,申请发明专利4项。

边栋,毕业于大连理工大学,获硕士学位。曾经执教于山东大学微电子学院,指导过本科生参加全国电子设计大赛,屡创佳绩。在物联网设计、FPGA设计和IC设计实验教学方面颇有建树。目前在山东大学微电子学院攻读博士学位,研究方向为电路与系统。

曾鸣,毕业于山东大学信息学院,获硕士学位。资深网络软件开发工程师,精通多种网络编程语言。曾就职于山东大学微电子学院,从事教学科研管理工作。目前在山东大学微电子学院攻读博士学位,研究方向为电路与系统。

孙昊,毕业于山东大学控制工程学院,获工学硕士学位。网络设备资深研发工程师。曾就职于华为技术公司,负责操作系统软件的架构设计,并担任C语言和Lua语言讲师。申请多项ISSU技术专利。现就职于浪潮电子信息产业股份有限公司,负责软件架构设计工作。

王见,毕业于山东大学。物联网项目经理、资深研发工程师。曾就职于华为技术公司,有9年的底层软件开发经验和系统架构经验,并在项目经理岗位上积累了丰富的团队建设经验。现就职于浪潮电子信息产业股份有限公司。

张士辉,毕业于青岛科技大学。资深App软件研发工程师,在项目开发方面成绩斐然。曾经负责过复杂的音视频解码项目,并在互联网万兆交换机开发项目中负责过核心模块的开发。

赵帅,毕业于沈阳航空航天大学。资深网络设备研发工程师,从事Android平板电脑系统嵌入式驱动层和应用层的开发工作。曾经在语音网关研发中改进了DSP中的语音编解码及回声抵消算法。现就职于浪潮电子信息产业股份有限公司。

李同滨,毕业于电子科技大学自动化工程学院,获工学硕士学位。嵌入式研发工程师,主要从事嵌入式硬件电路的研发,主导并完成了多个嵌入式控制项目。

徐胜朋,毕业于山东工业大学电力系统及其自动化专业。电力通信资深专家、高级工程师。现就职于国网山东省电力公司淄博供电公司,从事信息通信管理工作。曾经在中文核心期刊发表了多篇论文。荣获国家优秀质量管理成果奖和技术创新奖。申请发明专利和实用新型专利授权多项。

刘美丽,毕业于中国石油大学(北京),获工学硕士学位,现为山东农业工程学院副教授、高级技师,从事自动控制和农业物联网领域的研究。已出版《MATLAB语言与应用》(国防工业出版社)和《单片机原理及应用》(西北工业大学出版社)两部著作。发表国家级科技核心论文4篇,并主持山东省高校科研计划项目1项。

杜秀芳,毕业于山东大学控制科学与工程学院,获工学硕士学位。曾就职于群硕软件开发(北京)有限公司,任高级软件工程师,从事资源配置、软件测试和QA等工作。现为山东劳动职业技术学院机械工程系教师。

王洋,毕业于辽宁工程技术大学,获硕士学位。现就职于浪潮集团,任软件工程师。曾经发表多篇智能控制和设备驱动方面的论文。

本丛书涉及面广,内容繁杂,既要兼顾理论基础,还要突出工程实践,这对于整个创作团队来说是一个严峻的挑战。令人欣慰的是,创作团队的所有成员都在做好本职工作的条件下依然坚持写作,付出了辛勤的劳动,最终天道酬勤,成就了这套丛书的出版。在此,对所有参与写作的成员表示衷心的感谢,并祝福他们事业有成!丛书服务与支持

本丛书开通了读者服务网站www.iotengineer.cn,还申请了读者服务的微信公众号。读者可以通过访问读者服务网站,或者扫描下面的二维码,与作者共同交流书中的相关问题,探讨物联网工程的有关话题。另外,读者还可以发送电子邮件到hzbook2017@163.com,以获得帮助。曾凡太于山东大学

序言

沉舟侧畔千帆过,病树前头万木春

继计算机操作系统、嵌入式操作系统、手机操作系统之后,物联网操作系统进入了起步发展阶段。就目前的现状,物联网操作可以描述为:厂商山头林立、市场虚假繁荣、技术概念老旧、产品良莠不齐。物联网操作系统产生的背景

应用需求催生了物联网操作系统的诞生。边缘计算的兴起,不仅解决了海量数据上云引起的网络阻塞、存储冗余、响应迟缓等问题,也为物联网操作系统的发展提供了机遇。边缘计算(将在丛书的第6卷中展开讲解)是物联网操作系统的重要应用领域之一。

高档微处理器奠定了物联网操作系统的硬件搭载基础。微处理器技术发展快速,32位MCU技术已经成熟,既可以在嵌入式设备终端和网关设备上使用,又可以在传感单元和执行单元上普遍使用。32位微处理器的硬件资源丰富,为物联网操作系统载体奠定了良好的硬件基础。例如,在MCU市场里,ARM完善的生态环境大大推动了物联网操作系统在内的嵌入式软件的发展。其他内嵌网络接口、A/D转换、通信模块的微处理器芯片也不断出现,物联网操作系统的搭载基础越来越好。

此外,设备端的小型化、低功耗、安全性的趋势,以及通信协议之间的灵活转换、应用层对边缘计算能力的要求、复杂的设备测控软件,这些市场需求成了物联网操作系统产生的必要条件。物联网操作系统的组成框架

物联网操作系统沿用了嵌入式操作系统中的技术,可以将该技术分为两种,一种是实时的,另一种是通用型的。物联网操作系统由内核、通信支持(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。

 完善的网络协议兼容和转换能力:物联网操作系统必须支持完善的TCP/IP协议栈,包括对IPv4和IPv6的同时支持。同时也支持丰富的IP协议族,比如Telnet、FTP、IPSec、SCTP等协议,以适用智能终端和高安全、高可靠的应用场合;不同的物理和链路层接口之上的协议之间要能够相互转换,把从一种协议获取到的数据报文转换成另一种协议报文发送出去。

 设备的安全保护能力:支持内存保护(VMM等机制)和异常管理等机制,在必要时隔离错误代码。另外一个安全策略就是不开放源代码,或者不开放关键部分的内核源代码。物联网设备中很大一部分小型设备使用MCU和资源有限的微处理器,不开放它们的源代码能保护这些小型设备使其不受网络攻击和非法控制,以确保设备安全。

 边缘计算能力:物联网设备连续不断地产生海量数据,如何管理和处理这些数据是摆在物联网企业面前的一个难题。边缘计算无疑是解决这个难题的有效技术手段之一。边缘计算是提高响应速度,改善网络阻塞的关键技术。

 物联网操作系统的实时性:物联网设备的测量控制,很多关键性动作必须在有限的时间内完成,否则将失去意义。首先是中断响应的实时性,一旦外部中断发生,操作系统必须在足够短的时间内响应中断并做出处理;其次是线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件准备就绪,必须马上得到调度执行。

 物联网操作系统的可靠性:物联网应用环境具备自动化程度高、人为干预少的特点,这要求物联网操作系统必须足够可靠,以支撑长时间地独立运行和无故障运行。

 功耗控制能力:操作系统内核应该在CPU空闲的时候降低CPU的运行频率,或干脆关闭CPU。对于周边设备,也应该实时判断其运行状态,一旦进入空闲状态,则切换到省电模式。例如,网络上发送和接收信息的一个个嵌入式计算小型设备(比如智能传感器),它们的测控方法和管理模式是快速执行、立即睡眠模式。

 远程诊断、维护、升级能力:可大大降低运营成本。远程升级完成后,原有的设备配置和数据能够得以继续使用。在升级失败的情况下,操作系统也应该能够恢复原有的运行状态。远程升级和维护是物联网操作系统大规模部署、低成本运营的主要措施之一。

 远程配置、管理能力:常见的远程操作项目有远程修改设备参数、远程查看运行信息、远程查看操作系统内核状态、远程调试线程或任务、远程转储(dump)内核状态等功能。

 XML文件解析能力:物联网时代,不同行业之间存在严重的信息共享壁垒。XML格式的数据共享可以打破这个壁垒。物联网操作系统内置了对XML解析的支持,操作系统的配置数据统一用XML格式进行存储,从而对行业自行定义的XML格式进行解析,以完成行业间的信息交互功能。

 完善的GUI能力:图形用户界面一般应用于物联网的智能终端中,完成用户和设备的交互。应该定义一个完整的GUI框架,以方便图形功能的扩展。同时应该实现常用的用户界面元素,比如文本框、按钮和列表等。GUI模块的效率要足够高,从用户输入确认,到具体的动作开始执行之间的时间(可以叫做click-launch时间)要足够短,响应要足够快。物联网应用软件的开发环境

集成开发环境是构筑行业应用的关键工具。物联网操作系统必须提供方便、灵活的开发工具,以开发出适合不同行业的应用程序。开发环境必须足够成熟并得到广泛适用,以降低应用程序的上市时间(TTM)。集成开发环境必须具备如下特点:

·物联网操作系统要提供丰富灵活的API,供程序员调用,这组API应该能够支持多种语言,比如既支持C/C++,也支持Java等程序设计语言。

·充分利用已有的集成开发环境,比如可以利用Eclipse、Visual Studio等集成开发环境,它们有广泛的应用基础,可以在Internet上直接获得良好的技术支持。

·要提供一组工具,方便应用程序的开发和调试,比如提供应用程序下载工具和远程调试工具等,以支撑整个开发过程。

物联网操作系统内核、外围模块、应用开发环境是支撑平台,而行业应用才是最终产生生产力的软件。物联网操作系统是行业应用软件得以茁壮成长和长期有效生存的基础。物联网工程裸机环境编程

所谓的裸机编程指的是无OS(Operatings System,操作系统)支持的硬件系统编程。实际的编程工作肯定需要一个环境,用于编程和编译的环境叫做“宿主机”,最终的程序在“目标机”上运行(交叉编译)。单片机没有操作系统,在Keil中编写的代码都是裸机代码。

裸机编程主要是针对低端的嵌入式系统,如SCM(Single Chip Machine)、各式MCU、DSP等。当然,编写PC的boot loader肯定也属于裸机编程。

裸机编程的最原始办法是用汇编语言。现今,裸机编程普遍使用了更高级的语言。从C语言转换到汇编语言的过程叫做编译。

在裸机上执行程序时,仅仅需要机器能直接识别的二进制机器码bin文件,这是一种纯净的二进制机器码文件。裸机运行的程序代码一般由一个main函数中的while死循环和各种中断服务程序组成,平时CPU执行while循环中的代码,在出现其他事件时,跳转到中断服务程序进行处理,没有多任务和线程的概念。物联网工程操作系统环境编程

首先OS管理并扩展了整个机器资源,提供API系统调用接口,程序员通过这个接口与硬件资源打交道,因此在OS上编程不需要考虑硬件特性,换句话说就是移植性最佳。

其次,编译器与OS之间的关系非常紧密,OS环境编程很少有人用汇编代码,而是使用各种层次和类型的高级语言。OS环境编程使用的编译器,其功能要比裸机编程的编译器广泛得多。举例而言,GCC编译器能够为多种软硬件平台编译C/C++程序。可以用GCC编译裸机程序,也可以编译OS环境下的程序。GCC编译出来的OS环境可执行文件是裸机环境可执行文件的超集。

引入操作系统后,程序执行时可以把一个应用程序分割为多个任务,每个任务完成一部分工作,并且每个任务都可以写成死循环。操作系统根据任务的优先级,通过调度器使CPU分时执行各个任务,以保证每个任务都能够得到运行。若调度方法优良,则各任务看起来是并行执行的,从而减少了CPU的空闲时间,提高了CPU的利用率。物联网操作系统的开源策略

开源操作系统是指源代码公开的操作系统软件,遵循开源协议进行使用、编译和再发布。在遵守相关开源协议的前提下,任何人都可以免费使用,随意控制软件的运行方式。各种物联网操作系统支持不同的硬件、通信标准和应用场景。开源有利于打破技术障碍和壁垒,提高互操作性和可移植性,减小开发成本,适合开源社区的开发人员参与。物联网操作系统开源的一个范例是英特尔Zephyr物联网操作系统。该操作系统项目的开源策略是与合作伙伴共同打造一个完善的生态系统,从而更好地帮助开发者利用Zephyr操作系统开发物联网设备。

Zephyr项目以其开源性、灵活性和安全性,将会吸引越来越多的社区用户加入生态系统,产业链上下游的厂商会通过自己的特长对Zephyr项目作出贡献,让其代码和应用越来越完善,进而更好地服务于用户。例如,Linaro可以为Zephyr项目提供优质的ARM架构支持,Runtime.io为资源受限设备运行时提供设备管理和监控。

英特尔物联网战略非常清晰,发挥从设备到数据中心的技术专长,致力于通过可扩展的软硬件产品路线图,开发智能设备和网关,促进传统系统与云的连接,实现端到端的解决方案,并从大数据中挖掘商业价值。物联网操作系统的产业生态竞争

对于物联网发展而言,“碎片化”是主要问题。其中,芯片、传感器、通信协议、应用场景千差万别,山头林立。比如无线通信标准,就有蓝牙、Wi-Fi、ZigBee、PLC、Z-Wave、RF、Thread、Z-Wave、NFC、UWB、LiFi、NB-IoT和LoRa等。它们技术方案不统一,体系结构不一致,阻碍了物联网的发展,也限制了互联互通的范围。碎片化特点必将使得物联网应用对软件的需求多样化。因此,一种操作系统和开发工具很难支持物联网系统中的所有设备。

当前物联网操作系统的发展状况犹如智能手机操作系统发展的早期阶段。短时间内物联网操作系统很难形成像智能手机中Android和iOS两家瓜分市场的局面。现在物联网操作系统处于初期的探索和打磨阶段,产品尚不成熟,功能尚不完善,协议尚不兼容,标准尚不统一。物联网操作系统的市场竞争将是产业生态的竞争,借助不断完善的生态系统,各个物联网操作系统经过市场的不断验证,优胜劣汰。沉舟侧畔千帆过,病树前头万木春。相信几年后,有一些企业研发的物联网操作系统技术形态和商业模式将会受到产业界的认可,从中脱颖而出。关于本书

本书是“物联网工程实战丛书”的第3卷——《物联网之魂:物联网协议与物联网操作系统》。本书第1~2章由孙昊编写;第3章由杜秀芳编写,第4~7章由曾凡太编写;第8~9章由赵帅编写;第10章由王洋编写。曾凡太统筹全稿。本书的出版首先感谢各位青年作者按时完成了写作计划!感谢欧振旭编辑的鼎力支持和出版社其他编辑的辛苦工作!本书编写过程中参考了海量的技术文献,限于篇幅不能一一列出,深表歉意,在此对参考文献的原作者表示衷心的感谢!曾凡太于山东大学第1章 网络通信技术1.1 数字通信概述

数字通信是指用数字信号作为载体来传输信息,或者用数字信号对载波进行数字调制后再传输的通信方式。它的主要技术设备包括发射器、接收器及传输介质。数字通信系统的通信模式主要包括数字频带传输通信系统、数字基带传输通信系统及模拟信号数字化传输通信系统3种。

数字信号与传统的模拟信号不同。它是一种无论在时间上还是幅度上都属于离散的负载数据信息的信号。与传统的模拟通信相比其具有以下优势:首先是数字信号有极强的抗干扰能力,由于在信号传输的过程中不可避免地会受到系统外部及系统内部的噪声干扰,而且噪声会跟随信号的传输而放大,这无疑会干扰到通信质量。但是数字通信系统传输的是离散性的数字信号,虽然在整个过程中也会受到噪声干扰,但只要噪声绝对值在一定的范围内就可以消除噪声干扰。其次是在进行远距离的信号传输时,通信质量依然能够得到有效保证。因为在数字通信系统当中利用再生中继方式,能够消除长距离传输噪音对数字信号的影响,而且再生的数字信号和原来的数字信号一样,可以继续进行传输,这样数字通信的质量就不会因为距离的增加而产生影响,所以它也比传统的模拟信号更适合进行高质量的远距离通信。此外,数字信号要比模拟信号具有更强的保密性,而且与现代技术相结合的形式非常简便,目前的终端接口都采用数字信号。同时数字通信系统还能够适应各种类型的业务要求,例如电话、电报、图像及数据传输等,它的普及应用也方便实现统一的综合业务数字网,便于采用大规模集成电路,便于实现信息传输的保密处理,便于实现计算机通信网的管理等。

要进行数字通信,就必须进行模数变换。也就是把信号发射器发出的模拟信号转换为数字信号。基本的方法包括:首先把连续性的模拟信号用相等的时间间隔抽取出模拟信号的样值,然后将这些抽取出来的模拟信号样值转变成最接近的数字值。因为这些抽取出的样值虽然在时域进行了离散化处理,但是在幅度上仍然保持着连续性。而量化过程就是将这些样值在幅度上也进行离散化处理,最后把量化过后的模拟信号样值转化为一组二进制数字代码,然后将数字信号送入通信网进行传输。在接收端则是一个还原过程,也就是把收到的数字信号变为模拟信号,通过数模变换重现声音及图像。如果信号发射器发出的信号本来就是数字信号,则不用再进行数模变换的过程,可以直接进入数字网进行传输。1.2 数字通信关键技术

数字通信的关键性技术包括编码、调制、解调、解码及过滤等,其中,数字信号的调制及解调是整个系统的核心也是最基本、最重要的技术。现代通信的数字化技术主要表现在以下几个方面。1.信源的编码技术

常用的编码方法有:

·脉冲编码调制(PCM):在光纤通信系统中,光纤中传输的是二进制光脉冲“0”码和“1”码,它由二进制数字信号对光源进行调制而产生。数字信号是对连续变化的模拟信号进行抽样、量化和编码产生的,称为PCM(Pulse Code Modulation),即脉冲编码调制。

·增量调制(ΔM):或称增量脉码调制方式(DM),是继PCM后出现的又一种模拟信号数字化的方法,1946年由法国工程师De Loraine提出,目的在于简化模拟信号的数字化方法。增量调制主要在军事通信和卫星通信中广泛使用,有时也作为高速大规模集成电路中的A/D转换器使用。

增量调制是一种把信号上一采样的样值作为预测值的单纯预测编码方式。增量调制是预测编码中最简单的一种。它将信号瞬时值与前一个抽样时刻的量化值之差进行量化,而且只对这个差值的符号进行编码,而不对差值的大小编码。因此量化只限于正和负两个电平,只用一比特传输一个样值。如果差值是正的,就发“1”码,若差值为负就发“0”码。因此数码“1”和“0”只是表示信号相对于前一时刻的增减,不代表信号的绝对值。同样,在接收端,每收到一个“1”码,译码器的输出相对于前一个时刻的值上升一个量阶。每收到一个“0”码就下降一个量阶。当收到连“1”码时,表示信号连续增长,当收到连“0”码时,表示信号连续下降。译码器的输出再经过低通滤波器滤去高频量化噪声,从而恢复原信号,只要抽样频率足够高,量化阶距大小适当,收端恢复的信号与原信号非常接近,量化噪声可以很小。2.信道编码技术

从信道传输质量来看,希望在噪声干扰的情况下,编码的信息在传输过程中差错愈小愈好。为此,就要求传输码有检错和纠错的能力,欲使检错(纠错)能力愈强,就要求信道的冗余度愈大,从而使信道的利用率降低。同时,信道传输的速率与信息码速率一般是不等的,有时相差很大,这是在设计通信系统时必须注意的问题。3.现代调制解调技术

有效利用频谱是无线通信发展到一定阶段时所必须解决的问题,况且随着大容量和远距离数字通信的发展,尤其是卫星通信和数字微波中继通信,其信道是带宽有限的和非线性的,这使传统的数字调制解调技术面临着新的挑战,这就需要进一步研究一种或多种新的调制解调方式,充分节省频谱并高效率地利用有限的频带,如现代的恒包络数字调制解调技术、扩展频谱调制解调技术。4.信道复用技术

欲在同一信道内传输千百条话路,就需要利用信道复用技术。所谓信道复用,就是将输入的众多不同信息来源的信号,在发信端进行合并后在信道上传输,当到达收信端后又将它们分开,恢复为原多路信号的过程,也称为复接和分接,简称复用。理论上只要使多路信号分量之间相互正交,就能实现信道复用。常用的复用方式主要有频分复用(FDM)、时分复用(TDM)、码分复用(CDM)和空分复用(SDM)4种。数字通信中实现复用的关键是需要解决多种多样的同步问题。5.多址技术

目前,现代通信是多点间的通信,即多用户之间的相互通信方式除了传统的交换方式外,人们需要在任何地点、任何时间,能够与任意对象交换信息,往往采用多址方式来予以实现。例如,卫星通信就是通过通信卫星与地球上任一个或多个地球站进行通信,而不需要专门的交换机的多址方式。多址方式有:频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)空分多址(SDMA)等。6.通信协议

在当今的信息社会里,现代通信不仅仅是国内范围内的通信,而且是超越国界的。因此,在国内通信中需要规定统一的多种标准,以避免在通信过程中造成相互间的干扰或因通信线路(系统)的接口不同,而无法进行通信。在国际上成立了一个专门的机构——国际电报电话咨询委员会(CCITT),现为国际电信联盟(ITU)和国际无线电咨询委员会(CCIR),这两个机构在开展工作的几十年来,分别制定了一系列各国必须遵守的国际通信标准,并制定了为世界各国通信工作者所公认的众多协议和建议。随着通信体制日新月异的发展,仍然还有许多新开发的领域需要制定新的标准,例如ISDN和多种网路的协议等。在设计各种通信系统时,这是必须注意的关键问题。1.3 数字通信OSI模型

国际标准化组织(ISO)发布了开放系统互联(OSI)参考模型,OSI参考模型是一个7层结构,如图1.1所示。图1.1 开放系统互联(OSI)参考模型1.物理层

物理层负责实现相邻计算机节点之间比特流的透明传输,尽可能屏蔽掉具体传输介质与物理设备间的差异,使上层的数据链路层不必考虑网络的具体传输介质是什么。2.数据链路层

数据链路层负责建立和管理节点间的链路。接受来自物理层的位流形式的数据,并封装成帧传送到上一层;同样,也将来自上一层的数据帧,拆装为位流形式的数据转发到物理层;并且还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。3.网络层

网络层负责通过路由算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与物理层之间的信息转发,建立、维持与终止网络的连接。具体说就是,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备上传送到另一个网络设备上。4.传输层

传输层负责提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时对数据进行分割,然后,传输层将数据传送到网络层,并确保数据能准确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层负责监督工作。5.会话层

会话层负责向两个实体的表示层提供建立和使用连接的方法,将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。6.表示层

表示层负责对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。7.应用层

应用层负责直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。

由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有完整的7层,并完全遵循它的规定。在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。

有一个很容易理解OSI七层模型的例子,最初推出这个模型,是为了满足美国科学家需要在两台计算机之间进行通信的需求。(1)需求1

科学家们要解决的第一个问题是两台计算机之间怎么通信。具体体现就是一台计算机发出比特流,另一台计算机能收到。

于是,科学家们提出了物理层的概念:主要定义物理设备标准,如网线的接口类型、光纤的接口类型,以及各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。(2)需求2

现在能通过电线发数据流了,但是还希望通过无线电波或其他介质来传输,而且还要保证传输过去的比特流是正确的,要有纠错功能。

于是,科学家们又提出了数据链路层的概念:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。(3)需求3

现在可以在两台计算机之间发送数据了,那么如果要在多台计算机之间发送数据呢?怎么找到原始发出(源)的那台?或者,A要给F发信息,中间要经过B、C、D、E,但是中间还有好多节点如K、J、Z、Y。怎么选择最佳路径?这就是路由要做的事。

于是,科学家们又提出了网络层的概念:通过路由算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与物理层之间的信息转发,建立、维持与终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备上。一般,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网之间的通信,例如路由选择问题。(4)需求4

现在能正确地发送比特流数据到另一台计算机上了,但是当发送大量数据时候,可能需要很长时间,例如一个视频格式的文件,网络会中断很多次(事实上,即使有了物理层和数据链路层,网络还是会经常中断,只是中断的时间是毫秒级别),因此还需要保证传输大量文件时的准确性。因此,要对发出去的数据进行封装,就像发快递一样,一个一个地发。

于是,科学家们又提出了传输层的概念:向用户提供可靠的、端到端的差错和流量控制,保证报文的正确传输。提供建立、连接和拆除传输连接的功能。传输层在网络层基础上提供“面向连接”和“面向无连接”两种服务。例如TCP,是用于发送大量数据的,我发了1万个包出去,另一台计算机就要告诉我是否接收到了1万个包,如果缺了3个包,就告诉我第1001个包、第234个包和第8888个包丢了,那么我会再发一次,这样就能保证对方把这个视频完整接收了。

例如UDP,是用于发送少量数据的。我发20个包出去,一般不会丢包,所以,我不管你收到多少个。在多人互动游戏中也经常用UDP协议,因为一般都是简单的信息,而且有广播的需求。如果用TCP,效率就会降低,因为它会不停地告诉主机:我收到了20个包,或者我收到了18个包,再发我两个!如果同时有1万台计算机都这样做,那么用TCP反而会降低效率,不如用UDP,主机发出去就算了,如果你丢了几个包至多就卡一下,下次再发包时你再更新即可。(5)需求5

现在我们已经保证给正确的计算机发送正确的封装过后的信息了。但是用户级别的体验好不好?难道我每次都要调用TCP去打包,然后调用IP协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包、自动寻址的功能。

于是,科学家们又提出了会话层的概念:建立和管理应用程序之间的通信。允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用的时间长短。(6)需求6

现在我能保证应用程序自动收发包和寻址了。但是要用Linux给Windows发包,两个系统的语法不一致,就像安装包一样,exe是不能在Linux系统上用的,shell在Windows系统上也是不能直接运行的。于是需要表示层,帮助解决不同系统之间通信的语法问题。(7)需求7

现在所有必要条件都准备好了,我们可以写个Android程序,web程序去实现需求。

因为OSI模型的层数太多,顺序也不好记忆,于是有人就用All People Seem To Need Data Processing来帮助记忆,因为这7个单词的首字母和OSI模型每一层的首字母是一样的。1.4 TCP/IP网络通信协议

通信协议对物联网来说十分常用且关键,无论是近距离无线传输技术还是移动通信技术,都影响着物联网的发展。通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。

我们将物联网协议分为两大类,一类是传输协议,一类是通信协议。传输协议一般负责子网内设备间的组网及通信。通信协议则主要是运行在传统互联网TCP/IP协议之上的设备通信协议,负责设备通过互联网进行数据交换及通信。

物联网的通信环境有Ethernet、Wi-Fi、RFID、NFC(近距离无线通信)、ZigBee、6LoWPAN(IPv6低速无线版本)、Bluetooth、GSM、GPRS、GPS、3G和4G等网络,而每一种通信应用协议都有一定的适用范围。AMQP、JMS和HTTP都是工作在以太网的协议,CoAP协议是专门为资源受限设备开发的协议,MQTT的兼容性则强很多。1.4.1 TCP/IP协议

互联网的发展很大程度上要归功于Vinton Cerf和Robert Kahn这对老搭档。他们在20世纪70年代设计的TCP/IP协议奠定了现代网络的基石,也因此获得了计算机界的最高荣誉——图灵奖。

TCP/IP的设计非常成功。几十年来,底层的带宽、延时,还有介质都发生了翻天覆地的变化,顶层也多了不少应用,但TCP/IP却安如泰山。它不但战胜了国际标准化组织的OSI七层模型,而且目前还看不到被其他方案取代的可能。第一代从事TCP/IP工作的工程师,到了退休年龄也在做着朝阳产业。OSI七层模型过于笨重,在实际应用中,市场明显更青睐TCP/IP四层模型。

TCP/IP是一个四层协议系统,如图1.2所示。图1.2 TCP/IP四层协议系统

每一层负责不同的功能。

·链路层:也称数据链路层或网络接口层。包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

·网络层:也称互联网层。处理分组在网络中的活动,例如分组的选路。

·运输层:也称传输层。主要为两台主机上的应用程序提供端到端的通信。

·应用层:负责处理特定的应用程序细节。

TCP/IP协议族具体包含多个协议,如图1.3所示。

IP协议负责数据传输到哪里,而TCP协议负责数据的可靠传输。它们在数据传输过程中主要完成以下功能:(1)由TCP协议把数据分成若干数据包,给每个数据包写上序号,以便接收端把数据还原成原来的格式。(2)IP协议给每个数据包写上发送主机和接收主机的地址,一旦写上源地址和目的地址,数据包就可以在互联网上传送数据了。IP协议还具有利用路由算法进行路由选择的功能。(3)这些数据包可以通过不同的传输途径(路由)进行传输,由于路径不同,加上其他的原因,可能出现顺序颠倒、数据丢失、数据失真甚至重复的现象。这些问题都由TCP协议来处理,它具有检查和处理错误的功能,必要时还可以请求发送端重发。图1.3 TCP/IP协议族

TCP/IP协议族跟OSI模型的对比,如图1.4所示。图1.4 OSI TCP/IP比较

互联网时代,TCP/IP协议已经一统江湖,现在的物联网的通信架构也是构建在传统互联网基础架构之上。在当前的互联网通信协议中,HTTP协议由于开发成本低,开放程度高的优势,几乎占据了大半江山,所以很多厂商在构建物联网系统时也基于HTTP协议进行开发。包括Google主导的physic web项目,都是期望在传统Web技术基础上构建物联网协议标准。

HTTP协议是典型的CS通信模式,由客户端主动发起连接,向服务器请求XML或JSON数据。该协议最早是为了适用Web浏览器的上网浏览场景而设计的,目前在PC、手机、Pad等终端上都应用广泛,但并不适用于物联网场景。HTTP协议在物联网场景中应用有以下三大弊端:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载