浅谈物联网架构

浅谈物联网架构

发展背景

二十世纪六十年代美国推出可编程逻辑控制器Programmable Logic ControllerPLC)取代传统继电器控制装置以来PLC得到了快速发展,在世界各地得到了广泛应用。同时,PLC的功能也不断完善。随着计算机技术、信号处理技术、控制技术网络技术的不断发展和用户需求的不断提高,PLC在开关量处理的基础上增加了模拟量处理和运动控制等功能

传统PLC控制器结构化比较单一,控制逻辑关系比较简单,只能进行简单的控制操作。在1971年世界上第一块SCM单片微型计算机)单片机诞生了,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL8051,此后在8051上发展出了MCS51系列MCU(微控制器)系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16单片机32位的单片机,为了不断扩展满足嵌入式应用时,嵌入式系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,

 

物联网底层系统设计

嵌入式系统Embedded System是指以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统

目前嵌入式系统最常用的硬件架构当属于ARM公司的ARM内核,ARM公司是一家知识产权(IP)供应商,它与一般的半导体公司最大的不同就是不制造芯片且不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。ARM处理器分为Cortex-MCortex-RCortex-A系列三类,Cortex-M系列是面向微控制器处理器,Cortex-R系列是面向实时控制应用的处理器,响应速度快,性能合理,这类处理器被称为专家处理器,Cortex-A 系列是面向高端应用的处理器,它的工作频率高,性能好,功能合理,这类处理器被称为应用处理器。

ARM处理器在嵌入式领域市场份额高达70%,常用的工业控制领域有Cortex-M3,很多车载设备高端领域使用Cortex-A8,Cortex-A9,现在手机的处理器大部分都是使用ARMCortex-A系列,常见的有Cortex-A54等。ARM处理器上运行的操作系统有微软出版的WinceLinux智能硬件中底层BootLoader(加载引导操作系统),Kernel(操作系统),fs(文件系统),有这三个主要部分我们就可以实现智能硬件。Google公司提出的Android系统是基于Linux系统上运行了java虚拟机,这样的好处在可以承接以前JAVA开发的技术背景,Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

嵌入式系统除开以ARM内核架构之外的还有一种是PowerPC处理器,PowerPC1991年由AppleIBMMotorola(摩托罗拉)组成的AIM联盟所发展出的微处理器架构控制器领域主要用于开发军工产品,由于PowerPC处理器处理数据比较快,性能很稳定系统,系统选择的是实时性很强的vxworks操作系统。

 

物联网架构设计

为什么要提出物联网

互联网实现了人与人之间的交流,而传统的嵌入式系统架构只实现了单个物体之间相互关联,不能够与人密切的交流与接触。这样导致了一个物体失去了生命力,如果物联网的架构掺杂进来。那么久实现了万物互联,也实现人与物的相互关联。

 

物联网技术

物联网架构最底层与物体打交道的部分我们依然采用嵌入式系统控制,传嵌入式控制系统采用的是单片机去获取某个物体的状态,或者发出某种命令驱使某个控制器去控制这个物体的状态。比如我们可以去采集某各地区的温度,湿度,气体浓度等,我们可以通过一些传感器去采集这些信息,然后将采集到的数据返回给用户。这样的方式的弊端在于采集到的数据是个单个点的,不能实现组网功能,不能实现远程控制与监测,更不能实现人与物之间的密切交流。

物联网提出了大数据和云计算的概念。大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。在一个远程终端采集到的实时数据占用空间是非常小的,但是不能只有一个用户,如果当有大量的人都去使用这个远程端去采集数据,那么每天上报的实时数据量是非常大的,这里就提出了大数据概念。为了处理这些大量的数据我们引入了云计算,云计算[1]  cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑笔记本、手机等方式接入数据中心,按自己的需求进行运算。这里经过云计算的处理,然后再把数据发给每个用户,这样就不会造成数据丢包,延迟,以及数据错误。

 

物联网技术在智能电网中的应用

 

上图是一个智能箱式变电站控制回路的设计架构,智能电网这个智能主要体现在变压器的控制器上和无人机巡航母线,传统变压器控制器采用的PLC控制器,好处在操作简单,运行稳定。同时带来了很多问题,成本太高,需要手动去合闸与关闸,人力和物理耗资太大,每个配电所都需要人员去值班,并且每个变压器的控制似乎相互独立的,且数据不同步。

读写器可以采用51单片机作为中央处理器,51单片机具备IO口读写功能,支持串口协议,SPI协议,IIC协议,可扩展,编程简单,成本价格低,低功耗等显著的特点。读写器将采集到的传感器数据上传到中继器,也可以从中继器中获取数据来控制这些传感器。读写器将通过传感器采集到的模拟信号转换成数字信号,然后封装可发送的包数据,也可以直接发送给基站。传输数据的物理条件用两种方案:通过串口线用485总线协议实现对数据的实时传输,这种方案传输效率高,数据稳定,成本高,不方便扩展。485总线的好处在于可以实现底层组网功能,自带RCC校验;也可以通过无线电磁波去传输采集到的传感器数据,硬件可以选择RF射频芯片去发送无线数据,这种方案传输效率低,数据不稳定,成本低,移植性好。

中继器可以采用和读写相同的处理器,中继器是将读写器上传的组包数据转发给基站,中继器的数据也可以在组包发给中继器,或者直接发送给基站,这样的好处在于延长读写器与基站之间的距离。各个中继器之间可以相互通信,这样就实现了组网功能,底层的硬件也就产生了实际的关联性。

这时底层的数据就上传到基站了,那么问题来了,这么多的实时数据基站是处理不了的,数据量是非常大的,大到什么程度,这里可以举一个实际的例子去看一看。一台变压器1S中上传10个数据包,一个数据包50字节,全国大约有两百万台变压器,那么1S中上传到基站的数据是50*10*2000000=10亿字节,仅仅依靠基站的处理能力是解决不了这些问题的。这里就引用了大数据与云计算的相关知识。

物联网中采用了大数据与云计算的相关技术和接口支持,这样可以将采集到的数据先进行量化处理。尽管“大数据”这个词直到最近几年受到人们的高度关注,但早在1980年,著名未来学家托夫勒在其所著的《第三次浪潮》中就热情地将“大数据”称颂为“第三次浪潮的华彩乐章”。《自然》杂志在20089月推出了名为“大数据”的封面专栏。从2009年开始“大数据”才成为互联网技术行业中的热门词汇。云计算提供了存储数据和执行分析的途径。 云的重要性在于:它是一组能够灵活按需扩展或收缩的资源。云通过应用编程接口和应用(可能位于云中,也可能不位于云中)帮助控制和实现数据的价值。当引入大数据和云计算后,基站的处理能力大大提高,负载能力也增强。

变压器是国家电网中最重要的控制部分,所以这个数据的安全性是要有所保证的,对实时数据处理过后,就是对数据进行加密。当前广泛存在有两种加密方式,单向加密和双向加密。双向加密是加密算法中最常用的,它将明文数据加密为密文数据,可以使用一定的算法将密文解密为明文。双向加密适合于隐秘通讯,比如,我们登录这个智能电网的用户账号,需要向网站提交账号密码,我们当然不希望我们的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,我们希望我们的账号密码是通过加密以后,再在网络传送,这样,网站接受到我们的数据以后,通过解密算法就可以得到准确的用户账号。 单向加密刚好相反,只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。这有什么用处?在实际中的一个应用就是数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也不能立即理解这些信息的真正含义。   鉴于智能变电站特殊原因,我们可以采用单向加密的加密算法,单向加密有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。采用这种方式加密数据的安全性就得到额保障。

加密后数据可以通过socket通信发送给客户端,由于需要传输可靠的数据,在TCP协议和UDP协议中我们选择TCP协议,TCP协议是面向连接的,数据可靠,拥有三次握手协议。客户端可以给服务器发送http请求来获取数据,以及上传数据。人机交界面可以通过WEB网页登录账号去采集变压器的相关参数,也可以去控制变压器的隔离开关。也可以通过APP去采集变压器的相关参数。用户的信息将保存在数据库中,数据库用来存储用户信息,采集到的实时数据,一些异常操作,以及备份。

物联网架构相对比较复杂,从底层硬件到移动客户端每一个环节都是比较有挑战性的,也是有一定难度的。开发一个项目需要考虑合法性,安全性,稳定性,经济等各种客观条件。以上是我从事智能电网与智能家居工作的知识积累,以匠心、铸非凡。真心祝愿各位IT男能够在自己的事业道路上一帆风顺,在人生道路上像潮水一般波涛汹涌。

猜你喜欢

转载自blog.csdn.net/qq_21792169/article/details/53980932