24小时论文定制热线

                                                            咨询电话

                                                            热门毕设:土木工程工程造价桥梁工程计算机javaasp机械机械手夹具单片机工厂供电采矿工程
                                                            您当前的位置:论文定制 > 毕业设计论文 >
                                                            快速导航
                                                            毕业论文定制
                                                            关于我们
                                                            我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
                                                            代做毕业设计
                                                            常见问题

                                                            ARM-linux平台下物联网网关程序的设计

                                                            添加时间:2018/06/29 来源:未知 作者:admin
                                                            网关 (Gateway) 常被称为协议转换器, 它是一个网络传输数据的数据出口, 同时他连接着别的网络。在物联网的网关中, 其所连接的网络的类型都是不相同的。因此它必须支持不同类型网络的协议栈。
                                                            以下为本篇论文正文:

                                                              摘要:物联网技术是如今计算机科学领域的热门技术之一, 其中物联网系统面临的基本问题是“物”所产生的数据格式、连网方式以及控制方式不同等问题。本文根据这些问题的特点和已有的数据传输理论, 提出了一个可行的解决方案。方案的重点工作是研发一种物联网关, 使得所连接的物理设备产生的数据能稳定传上互联网, 而设备与网关相连的方式可以是有线也可以是无线的, 所以该物联网关能支持有线和无线的数据传输功能。同时, 文章结合TCP/IP协议网络、有线组网的CAN总线网络和无线组网zigbee网络为例描述了这种物联网关的设计方法。

                                                              关键词:物联网; 网关; linux; TCP/IP协议;

                                                              Abstract:Internet of things technology is one of the hot technologies in the field of computer science.The basic problems faced by the Internet of Things system are the data format, network connection mode, and control mode that are generated by the“things”.Based on the characteristics of these problems and the existing data transmission theory, this paper proposes a feasible solution.The key part of the solution is developing an Io T gateway so that the data generated by the connected physical devices can be transmitted to the Internet stably.The connection between the device and the gateway can be wired or wireless, so the Io T gateway can support Wired and wireless data transmission capabilities.At the same time, the article describes the design method of this kind of Internet of things gateway combining TCP/IP protocol network, CAN bus network and zigbee network as an example.

                                                              Keyword:Internet of Things; Gateway; Linux; TCP/IP Protocol;

                                                              1、引言

                                                              在1999年, 美国麻省理工学院 (MIT) 的Kevin Ash-ton教授首次提出了物联网的概念 (the internet of Things, IOT) , 与物联网相关的技术得到快速发展, 这段时期被称为信息产业发展的第三次浪潮[1]。许多物联网的应用领域都得以发展, 如智能家居、智能医疗、工业4.0等。在各种应用领域里面, 物联网系统所面临的“物”不一样和处理“物”产生数据的处理系统不一样外, 它所面临的数据识别、分类和传输的问题原理都是一样的。对于人类的信息、物体的信息和环境的信息是多种多样, 采集的设备和采集的方式也是多种多样。这些种类和数量繁多的设备组建的网络群之间的通信和数据交互都需要一定方法来确?尚, 这种方法就是制定相关协议和本文所论述的协议转换的物联网关。在互联网的网关中, 所面对的一直是TCP/IP协议类型的网络, 但在物联网的网关中, TCP/IP协议网络只是所连接的网络其中之一, 其还包括很多传输方式所组成的网络, 如有线网络can总线网络、无线网络zigbee网络等。

                                                              2、Arm-linux平台简介

                                                              网关 (Gateway) 常被称为协议转换器, 它是一个网络传输数据的数据出口, 同时他连接着别的网络。在物联网的网关中, 其所连接的网络的类型都是不相同的。因此它必须支持不同类型网络的协议栈。

                                                              本文所设计的物联网关是基于arm-linux平台。其采用S3C2440芯片作为中央处理器, 64M的SDRAM作为的内存芯片, nandflash作为长久存储芯片, DM9000作为网卡芯片的一个硬件平台。S3C2440芯片是以ARM920T为核心的16/32位精简指令集微处理器, 其内核由存储管理单元、高速缓存和DMI三部分组成, 具有独立的16KB指令高速缓存和16KB数据高速缓存。ARM920T实现了MMU, AMBA总线和哈佛结构高速缓冲体系结构。在软件平台上面是采用嵌入式linux平台, 嵌入式linux的特点除了开源外, 还有是系统功能、大小可裁剪。嵌入式linux系统可分为:用户进程、系统调用接口、内核、硬件层。其中Linux系统内核则由进程管理?、内存管理?、文件系统、网络协议栈、硬件驱动管理?、系统调用这六大部分组成。文章在运行嵌入式linux系统的S3C2440芯片平台上连接了TCP/IP协议类型网络、can总线网络、无线网络zigbee网络。其连接方式和网络特点将在下章介绍。

                                                              3、不同类型协议间转换介绍

                                                              3.1、TCP/IP协议网络

                                                              TCP/IP协议与7层的OSI参考模型不同, 只有精简的四层协议层。它们分别是:网络接口层、网际层、传输层和应用层。很多人以为TCP/IP协议是指TCP协议和IP协议, 但准确来说, 它是指TCP/IP协议簇。这协议族有四层:网络接口层、网际层、传输层、应用协议层, 其中TCP协议在传输层, 而包含IP地址的IP协议则在网际层。在连接互联网的IP主机都必须具备实现TCP/IP协议栈。而嵌入式linux系统里已经包含TCP/IP网络协议栈, 当我们需要TCP/IP协议传输数据时, 则利用其已经实现好的socket网络通讯机制。Socket套接字编程的体现方式是linux系统的系统调用接口, 利用相关的函数接口即可声明套接字, 配置套接字。

                                                            图1 can总线组网图
                                                            图1 can总线组网图

                                                              3.2、CAN总线传输介绍

                                                              CAN总线是控制器局域网络 (Controller Area Network, AN) 总线的简称, 它使用两根电缆来传输电信号的, 它们分别成为CAN_H, CAN_L, 其传输方式与USB总线的“差分传输”相似, 都是根据两个电缆之间的电压差来判断电平的高低。当总线上连接多个控制器传输数据的时候, 便构成了can总线网络。S3C2440芯片平台上虽然不支持can总线控制器, 但可以通过该平台支持的spi总线与can总线之间做转换。本文选用的是Microchip公司的MCP2515芯片作为spi总线与can总线之间的转换器。在linux内核驱动的编写中, 编写can总线设备驱动则变成了编写spi设备驱动, 在can总线的应用层协议中, 我们采用canopen协议栈来对can总线网络上的设备进行区分 (见图1) 。

                                                              3.3、Zigbee组网传输

                                                              Zigbee网络是基于国际通用的IEEE802.15.4的网络协议标准组建的无线网络, 其有着数据传输安全可靠、成本低、距离短、功耗少等特点。Zigbee网络中主要有三种设备类型:协调器、终端节点和路由节点。协调器的作用是启动网络和作为整个网络的数据出入口, 路由器的功能是加入设备进入网络和转发数据, 其实协调器启动zigbee网络后, 它的功能就和路由器一样了。而终端节点的作用是收集和发送数据, 它是一般电子设备连入zigbee网络的作用点。作为zigbee网络数据出入口的协调器, 德州仪器公司TI开发的CC2530芯片应用2.4-GHz频段 (IEEE 802.15.4) 、Zigbee和RF4CE于一体, 有着性能高、价格低的特点, 也是本文设计网关所采用的zigbee协调器芯片。那么S3C2440芯片与CC2530芯片通信的方式我们采用的是串口相互连接, 那么zigbee网络协调器的驱动对应linux内核驱动模型则变成了串口UART的驱动了。

                                                            图2 zigbee网络设备图
                                                            图2 zigbee网络设备图

                                                              4、网关软件设计

                                                              4.1、网关架构介绍

                                                              物联网关的作用其实就是把一个网络发送过来的数据转发到另一个网络去。文章利用arm-linux嵌入式平台作为网关程序载体, 其采用S3C2440芯片及其他?樽魑布教, linux操作系统作为软件平台。在硬件上若是要新增?, 那么在linux内核中则需要编写相应的控制驱动, 如can总线控制器的驱动和zigbee控制器驱动等, S3C2440芯片硬件平台不支持这两种方式, 但可以通过总线转换的方式来支撑这两种网络。其运行时基于嵌入式linux操作系统平台的, 它的程序架构如图3所示。

                                                            图3 物联网关功能架构图
                                                            图3 物联网关功能架构图

                                                              网关程序利用了linux操作系统最优秀的文件监听机制epoll机制来完成, 并利用线程池技术来执行相关网关IO操作。网关程序架构可分为: (1) epoll事件监听层:它的作用是对TCP/IP网络层所连接上的socket套接字、zigbee网络的设备文件和CAN总线网络层设备文件进行监听, 若epoll机制监听的设备文件有数据读写时间产生则调用其处理函数, 这种处理程序的功能其实就是把数据包挂载在数据包队列里, 然后把处理数据包的函数放到线程池的工作队列里; (2) 数据协议转换层:这一层的实现是利用了线程池技术完成。线程池的工作队列其实就是调用协议栈函数接口来对数据包解析, 其中从哪个网络来的数据包就采用哪个网络协议栈函数来解析。它和网络层的程序交互非常密切, 其作用也是解析一种网络传输过来的数据包, 根据解析结果得出将要到哪里去, 然后调用下一站网络的协议栈进行数据的协议封包, 然后下放给该网络层进行发送; (3) 各类型网络层:这一层封装了各个协议内容实现的协议栈程序, 并包含了对上层应用调用的应用接口和对下层实现控制的驱动。它包括TCP/IP协议网络层、can总线网络层、zigbee网络层。

                                                            图4 物联网关各网络连接图
                                                            图4 物联网关各网络连接图

                                                              4.2、网关工作流程分析

                                                              网关启动时, 对网关自身硬件、用户设计和连接的网络参数等初始化后, 便进入了工作状态。初始化时, 网关主程序利用linux操作系统系统调用接口epoll_create () 创建了一个epoll池, 并利用epoll_ctl () 把初始化时所连接的TCP/IP网络socket套接字和CAN总线控制器MCP2515的设备文件 (也就是S3C2440里SPI总线下的设备文件) 、zigbee协调器CC2530的设备文件 (也就是串口设备文件) 和相应的事件处理任务放到epoll池里监听。在主程序while循环中利用epoll_wait () 函数等待所监听设备文件或套接字的数据读写事件发生。

                                                              当某个网络有数据传到网关时, epoll监听机制监听到的socket套接字或是网络设备文件有数据产生, 并接收该网络穿来的数据并调用相应的协议栈进行解析。网关程序解析完某个网络传输过来的协议包后应得到信息是到这个包的数据下一个目的地, 及网关所连接的某个网络中的某个节点。

                                                              5、测试结果

                                                              多网物联网关设计完成后, 利用自身所连接网络中的节点进行通信测试, 为了测试一个网络间的节点能顺利与另外网络的节点进行数据收发, 节点间相互传输一个字节的数据, 若成功收发字节数据, 则标识为“互通”。其结果如表1所示:

                                                            表1 各网络节点间通信结果表
                                                            表1 各网络节点间通信结果表

                                                              6、结束语

                                                              本文以物联网网关为应用背景, 根据了TCP/IP协议传网络、CAN总线网络和zigbee网络的传输方式, 整合了这三种网络数据交互的方式, 并阐述了ARM-linux平台中对网关程序的设计;チ訲CP/IP协议传输数据, 而设备互联需要以适合的方式传输到能和互联网连接的网关。如果设备是以有线的方式传输数据, 以CAN总线网络连接网关为宜, 若设备是以无线方式传输数据, 则利用zigbee组网传输数据到网关。同时, 多网物联网关在许多应用领域, 如智能医疗、智能家居等行业, 有着良好的使用价值和市场推广价值。

                                                              参考文献
                                                              [1]关勇.物联网行业发展分析网[D].北京邮电大学, 2010.
                                                              [2]高长艳.嵌入式TCP/IP协议的研究与实现[D].长春:中国科学院长春精密机械与物理研究所, 2005:1-2.
                                                              [3]宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版社, 2008:248-257.
                                                              [4]张威.Linux网络编程教[M], 北京希望电子出版社, 2002, 6.
                                                              [5]饶运涛, 邹继军, 郑勇芸现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社, 2003.
                                                              [6]王风.基于CC2530的Zigbee无线传感器网络的设计与实现[D].西安:西安电子科技大学, 2012:2-30.

                                                            相关内容
                                                            相关标签:Linux毕业设计
                                                            好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。 网站地图
                                                            所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
                                                            如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!
                                                            2022爱情岛永久论坛亚洲品质在线观看在线视频,爱情岛永久论坛亚洲品质视频在线播放,啊用力快点我高潮了视频 爱情岛论坛亚洲国产线路一免费视频等最新最全的电影。
                                                            <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>