通信协议和网络协议的区别
可以说:没有不同;也可以说:完全不同!网络通信协议和单片机通信协议都是协议,也就是在通讯过程中,都需要这个标准,需要按照这样的格式传输数据。 记住,所谓协议,就是要求你传输数据用的格式,有一些格式是你自己定义的,有的为了兼容,就是通用,就用一些标准协议,比如TCP/IP协议。定义某个协议,就是要满足你的通讯要求,没有太复杂的概念。
数据通信协议主要是端口通信的一些规定,网络通信协议比它要复杂的多,分为许多层,在网络协议的底层,涉及两个设备之间传输信号是,也会有自己的通信协议。实际上,当我们通过modem上网时,在网络层是tcp/ip协议,在计算机与modem之间传输数据时,用的就是你所提到的通信协议。

如何理解什么是通信协议
通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。 通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。 在计算机通信中,通信协议用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑之间的信息传递就无法识别。 通信协议是指通信各方事前约定的通信规则,可以简单地理解为各计算机之间进行相互会话所使用的共同语言。两台计算机在进行通信时,必须使用的通信协议。

什么是物联网的中间件,是软件系统吗?
介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。中间件为一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了只有用于分布式系统中才能叫中间件,同时也把它与支撑软件和实用软件区分开来。扩展资料中间件技术创建在对应用软件部分常用功能的抽象上,将常用且重要的过程调用、分布式组件、消息队列、事务、安全、链接器、商业流程、网络并发、HTTP服务器、Web Service等功能集于一身或者分别在不同品牌的不同产品中分别完成。在商业中间件及信息化市场主要存在微软阵营、Java阵营、开源阵营。阵营的区分主要体现在对下层操作系统的选择以及对上层组件标准的制订。主流商业操作系统主要来自Unix、苹果公司和Linux的系统以及微软视窗系列。参考资料来源:百度百科-wipi参考资料来源:百度百科-中间件
看到目前各式各样RFID的应用,企业最想问的第一个问题是:“我要如何将我现有的系统与这些新的RFID Reader连接?”这个问题的本质是企业应用系统与硬件接口的问题。因此,通透性是整个应用的关键,正确抓取数据、确保数据读取的可靠性、以及有效地将数据传送到后端系统都是必须考虑的问题。传统应用程序物联天下与应用程序之间(Application to Application)数据通透是通过中间件架构解决,并发展出各种Application Server应用软件;同理,中间件的架构设计解决方案便成为RFID应用的一项极为重要的核心技术。 RFID中间件扮演RFID标签和应用程序之间的中介角色,从应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,读取RFID标签数据。这样一来,即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。RFID中间件是一种面向消息的中间件(Message-Oriented Middleware,MOM),信息(Information)是以消息(Message)的形式,从一个程序传送到另一个或多个程序。信息可以以异步(Asynchronous)的方式传送,所以传送者不必等待回应。面向消息的中间件包含的功能不仅是传递(Passing)信息,还必须包括解译数据、安全性、数据广播、错误恢复、定位网络资源、找出符合成本的路径、消息与要求的优先次序以及延伸的除错工具等服务。RFID中间件可以从架构上分为两种:以应用程序为中心(Application Centric)的设计概念是通过RFID Reader厂商提供的API,以HotCode方式直接编写特定Reader读取数据的Adapter,并传送至后端系统的应用程序或数据库,从而达成与后端系统或服务串接的目的。以架构为中心(Infrastructure Centric)随着企业应用系统的复杂度增高,企业无法负荷以HotCode方式为每个应用程式编写Adapter,同时面对对象标准化等问题,企业可以考虑采用厂商所提供标准规格的RFID中间件。这样一来,即使存储RFID标签情报的数据库软件改由其他软件代替,或读写RFID标签的RFID Reader种类增加等情况发生时,应用端不做修改也能应付。RFID中间件的特征一般来说,RFID中间件具有下列的特色:独立于架构(Insulation Infrastructure) RFID中间件独立并介于RFID读写器与后物联网端应用程序之间,并且能够与多个RFID读写器以及多个后端应用程序连接,以减轻架构与维护的复杂性。数据流(Data Flow) RFID的主要目的在于将实体对象转换为信息环境下的虚拟对象,因此数据处理是RFID最重要的功能。RFID中间件具有数据的搜集、过滤、整合与传递等特性,以便将正确的对象信息传到企业后端的应用系统。处理流(Process Flow)RFID中间件采用程序逻辑及存储再转送(Store-and-Forward)的功能来提供顺序的消息流,具有数据流设计与管理的能力。 标准(Standard) RFID为自动数据采样技术与辨识实体对象的应用。 EPCglobal目前正在研究为各种产品的全球惟一识别号码提出通用标准,即EPC(产品电子编码)。EPC是在供应链系统中,以一串数字来识别一项特定的商品,通过无线射频辨识标签由RFID读写器读入后,传送到计算机或是应用系统中的过程称为对象命名服务(Object Name Service,ONS)。对象命名服务系统会锁定计算机网络中的固定点抓取有关商品的消息。EPC存放在RFID标签中,被RFID读写器读出后,即可提供追踪EPC所代表的物品名称及相关信息,并立即识别及分享供应链中的物品数据,有效率地提供信息透明度。
控制物联网“中枢神经” 物联网软件和中间件处于DCM三层架构的中上层和顶层,如果把物联网系统和人体做比较,感知层好比人体的四肢,传输层好比人的身体和内脏,那么应用层就好比人的大脑,软件和中间件是物联网系统的灵魂和中枢神经,这应该是国内外业界的共识,这也是为什么泛在计算、智慧地球等概念是由作为软件和IT服务商的IBM提出的原因。软件巨头微软的CEO比尔·盖茨早在1995 年《未来之路》一书中就提到和看到了物联网的潜力,Google也推出了PowerMeter等物联网计划。按物联网的定义,任何末端设备和智能物件只要嵌入了芯片和软件都是物联网的连接对象,笔者认为,所有嵌入式软件都是为物联网服务的。图1所示M2M/泛在计算及物联网的厂商市场格局中,软件厂商占据了绝对主导地位。在物联网概念被大众理解和接受以后,大家才发现,物联网并不是什么全新的东西,上万亿的末端“智能物件”和各种应用子系统早已经存在于工业和日常生活中。笔者认为,物联网产业发展的关键在于把现有的智能物件和子系统连接起来,实现应用的大集成(Grand Integration)和“管控营一体化”,为实现“高效、节能、安全、环保”的社会服务,软件(包括嵌入式软件)和中间件将作为核心和灵魂起到至关重要的作用。这并不是说发展传感器等末端不重要,而是在大集成工程中,系统变得更加智能化和网络化,反过来会对末端设备和传感器提出更高的要求,如此循环螺旋上升会推动整个产业链的发展。 因此,笔者认为,要占领物联网制高点,软件和中间件的作用至关重要,应该得到国家层面的高度重视。在包括物联网软件在内的软件领域,美国长期引领潮流,基本上垄断了世界市场,欧盟(世界级的软件厂商只有SAP一家在欧洲)早已看到了软件和中间件在物联网产业链中的重要性,从2005年开始资助了Hydra项目,这是一个研发物联网中间件和“网络化嵌入式系统软件”的组织,已取得不少成果。目前在中国有很多传感器、传感网、RFID研究中心及产业(生产)基地,也有很多人呼吁建立物联网标准,唯独没有物联网软件和中间件研发基地和组织,这种本末倒置的现象很让人担心。 笔者认为,如果我们的软件不够强,制定物联网标准也一定是纸上谈兵,物联网产业基地一定是低层次重复建设造成生产过剩,我们在物联网产业永远不会有话语权,更谈不上占领什么制高点。中间件是物联网软件的核心如果说软件是物联网的灵魂,中间件(Middleware)就是这个灵魂的核心。笔者作为一直从事中间件研发的工作者,早年在美国国家实验室从事“云计算”中间件的研发,后来又在IBM和BEA(现Oracle)等著名中间件公司从事商业中间件研发,回国后作为中国中间件理事会成员之一长期从事中间件的普及与推广。中间件与操作系统和数据库并列成为三足鼎立的“基础软件”,这一理念经过多年的探讨已经被国内业界和政府主管部门认可,但在国内长期“重硬轻软”的大环境下,中间件产业并未得到足够的重视。笔者认为,除操作系统、数据库和直接面向用户的客户端软件以外,凡是能批量生产、高度复用的软件都算是中间件。中间件有很多种类,如通用中间件、嵌入式中间件、数字电视中间件、RFID中间件和M2M物联网中间件等等,无处不在。IBM、 Oracle、微软等软件巨头都是引领潮流的中间件生产商; SAP等大型(ERP)应用软件厂商的产品也是基于中间件架构的; 国内的用友、金蝶等软件厂商也都有中间件部门或分公司。在操作系统和数据库市场格局早已确定的情况下,中间件,尤其是面向行业的业务基础中间件,也许是各国软件产业发展的惟一机会。可以毫不夸张地说,能否做大做强中间件,是整个中国IT产业能否做大做强的关键。 物联网产业的发展为物联网中间件的发展提供了新的机遇,欧盟Hydra物联网中间件计划的技术架构,值得我们借鉴。 物联网中间件处于物联网的集成服务器端和感知层、传输层的嵌入式设备中。 服务器端中间件称为物联网业务基础中间件,一般都是基于传统的中间件(应用服务器、ESB/MQ等)构建,加入设备连接和图形化组态展示等模块; 嵌入式中间件是一些支持不同通信协议的模块和运行环境。中间件的特点是它固化了很多通用功能,但在具体应用中多半需要二次开发来实现个性化的行业业务需求,因此所有物联网中间件都要提供快速开发(RAD)工具。
不是的是一种传输协议差不多zigbee或者相似的传输协议
传输协议而已

通信总线和通信协议的区别(用通俗的语言解释)!
当然是可以的。同一种总线(比如RS485)上可以跑多种协议(如莫迪康的MODBUS,松下的MEWTOCOL,西门子的profibus/DP)。反之,MODBUS协议可以跑在各种总线上(除了RS485外,还常用在以太网上)。 实际上,不同的总线一般涉及到不同的物理层(硬件)技术,而所谓“协议”顾名思义就是一种相互传递信息规则的约定。比如,说话、写字都是信息传递的手段,可以看作不同的总线。而汉语、英语则是信息表达方式的不同约定,可以看作不同的协议。那么你说是否可以交叉配合使用?当然,有些高级协议的实现对总线技术是有依赖的,比如can总线实现对等协议(谁都可以主动发言)很容易,而RS485总线实现对等就很难(通信效率会大幅降低)。就好比"哑语"这种总线就比“说话”这种总线不利,交换信息的能力更受限。 至于HDLC嘛,他是一种在同步链路上设计的协议,这种协议一样可以在can上跑,但由于can属于异步总线(没有时钟信号),严格来说是有一点点不同,你可以把它命名为HDLC-can,大家都能理解,就是变种。很多协议都有变种,比如MODBUS-ASCII和MODBUS-RTU,但不影响他们都是MODBUS协议。其实,HDLC自身就有很多变种。
通讯总线往往指的是硬件。而通讯协议则是跑在硬件上的软件。很多总线都支持不同的协议,但不可能是所有。例如MODBUS协议可以用在传统的RS485,也可以用在施工更有优势的POWERBUS总线上。当然可以。用于工业现场控制的CAN-HDLC网关,包括CAN总线物理接口、AT91SAM7A3处理器和HDLC控制模块,各模块间通过内部总线双向通信。该网关是一种将成本低廉的CAN现场总线和符合ISO13239协议标准的HDLC相结合的数据交换工具
当然不行。 通信总线和通信协议通常是对应的,换句放说,你选择什么样的通信总线就需要什么样的通信协议去跟它匹配才能通信。每种总线能支持的最大速率(波特率)和抗干扰性等特点都是不一样的,所以在应用中首先要需要根据实际的环境来选择合适的通信总线,如CAN,SPI,SCI,I2C等,当选择完总线类型后就需要根据你所要传输的数据大小或类型来定义相应的协议。所以不同的总线类型要搭配不同的协议,但是协议里数据的格式可以一样,只是外面的框架要按相应的总线类型来匹配。 你可以这么理解:总线是标准定死的,这个标准通常是由几个大的公司联合制定的,你选择了什么总线就要按这个总线的相关标准去设计,而协议是我们自己定义的,当然这个协议制定的前提是要符合总线规范,而协议里面的内容可以由我们根据需要定义。
通讯总线是硬件,通讯协议是软件。很多时候同样的通讯协议可以在不同的总线上跑,例如RS232、RS485都可以用于MODBUS,但不是任何总线上可以只用任何协议,因为有的总线达不到协议的要求(比如响应时间)。

什么是中间件?
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。
中间件技术一 什么是中间件 中间件定义及分类中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。图1 中间件也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点:满足大量应用的需要运行于多种硬件和OS平台支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互支持标准的协议支持标准的接口由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。三、主要中间件的分类中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:远程过程调用(Remote Procedure Call)面向消息的中间件(Message-Oriented Middleware)对象请求代理(Object Request Brokers)它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器OTM等。平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的服务组件等,用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代码不用调用框架,用户程序也不必关心框架结构、执行流程、对系统级API的调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植性。二 分类1、远程过程调用远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:server和client。server提供一个或多个远程过程;client向server发出远程调用。server和client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的stub和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里RPC通讯是同步的。采用线程可以进行异步调用。在RPC模型中,client和server只要具备了相应的RPC接口,并且具有RPC运行支持,就可以完成相应的互操作,而不必限制于特定的server。因此,RPC为client/server分布式计算提供了有力的支持。同时,远程过程调用RPC所提供的是基于过程的服务访问,client与server进行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。比如,RPC通常需要一些网络细节以定位server;在client发出请求的同时,要求server必须是活动的等等。2、面向消息的中间件MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。目前流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。消息传递和排队技术有以下三个主要特点:通讯程序可在不同的时间运行:程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。对应用程序的结构没有约束:在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。程序与网络复杂性相隔离: 程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。3、对象请求代理随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。1990年底,对象管理集团OMG首次推出对象管理结构OMA(Object Management Architecture),对象请求代理(Object Request Broker)是这个模型的核心组件。它的作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。CORBA规范包括了ORB的所有标准接口。1991年推出的CORBA 1.1 定义了接口描述语言OMG IDL和支持Client/Server对象在具体的ORB上进行互操作的API。CORBA 2.0 规范描述的是不同厂商提供的ORB之间的互操作。对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。值得指出的是client和server角色只是用来协调对象之间的相互作用,根据相应的场合,ORB上的对象可以是client,也可以是server,甚至兼有两者。当对象发出一个请求时,它是处于client角色;当它在接收请求时,它就处于server角色。大部分的对象都是既扮演client角色又扮演server角色。另外由于ORB负责对象请求的传送和server的管理,client和server之间并不直接连接,因此,与RPC所支持的单纯的Client/Server结构相比,ORB可以支持更加复杂的结构。4、事务处理监控事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控有以下功能:进程管理,包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。事务处理监控能够为大量的client提供服务,比如飞机定票系统。如果server为每一个client都分配其所需要的资源的话,那server将不堪重负(如图2所示)。但实际上,在同一时刻并不是所有的client都需要请求服务,而一旦某个client请求了服务,它希望得到快速的响应。事务处理监控在操作系统之上提供一组服务,对client请求进行管理并为其分配相应的服务进程,使server在有限的系统资源下能够高效地为大规模的客户提供服务。 其实这些东西百度上都有的,你自己搜下就知道了。

本文由 在线网速测试 整理编辑,转载请注明出处。