毕业设计开题报告44218.doc

基于物联网公交查询系统设计与实现

收藏

压缩包内文档预览:
预览图 预览图 预览图
编号:6446350    类型:共享资源    大小:2.90MB    格式:ZIP    上传时间:2017-12-15 上传人:毕****做 IP属地:江苏
30
积分
关 键 词:
基于 联网 公交查询 系统 设计 实现
资源描述:
基于物联网公交查询系统设计与实现,基于,联网,公交查询,系统,设计,实现
内容简介:
湖南现代物流职业技术学院毕 业 设 计毕业设计题 基于物联网公交查询系统设计与实现 毕业设计类型 产品设计 工艺设计 方案设计 姓名 游子毅 班级 物联网 1201 所属系部 物流信息技术系 专业 物联网 指导教师 武献宇 职称 讲师 完成时间 2015 年 04 月 18 日 湖南现代物流职业技术学院教务处制2015 年 04 月 18 日原创性声明内容本人郑重声明:所呈交的毕业设计,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本设计不包含任何其他个人或集体已经发表或撰写过的作品成果,所引用相关企业、单位资料获得了对方的授权。对本文的研究做出重要贡献的个人和集体,均已在设计中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。毕业设计作者签名: 游子毅 日期: 2015 年 04 月 18 日 毕业设计使用授权声明本人完全了解湖南现代物流职业技术学院有关保留、使用毕业设计的有关规定,即:学校有权保留毕业设计并向国家主管部门或其指定机构送交设计的电子版和纸质版,有权将毕业设计用于非赢利目的的少量复制,并允许毕业设计进入学校图书馆、院系资料室被查阅,在世界大学城毕业设计网站公开,学院有权将毕业设计的内容编入有关数据库进行检索,可以采用复印、缩印或其他方法保存毕业设计。毕业设计作者签名: 导师签名:日 期: 2014 年 4 月 18 日 期:2015 年 4 月 19 日日摘 要摘要:公交车是公共的运输工具,上面承载这很多人的生命财产安全。当今经常听闻公交上的火灾、有毒气体伤害乘客的案例发生。同时公交车是实时移动的,怎样实时掌握公交车的实时位置也是需要解决的问题。本课题基于物联网的城市公交查询系统是利用物联网技术中 Zigbee 技术、GPRS 模块、GPS 定位技术组成实时查询报告公交车上安全及位置状态的查询系统。设计实现该课题对物联网技术在城市公交上的应用有较高的应用价值,有利于推动物联网技术的发展。更加有利于智慧城市的建设。关键词:Zigbee;GPRS;GPS;传感器;目录第一章 简介 .11.1 目的和意义 .11.2 本课题应达到的要求 .2第二章 系统的总体设计 .42.1 系统总体结构 .42.2 公交查询系统的组成 .5第三章 硬件设计 .113.1 上位机模块 .113.2 GPRS 传输模块 .173.3 GPS 定位模块 .183.4 协调器模块 .193.5 烟雾检测模块 .233.6 火焰检测模块 .263.7 温度检测模块 .27第四章 软件设计 .284.1 Zigbee 开发软件介绍 .284.2 功能模块软件设计 .314.3 编译调试 .344.4 系统测试 .37总结 .42致谢 .43参考文献 .440第一章 简介1.1 目的和意义为了自己能全面牢固地掌握大学所学的知识内容,培养自己的实践和实际动手能力,提高全面素质,我把课程设计定为基于物联网城市公交查询系统 。本课题借助于物联网技术,通过共享公交实时运营信息和安全状态信息,实现了对公交信息的拓展应用,对促进城市现代化公共交通的发展具有重要的推动作用。 一直以来,受传统公交运营信息的人工信息采集手段制约,不能实时了解公交车上位置和状态信息。城市公交是城市交通中的基础设施之一,承担着城市交通中骨干力量的作用。城市公交具有运力大,受众广,价格低等不可代替的特点,是一个城市的名片。建设智慧城市、智能交通是未来十年我国城市的发展重点,建设一个现代化的高效率的城市公交系统是现代城市建设智能交通最重要的任务之一。 本课题的研究正是代表了现代公交的发展方向之一,同时是建设智能交通、智慧城市不可或缺的一环。通过本课题的研究,建立成熟的公交综合信息服务网络,使广大乘客及时了解城市公交的实时运行状态和安全状态,并作出高效准确的出行计划,解决交通拥堵,乘车难的问题,有效缓解现代都市的道路交通压力,从而达到建设绿色环保、节能减排的智慧城市目的,提高城市形象。 随着我国城市化进程的不断发展和扩大,各地政府对城市公1交的重视程度也越来越大,各地政府纷纷出台一系列补贴政策,扶持公交事业的发展。各地公交在政府政策支持下,纷纷进行新车更换、线网扩充、实行电子化管理等,但这些成果不能直观的反应给各级政府,也没有一种技术手段和平台能使各级政府的职能部门随时监督和检查公交的实际运行状态。 本课题的研究结合物联网相关技术,结合使用大量传感器打造一个基于物联网的公交查询平台。这一平台能够真实准确的反映出当前公交系统的实际运营状态和安全状态,为各级政府职能部门随时全面了解城市公交的当前运转状态提供了详实信息,为各个职能部门加强对公交企业的监督检查和指导提供了技术基础,对各级政府作出正确合理的政策决策具有重要意义。同时,通过本课题的研究和公交综合信息平台的建立,也使各级政府合理调度多种资源、应对突发事件,实现城市应急响应成为可能。 1.2 本课题应达到的要求本文提出了一种采用 Zigbee 无线通信技术、GPRS 技术、GPS技术结合的新型物联网公交查询方案,设计并实现了该系统中的检测、中央处理、控制、查询推送等功能。设计的 Zigbee 围绕网络协调器的星状拓扑结构,将其与温度检测模块、烟雾检测模块、火光检测模块相连,最后在上位机上连接 GPRS 模块,通过 GPRS 模块将公交信息传回。通过检测子网公交的温度、火光、有毒泄漏等信息,通过 GPS 模块获取实时公交车位置坐标信息,可以直接通过 GPRS 模2块传回查询平台,由管理员决策如何处理这些信息。此次设计包括硬件和软件两个部分。本次设计主要要求: 运用 Zigbee 技术,组建无线传感器网络;(2)利用 GPS 模块技术,获取当前位置信息(3) 设计基于单片机控制的节点单元控制模块;(4)GPRS 模块技术,传回查询平台(5) 传输节点进行数据通信的有效传输;(6)熟练使用相关传感器;(7)能够实现的以下功能:温度检测功能、烟雾检测报警功能、火光检测报警功能,位置状态查询。3第二章 系统的总体设计2.1 系统总体结构本系统主要集成 Zigbee 技术,GPRS 模块技术,GPS 模块技术,zigbee 模块的协调器通过串口与上位机相连,上位机通过协调器则管理整个 zigbee 网络。GPRS 模块和 GPS 模块通过串口与上位机相连,GPRS 发送或者接受查询者发送来的消息,有异常情况也通过GPRS 发送到查询 a 者手上。GPS 则实时获取公交车的位置信息。系统整体结构图如下所示:上位机G P S 模块Z i g b e e 网络 ( 包涵传感器 )G P R S 模块用户图 2.1 总体结构图42.2 公交查询系统的组成本次所设计的公交查询系统主要可以划分成四个部分,即上位机模块,Zigbee 网络模块,传感器模块,GPRS 模块、GPS 模块。2.2.1 上位机模块上位机模块在系统中主要是实现对传感器的具体控制和响应GPRS 传来的指令。一般现在有三种比较主流的控制器。即PLC、ARM、单片机。PLC 的特点主要包括:可靠性高,抗干扰能力强;编程简易、直观;控制性能强;安装简单,维护方便等。单片机的特点主要包括:开发成本低;外部扩展性好;设计灵活;开发时间短等。ARM 芯片其实就是一个加强版的单片机,但它的功能要比单片机强大许多,它可以作为一个 Zigbee 网关。代写毕业论文 ARM 的主要特点包括:运行速度快;功能强大;资源丰富;高效能等。根据对比并结合实际情况,在本次设计中采用单片机来作为上位机。虽然看似单片机比另两个功能性要差很多,但是实际上它所需的开发成本却比另外两个要少很多,且单片机在开发所需时间上来看要比其它两个短。因此,本次设计采用单片机来实现。上位机模块以 STC89C52 单片机为主控制芯片,整个系统通过一个外接晶振来提供时钟信号。模块上的数码管和蜂鸣器,可以将报警信息声形并茂的传递给人们。另外模块上的 EEPROM,可保证对信息的可靠存储。模块的详细框图如图 2.1 所示。5M C U 模块电源电路晶振电路E E P R O M存储电路复位按钮电路数码管显示电路蜂鸣器电路图 2.2 上位机模块框图2.2.2 GPRS 模块使用 GPRS 模块是为了将公交车上的信息实时传回查询者,上位机可以通过 GPRS 模块将信息传回查询者。应用框架图如下:图 2.3 MG323 模块应用框图6GPRS 经常被描述成“2.5G”,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。它通过利用 GSM 网络中未使用的 TDMA 信道,提供中速的数据传递。GPRS 突破了 GSM 网只能提供电路交换的思维方式,只通过增加相应的功能实体和对现有的基站系统进行部分改造来实现分组交换,这种改造的投入相对来说并不大,但得到的用户数据速率却相当可观。而且,因为不再需要现行无线应用所需要的中介转换器,所以连接及传输都会更方便容易。如此,使用者既可联机上网,参加视讯会议等互动传播,而且在同一个视讯网络上(VRN)的使用者,甚至可以无需通过拨号上网,而持续与网络连接。GPRS 分组交换的通信方式在分组交换的通信方式中,数据被分成一定长度的包(分组),每个包的前面有一个分组头(其中的地址标志指明该分组发往何处)。数据传送之前并不需要预先分配信道,建立连接。而是在每一个数据包到达时,根据数据报头中的信息(如目的地址),临时寻找一个可用的信道资源将该数据报发送出去。在这种传送方式中,数据的发送和接收方同信道之间没有固定的占用关系,信道资源可以看作是由所有的用户共享使用。2.2.3 GPS 模块GPS 在本系统的作用是采集公交车的坐标信息,通过上位机控制 GPRS 模块发给查询者。GPS 模块就是集成了 RFID 射频芯片、基7带芯片和核心 CPU,并加上相关外围电路而组成的一个集成电路。目前 GPS 模块的 GPS 芯片大部分还是采用全球市占率第一的SiRFIII 系列为主。GPS 导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过记录卫星信号传播到用户所经历的时间,再将其乘以光速得到(由于大气层电离层的干扰,这一距离并不是用户与卫星之间的真实距离,而是伪距(PR,):当 GPS 卫星正常工作时,会不断地用 1 和 0 二进制码元组成的伪随机码(简称伪码)发射导航电文。GPS 系统使用的伪码一共有两种,分别是民用的 C/A 码和军用的 P(Y)码。C/A码频率 1.023MHz,重复周期一毫秒,码间距 1 微秒,相当于300m; P 码频率 10.23MHz,重复周期 266.4 天,码间距 0.1 微秒,相当于 30m。而 Y 码是在 P 码的基础上形成的,保密性能更佳。导航电文包括卫星星历、工作状况、时钟改正、电离层时延修正、大气折射修正等信息。它是从卫星信号中解调制出来,以 50b/s 调制在载频上发射的。导航电文每个主帧中包含 5 个子帧每帧长 6s。前三帧各 10 个字码;每三十秒重复一次,每小时更新一次。后两帧共15000b。导航电文中的内容主要有遥测码、转换码、第 1、2、3 数据块,其中最重要的则为星历数据。当用户接受到导航电文时,提取出卫星时间并将其与自己的时钟做对比便可得知卫星与用户的距离,再利用导航电文中的卫星星历数据推算出卫星发射电文时所处8位置,用户在 WGS-84 大地坐标系中的位置速度等信息便可得知。92.2.4 Zigbee 网络模块公交查询系统都要通过一个通信网络,才能将各个设备的状态传给上位机。本次设计所需要的是一个无线通信网络,它需要使用相应的无线通信技术。现在主要使用的无线通信技术主要有蓝牙、WIFI、Zigbee 等。蓝牙技术的主要特点有:通信传输速率高;网络安全度高;组网简单等。WIFI 的主要特点有:传输带宽大;接入点数量大;应用广泛等。Zigbee 技术的主要特点有:功耗低;组网方便;网络拓扑能力强;可扩展性强等。通过对比,从技术上来讲,Zigbee 技术的优势最大。因为它可以自组网,自由度高,传输距离最远,待机功耗最低,传递速度中等。相较其他两种技术它的功耗、传输距离及能智能组网等特点与本次设计系统要求最相符,所以在本次设计的系统中我们选用综合性能较好的 Zigbee 技术来组建网络。本次设计的 Zigbee 网络模块主要包含三个子模块。一个是可和上位机直接通信的协调器。另外两个则是将终端检测信息发送给协调器的终端设备。Zigbee 网络模块框图如图 2.2 所示。10Z i g b e e 协调器Z i g b e e 终端Z i g b e e终端图 2.4 Zigbee 网络模块框图2.2.5 传感器模块传感器模块在本次设计中涉及到了温度传感器(DS18B20)、烟雾气体传感器(MQ-2)、火焰传感器。其中温度传感器是直接与上位机(STC89C52 单片机)相连接,而另外两个却是与终端 Zigbee节点相连接进行通信。用温度传感器来对公交车上整体环境的温度进行检测。通过烟雾气体传感器来检测公交车中是否有有毒气体泄漏,防止意外的发生。用火焰传感器来检测公交车中是否发生火灾并及时发出报警把损失降到最低。11第三章 硬件设计关于硬件在这一章中我主要详细介绍了各个功能模块的工作原理及其特性,还介绍了上位机如何控制通过 GPRS 模块响应用户的查询操作。3.1 上位机模块上位机模块是本系统的控制中心,它可以根据其它模块发送过来的信息来进行相应的处理工作,同时也要响应手机短信通过 GPRS模块发来的查询操作。根据本次系统的实际情况,上位机模块的主要功能由 STC89C52单片机来实现。它片内集成了一个可供重复操作的 Flash ROM,和8 位通用中央处理器。为本方案提供了高性价比的控制方案。该单片机包含有 I/O 口 32 个,各有 2 个复位与晶振引脚,及复位、EA/VP、ALE/PROG、PSEN 等引脚。具体的芯片引脚图如图 3.1 所示。12图 3.1 单片机引脚图3.1.1 电源电路图 3.2 电源电路图电源电路通过按按钮来控制单片机的开启与关闭。它的电路图如图 3.2 所示。按下按钮使得单片机通电。为了方便用户看到单片机已经正常供电,作为指示作用这里外加了一个电源 LED 指示电路。当上电后电源的指示灯也会随之点亮。值得注意的是在本系统中电源供电不能使用 USB 供电。因为 USB 供电时通过串口转 USB 的,这样会占用串口,所以在本次系统中我们不使用 USB 供电。133.1.2 晶振电路图 3.3 晶振电路图根据上图所示,连接在 XTAL1 和 XTAL2 两端的是晶振电路。晶振电路能使系统的稳定性,抗电磁干扰性能和抗噪声干扰性能大大提高。本次系统采用 12MHz 晶振。晶振电路就像是人的大脑一样,为单片机提供一个时钟频率。通过该时钟频率单片机才能知道在该时刻该执行什么指令,下一个时间段执行什么程序。因此在单片机系统中不能缺少晶振电路,没有它会使单片机一直处于休眠状态。3.1.3 复位电路图 3.4 复位电路图14复位电路主要工作任务是在单片机运行出现异常时,让用户可以通过按下复位按钮而使单片机恢复到起始状态。一般复位可以有上电复位和按钮复位两种,在本系统中采用的是按钮复位。当单片机通电工作后复位电路 REST 端输出的是一个低电平,如果现在用户按下复位按钮,使得复位电路中的电容充电,电路就会处于导通状态,REST 端就会发出一个高电平,这样单片机就会收到一个复位信号使自己恢复的起始状态了。上面所述的复位电路、晶振电路及电源电路构成了单片机的最小系统。其最小系统如图 3.5 所示。图 3.5 单片机最小系统图 3.1.4 蜂鸣器电路本次系统中我们利用单片机开发板上的蜂鸣器来实现了报警功能。通过蜂鸣器我们能非常简单的模拟出报警声。蜂鸣器电路如图153.6 所示。图 3.6 蜂鸣器电路图上图中的三极管主要是做驱动用的。如果想让蜂鸣器发出声音,仅仅依靠单片器的 I/O 口的驱动是做不到的,因为其产生的电流过小,因此我们需要放大该电流,这就用到了三极管的放大电流的功能。经过三极管后的电流,就足以让蜂鸣器发出声音。其工作过程是从单片机感应到一个异常信号开始的,随机单片机会产生一个低电平,低电平经过电路中的三极管,三极管导通,电流被放大,蜂鸣器发出声音。反之,电流无法通过三极管,则就不会出发蜂鸣器。163.1.5 数码管电路图 3.7 数码管电路本次四个数码管采用都是采用的八段数码管。即一个数码管有8 个发光二极管组成。寄存器通过串行接口从外部器件将数据传送到 SMG-GA 中。LED 发光二极管显示管,采用共阴极数码管显示,其中的 GIRD8 是显示小数点用的,例如让该数码管显示“0”,那么需要在 GIRD1,GIRD2,GIRD 3, GIRD4 GIRD5, GIRD6 为低电平的时候让 GIRD7 为高电平,且 GIRD7 为高电平的时候让 SEG1 为低电平。其它三个数码管为高电平。四个数码管的显示都是一个个进行分别显示的,我们看到的 4 个数码管一起都有数值,只是因为其刷新频率快了以后才有的。173.2 GPRS 传输模块本系统使用的 GPRS 模块是使用 HUAWR HUAWEI MG323 GSM M2M 模块,该模块使用起来非常简便,使用 UART 和上位机进行通信。主要使用 AT 指令控制 GPRS 模块的操作,可以发送短信给手机查询者。该模块的应用框架图如下:图 3.8 MG323 模块应用框图183.3 GPS 定位模块本系统使用的 GPS 模块是 ATK-NEO-6M-V23 模块,是 ALIENTEK生产的一款高性能 GPS 模块,模块核心采用 UBLOX 公司的 NEO-6M模组,具有 50 个通道,追踪灵敏度高达-161dBm,测量输出频率最高可达 5Hz。通过 ATK-NEO-6M GPS 模块,任何单片机(3.3V/5V 电源)都可以很方便的实现 GPS 定位,当然他也可以连接电脑,利用电脑软件实现定位。ATK-NEO-6M-V12 GPS 模块的原理图如图:图 3.9 ATK-NEO-6M-V23 原理图193.4 协调器模块在本次设计的系统中除了温度传感器是直接与上位机进行了连接通信外,其余的两个传感器没有直接与上位机建立连接,而是通过所组建的 Zigbee 网络中的一个 Zigbee 协调器模块来间接的与上位机进行了相互通信。其中 Zigbee 模块的控制芯片,根据对芯片的价格、性能等的综合评估考虑,我选用了广泛被使用的 CC2530 芯片。芯片 CC2530 是一个真正意义上的系统芯片(SOC)CMOS 解决方案,主要用在 2.4GHz 的 IEEE 802.15.4、Zigbee 和 RF4CE 的应用中。它能够提高性能并能满足基于 Zigbee 技术的 2.4GHz ISM 波段应用的低成本、低功耗的要求,建立起强大的网络节点。CC2530 与领先的RF 收发器的优良性能、高性能的 8051CPU、系统内可编程的闪存、8KB RAM 以及许多其他强大的功能和外设相结合。CC2530 连接的外部连接元件极少,且有许多经典电路,它大致可以分为三大模块:CPU 和内存相关模块;外设和电源管理相关模块;无线信号收发相关模块。CC2530 芯片的主要特点: 具有 256KB 的闪存和 20KB 的可擦除周期,以此支持无线的更新和大型应用程序的运行。 若是遇到更为复杂的应用可使用 8KB 的 RAM。 可编程的输出功率能达到+4dBm。 若突然停电,仅睡眠定时器在运行,只损耗不到 1uA 的电流。20 地址识别能力与数据包处理引擎能力强大。Zigbee 终端所使用的 CC2530 芯片的最小系统与单片机的最小系统相似。其原理图如图 3.9 所示。图 3.10 CC2530 系统最小原理图从上图中可以看出,CC2530 最小系统相较单片机的最小系统只是多了一个信号传输天线。该天线可以将信号传输距离扩大到 100多米。当芯片接收到传感器传送过来的信号的时候,内部的 D/A 转换器将其转换成模拟信号,经滤波放大后发送出去。当接收端接收到信号后,将信号滤波放大后在通过 A/D 转换将其又重新变换为可供单片机使用的数字信号。Zigbee 模块上的 CC2530 芯片的最大工作电压是 3.6V,而单片机开发板能输出的是 5V 的电压,因此要是将它直接接在单片机开发板上 CC2530 芯片会马上烧坏。为了解决这一问题我使用了一个AMS1117 芯片。它的电路图如图 3.10 所示。AMS1117 芯片它是一个21正向的低降压稳压器,当我们在输入端输入 5V 的电压后它可以在输出端稳定的输出 3.3V 的电压。通过它就能得到 CC2530 芯片所需要的正常工作电压了。图 3.11 AMS1117 电路图将 Zigbee 模块的电源输入输出端连接在 AMS1117 的电源输入输出端上后,再将协调器节点 Zigbee 模块的 RX 和 TX 与单片机的 RX和 TX 口交叉相接。即将 Zigbee 模块的 P0.2,P0.3 口分别与单片机的 P31,P30 口相连接。当作为协调器节点的 Zigbee 模块接收到终端节点传送过来的数据之后会送出给单片机,单片机将收到的数据作出处理,来实现对蜂鸣器和 LED 灯的控制。协调器模块在本次设计中最主要的任务就是建立 Zigbee 网络。它的详细建网流程如图 3.11 所示。当设备通上电后,首先协议栈中的设备对象层(ZDO 层)通过调用函数来进行相应的初始化工作,它会通过设置闪存中的网络状态来触发该层进行相应的初始化设置,使得该层的任务事件处理函数来进行处理初始化任务。当初始化完成后它会将设备的状态设置成为协调器启动并且同时的它会将设备的一些基本信息传送给网络层。网络层在进行了一系列的操作后,它会将接收到的网络信息回传给设备对象层。ZDO 层会根据得到的相应信息来设置并处理网络启动的事件,它会更新网络处理事件,22使得它对端点的列表进行搜索,在其中找到已经注册好的端点。这样协调器的网络地址和 IEEE 地址也就随之而确定了。当协调器节点收到来自终端节点的绑定信息后,通过调用相应的函数最终实现终端节点与之的相互绑定,这样通信网络就算建立完成了。当协调器节点收到来自终端节点传输过来的信息后,它会通过串口传送给上位机模块。初始化设备Z D O I n i t D e v i c e ()设置网络初始化事件Z D O _ N E T W O R K _ I N I T处理网络初始化事件Z D O _ S t a r t D e v i c e ()设置网络启动事件Z D O _ S T A T E _ C H A N G E _ E V T处理网络启动事件Z D O A p p _ N e t w o r k S t a r t E v t ()设置 Z D O 状态改变事件Z D O _ S T A T E _ C H A N G E _ E V T处理 Z D O 状态改变事件Z D O _ U p d a t e N w k S t a t u s ()发送 Z D O 状态改变消息Z D O _ S T A T E _ C H A N G ES a m p l e A p p _ N w k S t a t e =D E V _ Z B _ C O O R DN L M E _ N e t w o r kF o r m a t i o n R e q u e s t ()Z D O _ N e t w o r kF o r m a t i o n C o n f i r m C B ()N W KZ D OM O D E _ H A R DD E V _ I N I TD E V _ C O O R D _S T A R T I N GD E V _ Z B _ C O OR D等待绑定 , 发送数据包S a p id e v S t a t ed e v S t a r t M o d e23图 3.12 协调器建网流程图3.5 烟雾检测模块烟雾检测模块是由烟雾传感器和 Zigbee 终端发送模块组成。气体传感器对许多的可燃性气体的检测灵敏度非常高,其检测的效果相较其它的传感器也很理想,是一种适用范围广泛的低投入的传感器。其原理图如图 3.12 所示。图 3.13 烟雾传感器原理图该烟雾传感器模块有一个灵敏度调节装置,如果在没有可燃性气体时它的信号指示灯就亮着,那么我们可以通过调节该装置使得信号指示灯熄灭。然后我们可以使用打火机来测试一下该模块是否能正常工作,把打火机不打着使它一直处于放气状态下,将打火机放在烟雾传感器下面,传感器的信号指示灯亮且当打火机移开不放气了它的信号指示灯熄灭,则说明该模块可以正常工作了。值得注意的是该传感器工作还需要一定的温度要求,因此在传感器内集成了一个电热丝,当我们使用时要首先先将传感器预热个 20 多秒的时24间,这样该传感器才会正常工作。当没有烟雾气体时,检测电路会送出高电平。但是当有可燃性气体通过传感器时,传感器电路就会送出低电平,给 ZigBee 模块送出信号。在烟雾传感器模块中,Zigbee 终端节点还有一个非常重要的任务就是要负责将本模块加入到 Zigbee 网络中。它的详细的入网流程如图 3.13 所示。由于在本系统中并没有路由节点,所以当协调器节点在完成建网后它就会以一个与路由器节点相当的角色存在与通信网络中。当设备通电后,该模块也会和协调器一样先进行一系列的初始化事件,其主要不一样的是当设备处理初始化事件时,它会将设备的状态改为发现网路状态,并将该信息传输给网络层。网络层在接收到数据后通过相应的处理将发现网络的信息又回传给 ZDO 层。然后 ZDO 层会将设备状态改成正在加入网路状态并且向网络层送出相应的信息,在该层接收到来自网络层通过调用函数处理后回传过得的信息后,它会再次将设备状态改为终端设备并且通过网络层来启动路由器。在进行了许多后续操作之后最终要和协调节点一样确定路由器的网络地址和 IEEE 地址。(在本系统中即协调器的网络地址和 IEEE 地址。)在模块成功的加入网络后,它会将传感器检测到的信号发送给协调器模块,且它的发送周期为 5S。25初始化设备Z D O I n i t D e v i c e ()设置网络初始化事件Z D O _ N E T W O R K _ I N I T处理网络初始化事件Z D O _ S t a r t D e v i c e ()设置启动路由事件Z D O _ R O U T E R _ S T A R T处理启动路由事件设置 Z D O 状态改变事件Z D O _ S T A T E _ C H A N G E _ E V T处理 Z D O 状态改变事件Z D O _ U p d a t e N w k S t a t u s ()发送 Z D O 状态改变消息Z D O _ S T A T E _ C H A N G ES a m p l e A p p _ N w k S t a t e =D E V _ R O U T E RN L M E _ N e t w o r kD i s c o v e r y R e q u e s t ()启动路由反馈Z D O _ S t a r t R o u t e r C o n f i r m C B ( )N W KZ D OM O D E _ J O I ND E V _ I N I TD E V _ E N D _ D EV I C E等待绑定 , 发送数据包S a p id e v S t a t ed e v S t a r t M o d e发送发现网络消息Z D O _ N W K _ D I S C _ C N F处理发现网络消息处理加入网络指示消息Z D A p p _ P r o c e s s N e t w o r k J o i n()发送加入网络指示消息Z D O _ N W K _ J O I _ I N DZ D O _ N e t w o r kD i s c o v e r y C o n f i r m C B ()请求加入网络N L M E _ J o i n R e q u e s t ( )请求加入网络反馈Z D O _ J o i n C o n f i r m C B ( )启动路由请求N L M E _ S t a r t R o u t e r R e q u e s t ( )D E V _ N W K _ D IS CD E V _ N W K _ J OI N I N GD E V _ R O U T E R图 3.14 终端节点入网流程图263.6 火焰检测模块在公交车中,我们一般都会用火焰传感器对火焰的敏锐度来进行相关的火焰报警。其原理图如图 3.14 所示。图 3.15 火焰传感器原理图模块的各个接口和烟雾检测模块的接口相类似,只是该模块的VCC 接口可连接的外部电压范围为 3.3V 到 5.5V 之间,我们可根据需要直接连接相应电压值的单片机。跟烟雾传感器一样,火焰传感器模块上也有一个灵敏度调节装置,只是它是通过改变电路内部集成的一个滑动变阻器的阻值来改变传感器检测的灵敏度。传感器使用前同样要利用打火机的火光来进行相应的调试,调试的方法和烟雾传感器一样。当传感器检测到火光后,它的信号指示灯会发出绿光并输出一个低电平,当没有火光时它会一直从 D0 口输出一个高电平给 Zigbee 模块。整个模块同27样要加入到 Zigbee 网络中,其加入网络的过程及工作过程和烟雾传感器一样,在这里就不在重复了。3.7 温度检测模块用 DS18B20 传感器来实现对温度的实时检测,将传感器与STC89C52 单片机配合使用,使得检测电路十分简单,仅仅由这个传感器构成即可,监测到的温度会实时发送数据到主控中心。DS18B20的引脚图说明图如图 3.15 所示。图 3.15 温度传感器原理图DS18B20 进行温度检测的原理比较简单。在它内部有一个高温晶振和一个低温晶振,将它们都作为减法计数器。在开始工作前会先将一个温度基数放在计数器里,两个计数器同时进行减法计数。当低温计数器减到 0 时,它会又在寄存器中加 1 并在次变回一开始的基数计数,这样一直工作下去直到另一个计数器也变为 0 为止。这时的温度就是寄存器中的数值。温度检测模块是直接和单片机进行通信的,它并不在 Zigbee 网络中,所以它并不像其它的模块一样要进行建网或入网操作,只要单片机通上电的同时温度传感器也就开始工作了。温度传感器会将检测到的数据通过 P37 串口传送给单片机,单片机再通过数码管将温度具体显示出来,使温度可以实时28的显示,直观的了解公交车环境温度,同时也可以将采集的数据发送到查询人手中。第四章 软件设计软件设计方面根据硬件设计所需,要对上位机和 Zigbee 模块分别进行设计。其中上位机方面由于我用的是 STC89C52 单片机,故我需要使用 keil 软件对其进行编程。Zigbee 模块方面我用 IAR 软件进行编写设计。在此我主要介绍了 IAR 软件是如何使用以及如何进行编程来实现功能设计的,对 keil 软件就不在进行叙述,如有问题可查看相应的使用文档。4.1 Zigbee 开发软件介绍4.1.1 IAR 软件简介跟单片机需要用 Keil 软件编译一样,Zigbee 的开发也同样需要一个编译软件,即 IAR EW8051。该软件可以支持多种编程语言,如:C、C+、汇编语言等。它能够自动生成 FLASH/PROMable 代码10。4.1.2 工程的创建在装完 Zstack 协议栈安装结束后,在开始菜单中打开 IAR 软件,再在自己所保存的文件夹目录中找到 GenericApp.eww 打开工程,从Workspace 下拉框中点击 CoordinatorEB 选项,将其作为公交查询的协调器工程。在 Project 选择 Make 按钮,所有红心消失,此时配29置文件 f8wCoord.cfg 将被使用。图 4.1 协调器工程示意图在相同的文件路径下打开 CC2530DB 文件夹,在该文件夹下复制一个新的 GenericApp 工程,打开工程,从 Workspace 下拉框中点击 EndDeviceEB 选项,将其作为公交查询的终端节点工程。在Project 下拉菜单中选择 Make 按钮,所有红心消失,此时配置文件f8wEndev.cfg 将被使用。30图 4.2 终端节点工程示意图用户想要进入到协调器的编译选项设置界面,可在 Project 下拉菜单中点击 Options,在弹出的对话框中点击 C/C+Compiler 再点击 Preprocessor,然后输入相应设置。如图 4.3 所示。图 4.3 工程设置图314.2 功能模块软件设计4.2.1 烟雾检测模块该模块的主要任务是检测公交车内的天然气是否有泄漏,它将通过烟雾传感器(MQ-2)来检测。在设备进行一系列的初始化工作后,Zigbee 终端会自动的加入到 ZIgbee 通信网络中。传感器检测到的数据通过 Zigbee 网络与单片机进行通信,数据每 5s 发送一次,单片机根据得到的数据进行相关操作。它的主要的工作流程图见图4.4 所示。Z i g b e e 协议栈及火焰传感器初始化开始加入 Z i g b e e 网络设备正常运行结束发送数据协调器单片机是否正常报警及点亮 L E D 灯NY5 s图 4.4 烟雾模块工作流程图设备正常是送出的是B(及高电平),当设备检查到环境异常时送出b(即低电平)。当单片机得到的为 a 是会启动蜂鸣器发出报警并点亮指示灯 LED8。324.2.2 火焰检测模块火焰检测模块的工作原理和上述所说的烟雾检测模块的工作原理是一样的,其主要的区别只是在于所用的传感器不同而已。该模块的主要职责是监控公交车中是否有明火,以防止火灾的发生,保障住户的人身财产安全。其工作流程图如图 4.5 所示。火焰模块中的程序代码也和烟雾传感器基本一样,只是相对应的 Zigbee 模块发出的标记是A和a而已。其报警指示灯是 LED7。Z i g b e e 协议栈及火焰传感器初始化开始加入 Z i g b e e 网络设备正常运行结束发送数据协调器单片机是否正常报警及点亮 L E D 灯NY5 s图 4.5 火焰模块工作流程图334.2.3 温度检测模块在本设计中,本系统通过温度传感器(DS18B20)来检测公交内环境的温度。与其它的两个传感器不同的是它不是和 Zigbee 模块相连的,而是不经过 Zigbee 网络直接和单片机相连接的。其工作流程图如图 4.6 所示。启动单片机开始结束单片机正常运行数码管显示温度传感器通电工作串口图 4.6 温度模块工作流程图根据上面的工作流程图可以看出传感器是直接有效的和单片机连的,正常情况下它都不会受到其它的传感器模块的干扰,能进行实时的温度检测。但是,当其它模块异常时,单片机会中断该程序,从而转去运行中断程序。344.2.4 协调器节点模块协调器节点是整个 Zigbee 网络的最重要的组成部分,是每个Zigbee 网络都不可或缺的一部分。本次设计中的协调器节点主要是用来接收并发送来自火焰传感器模块和烟雾传感器模块的数据。它只是为其它的节点和单片机的通信起到了一个通信桥梁的作用。他的工作流程图如图 4.7 所示。启动单片机开始结束单片机工作协调器初始化Z i g b e e 终端初始化开始 开始协调器工作Z i g b e e 终端工作发送数据发送数据完成相应操作图 4.7 协调器节点工作流程图由上图,我们可以更加的直观了解到协调器节点在整个 Zigbee网络中只是用来转发数据的,其本身在网络中没有更具体的实体功能。4.3 编译调试 在 IAR 运行环境下,打开工程,点击 toggle breakpoint键开始编译。 编译结束,没有问题之后,开始下载程序。如图 5.1 连接好仿真器和 ZigBee 模块35图 4.8 仿真器和模块连接图在 workspace 选择 CoordinatouEB,点击 debugg 键开始下载程序,如图 5.2 所示。下载成功后如图 5.3 所示。图 4.9 下载程序图36图 4.10 下载程序成功图然后通过点击 stop debugging 来终止下载程序。如下图 5.4 所示。图 4.11 停止下载图取下模块,这个模块就是协调器。然后再 workspace 处,选择 RouterEB,连接另外两个模块,用同样的方法下载程序,这两个模块就是终端节点。374.4 系统测试Zigbee 协调器模块的 P0.2,P0.3 口分别与单片机的 P31,P30口相连接,并将 Zigbee 的电源接在 AMS1117 的 3.3V 电源输出端上。将温度传感器的电源也接在 AMS1117 的电源输出端上,并将其 D0 口连接在单片机的 P37 口上。其实物连接图如图 4.5 所示。图 4.5 上位机模块实物图烟雾检测模块和火焰检测模块的引脚接线是一样的。其实物连接图分别如图 5.6 及 5.7 所示。传感器的引脚有: VCC 外接 5V 电压 GND 外接 GND 38 DO 小板数字量输出接
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于物联网公交查询系统设计与实现
链接地址:https://www.renrendoc.com/p-6446350.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!