路灯控制系统Web端监控系统软件设计毕业论文
2020-04-08 12:39:31
摘 要
建设智慧城市是我们的美好愿景,本文以Django为框架,搭建了智慧路灯系统的Web服务器,并在数据交互的安全性方面进行研究和设计。主要完成了登录的验证设计、数据库的设计、信息显示的设计、权限系统的设计、HTTPS升级的设计和MD5加密的设计。智慧路灯系统作为基础性环节,其服务器的搭建不仅解决了目前路灯检测维修困难的遗留问题,在未来还将为上层应用提供关键性数据,推动智慧城市的发展,由此畅想美好未来。
关键词:Django;智慧路灯;Web服务器;MD5加密
Abstract
Building a smart city is our good vision. This paper uses Django as a framework to build a web server for the smart street lighting system and conducts research and design on the security of data interaction. Mainly completed the login verification design, database design, information display design, permission system design, HTTPS upgrade design and MD5 encryption design. As a basic link, the intelligent street lighting system not only solves the problems existing in the current difficulty in the detection and maintenance of street lamps, but also provides key data for upper-level applications in the future to promote the development of smart cities and thus imagine a better future.
Key Words:Django;Smart street light;Web server;MD5 encryption
目 录
摘 要 I
Abstract II
1 绪论 1
1.1 课题研究的背景 1
1.2 课题研究的目的和意义 1
1.3 国内外发展现状和趋势 2
1.3.1 路灯系统国外现状 2
1.3.2 路灯系统国内现状 4
1.3.3 路灯系统发展趋势 5
1.4 本文的主要工作 6
2 系统设计的整体方案 8
2.1 框架的选择 8
2.1.1 框架的比较 8
2.1.2 Django的MVC模式 8
2.2 Django框架的主要技术 9
2.2.1 Django的路由 9
2.2.2 Django的视图函数 10
2.2.3 Django的模板继承和渲染 10
2.2.4 Django的models 10
2.2.5 Django的站点管理 10
2.3 系统整体方案 11
2.3.1 用户登录方案 11
2.3.2 信息显示方案 11
2.3.3 权限系统方案 11
2.3.4 数据交互加密方案 12
3 数据库设计 13
3.1 数据库的需求分析 13
3.2 数据库的E-R图设计 13
3.3 数据库的关系表设计 14
3.4 数据库的字段设计 14
3.5 数据库的创建和更新 16
3.6 数据库的操作 17
4 数据交互的加密技术研究和设计 18
4.1 安全传输协议HTTPS研究 18
4.2 HTTPS实现设计 20
4.3 MD5加密技术研究 20
4.4 MD5加密技术实现设计 25
5 系统功能的实现验证 27
5.1 开发环境 27
5.1.1 Python配置 27
5.1.2 Django配置 27
5.1.3 开发工具 27
5.2 前端登录页面显示实现验证 28
5.2.1 模板的继承和渲染实现 28
5.2.2 路由和首页信息配置实现 28
5.3 用户登录实现验证 30
5.3.1 页面的跳转实现验证 30
5.3.2 用户登录实现验证 30
5.4 权限系统实现验证 31
5.5 信息显示实现验证 33
5.5.1 数据库信息显示实现验证 33
5.5.2 地图显示实现验证 34
5.6 数据交互及MD5加密实现验证 35
5.6.1 前端加入ajax并加密密码实现验证 35
5.6.2 后端前端交互实现验证 36
5.7 HTTPS验证 37
5.8 返回和注销实现验证 38
6 总结与展望 39
参考文献 40
致 谢 42
1 绪论
1.1 课题研究的背景
目前我国城市建设正在飞速发展,但随之而来的 “城市病”却阻挡着前进的脚步[1]。为平衡发展的难题,建设智慧城市已经成为一股不可逆转的潮流。智慧照明系统作为其中的基础性一环,决定着整个体系和上层应用的发展,但目前的路灯系统太过老旧,其服务器设计已成为时下热门研究方向[2]。
现在大部分路灯系统在监控和管理方面,仍然缺少一些科学性和规范性。当受到季节、人为的一些因素和自然灾害的侵袭时,非常容易老化、破损、短路从而导致路灯不能正常为行人提供照明。按照现在的路灯系统,控制中心是无法及时了解到路灯的情况并进行抢修的[3],因此存在极大的安全隐患,不能保证人民正常日常生活的安全。同时,因为无法一次性了解到所有路灯的具体信息,在数目庞大的路灯面前,维修人员的数量势必要增加,导致路灯维修的成本也居高不下。
图1.1 工人现场检修路灯和被恶劣天气影响的路灯
面对这些问题,智慧路灯系统服务器的搭建势在必行,它让管理者可以一次性掌握全部路灯的具体信息,为行人的出行安全提供保障、降低路灯维护的成本,更重要的是,在未来它还可以为上层应用提供大数据,加快智能城市建设。
1.2 课题研究的目的和意义
通过对智慧路灯系统服务器的搭建,智能城市将向更高的阶段迈进,不仅可以解决目前路灯检测维修困难等遗留问题,在未来,还可将数据分享到以热点技术为核心的应用中去,这将改人民的生活方式,是达到让人民拥有更美好生活这个终极目标的关键举措[4]。
目前的体系无法让管理者快速了解路灯的信息,在后期维修方面,也难堪重任。课题所研究的路灯监控系统可以让城市路灯系统更科学、更规范。将智能路灯的信息录入数据库,控制管理人员在浏览器端登录后,便可方便的查看路灯的具体信息,进而判断出路灯的工作情况,是否需要对其进行检修,由此解决了上述的两个横亘在城市路灯建设方面的难题。
对于社会效益:工作人员可以快速的找到未达要求的路灯和其准确位置,及时抢修,人民群众的出行更有保障,对路政建设的投诉也会越来也少,实实在在的降低危险发生的可能性,人民的出行更安全,城市形象也会更美好;对于经济和管理效益:将原先的检测人员沿街道人工检查,变成了控制中心智能检查,不仅节约了人员和车辆的使用,也减少了后期维修时费用的支出,缩短维修时间,提高效率,市政管理部门的负担会大大减小[3]。
1.3 国内外发展现状和趋势
1.3.1 路灯系统国外现状
西方的许多发达国家很早就开始进行智慧城市的研究,而智慧路灯作为每天所必须的基础设施,它的发展自然是十分迅速的。德国在路灯系统方面做足了功夫,而英国政府甚至计划将伦敦的全部城市照明系统更新换代,新系统将仅仅依靠一个iPad就可以控制[5]。
目前整个德国约有200,000个智能路灯灯杆,下一阶段,德国的首都柏林预计会继续投入1000个可充电智能灯杆。一些供应商推测,在不久的将来,德国首都将全面推行这种可充电式智能灯杆。
图1.2 德国城市智能路灯
目前英国米尔顿凯恩斯市的MK体育场,全面采用由施莱德公司研制的一体化智能灯具Shuffle。这一灯具采用全新LED照明技术,并结合公共广播器材、监控摄像头、电动汽车充电桩以及WIFI网络。灯具套件配备了360度照明模块、可进行入口处监控的闭路电视、举办赛事时所需要用的公共广播以及无线网络。MK体育场主控室可对公共广播和可监测闭路电视进行远程遥控,方便及时连接和操控。
图1.3 英国MK体育场智能路灯
在这方面,美国自然也不会落后,它的路灯发展已经进入了非常智能化的阶段。早在2016年,美国洛杉矶政府就决定用智能LED路灯替换街上原来的高压钠灯,总共涉及约7200公里的道路,整个替换过程预计花费四年的时间。这些智能LED路灯将全部与网络连接,在未来,智能路灯配合智能套件可以响应周围的情况并发出信号,比如检测到危险信号时闪烁,以此警示行人以及给救护车、消防车等引路。
图1.4 美国洛杉矶智能路灯
再比如圣地亚哥的智能路灯监控系统。智能的路灯搭配智能化的监控系统,让这些路灯可以实时的监测和聆听重要信息,其采集的温度、湿度和其它空气特征,将帮助城市更好的发展。所有的这些,也仅仅是依靠智能的路灯和一个智能的监控系统。尽管这样的路灯造价昂贵,但是它将依然可以降低政府预算,因为它将节省60%的城市灯光供电成本[6]。
1.3.2 路灯系统国内现状
目前国内的大多数城市的路灯系统还在研制阶段。近几年,我国也慢慢的开始重视城市照明系统方面的研究,并在《中国绿色照明工程实施方案》中,提出了明确的要求。
现在国家已经有几个大的城市开始研究这方面的系统,达到了比较理想的效果:北京的城市路灯系统,通过智能系统让路灯更加节能;广州的rdd-3000智能系统则使用了有线和无线兼容的方式来对通信系统进行监控,以实现对目标的远程测量和远程通信等[5]。
图1.5 北京智能路灯
在政府的大力支持下,综合考虑广阔的市场和相对高额的利润,市政这个领域的城市照明系统已经成为业内各大厂商的必争之地。国内目前也有几家公司在研发智慧路灯系统,比如:
洲明科技:其公司自主研发的智慧路灯获得OFweek2017最佳智能照明系统方案奖和第五届中国LED首创奖金奖,并成功设计Unilumin1.1智能照明控制系统。
飞乐音响:是国内领先的智慧照明及智慧城市整体解决方案提供商与运营商。
可以看到在智慧路灯这个领域,我国和发达国家还存在一定的差距,但也处于飞速发展的阶段。
1.3.3 路灯系统发展趋势
路灯这一日常生活必备的基础设施,在未来会给我们的生活提供强有力的帮助,它是高效的,是无处不在的。高高的路灯在路边一排排的连成线,加之其完美的高度,足以让它覆盖完美的半径,从而捕获大量的信息[6]。可以说有了智慧路灯和其服务器系统,结合现在发达的互联网和大数据技术,一切都将变得不一样。
未来智能路灯系统的作用将深入生活,通过服务器的计算可以帮助城市的管理部门了解到哪个路口是十分危险的,可以考虑重新设计。配合智能套件,路灯还将可以聆听的周围危险信息的来源,比如枪声的来源和大致位置,或通过识别玻璃破碎和车祸的声音提醒警察有可能发生的危险并记录路口危险的情况[6]。
智能化的服务器系统还将为市民监测空置车位的信息,给交通执法人员提供执法信息,告诉他们哪里有违章停车。
图1.6 智能路灯车位监测
如果将服务器和手机app连接,智能路灯的作用会井喷式的上涨。路灯采集信息后,经过服务器的计算可以告诉程序的使用者哪里是安静的步行路线,让想悠闲漫步的人有不同的规划。或是利用路灯和交通信息,帮助行动困难的人顺利到达目的地。亦或是通过人员聚集的方向来告诉你有什么有趣的活动即将发生[6]。
图1.7 智能路灯人流分析
如果给井盖也加上传感器套件,它还可以是一个井盖、水位远程监测系统,用来对井盖的状况进行实时监测,防止地下管网设施受损,消除对市民的人身安全威胁。水位监测则实时掌控地下的水位信息,预防灾害的发生。
图1.8 智能井盖、水位监测系统
相互相连的系统将让生活更加的舒适。利用智慧路灯的组件,可以实时监测环境数据并与周围植被的浇灌器设备连接,城市的绿地将实现无人智能养护。
图1.9 无人智能养护
现在的一些城市已经拥有了广泛的基于摄像头的监控系统,例如英国伦敦、美国的芝加哥、中国的重庆等等。在以后越来越多的综合传感套件将安装进我们的智能系统,来采集更多的数据,通过路灯系统的服务器和上层应用,给我们提供帮助[6]。
1.4 本文的主要工作
本文要研究设计一个智慧路灯系统的服务器,并在数据交互的安全性方面进行研究和设计。主要完成登录的验证设计、数据库的设计、信息显示的设计、权限系统的设计、HTTPS升级的设计和MD5加密的设计。整个系统的操作不宜太复杂,要符合一般的用户习惯, 满足日常使用需求。
目前的智能路灯控制系统主要包括智能路灯套件、单一路灯控制器、路灯集中控制器和监控管理中心等。智能套件附着在路灯上采集数据,数据通过网络传输到数据库,管理员查看数据库中的信息,对路灯进行智能控制,同时各项数据也将用于大数据分析,推动智能城市的建设。
图1.10 智能路灯系统
本次设计的主要创新点如下:
1)研究学习Django框架的开发模式,熟悉Django框架的主要技术,搭建基于Django的Web端服务器。
2)了解MD5加密技术和HTTPS安全传输协议,将MD5和HTTPS技术应用到设计中,保护用户信息安全。
2 系统设计的整体方案
2.1 框架的选择
2.1.1 框架的比较
在进行Web开发前,选择一款适合自己的优秀框架可以让开发工作变得更加得心应手。提到优秀的Web框架,JAVA框架和.NET框架是两座绕不开的大山,他们之间的优势之争也从未间断。而伴随Python语言的崛起,Django框架也不失为很好的选择。
微软公司的.NET框架为用户提供了便捷的应用程序模型和配套的关键技术,其中公共语言运行时更是.NET的一大亮点。它对Windows平台的程序开发、Web服务和组建对象模块有极大的改善,非常适合用来进行快速开发或是进行网站的部署[7]。但是.NET技术的效率低于本地编译效率,开放性也不强,开发的成本又相对较高,并且缺少像JAVA、Python一样的大规模应用案例,因此在实际开发中比较适合中小规模的开发[7]。
JAVA的很多框架都体现了不错的层次分隔水平,而且融合性强,再辅以许多优秀的库,让开它的发效率不断提高。几个耳熟能详的优秀框架比如:Struts的扩展性、Webwork便捷的标签和结构、Spring的开放性等,在不同的方面都能显示出特别的优势。但是它们的问题也很普遍,都需要大量且复杂的XML来进行配置和管理,这大大增加了开发的难度,随着需求的扩展,效率将难以保障[7]。
作为一个比较常见的Python Web应用框架,Django的开源性让它包含许许多多的扩展组件,可以很好的实现关系的映射、界面的挂历等功能。Django拥有自己独特的轻量级Web服务器,可以非常快速的开发Web应用[8],再加上Python语言得天独厚的优势,可以说Django是一款非常有发展前景的框架。因此综合考虑,本次项目打算采用Django框架来搭建Web服务器。
2.1.2 Django的MVC模式
Django的Web开发同样遵循目前主流的MVC模式,由模型层、视图函数层、控制层三个部分组成。在这其中,处于应用程序底层的是模型层,它来负责与数据处理有关的事情,比如用户登录时密码信息的验证等。在Django中,用户的输入控制单元是统一由系统框架处理的,因此也常常称为模板层。这一层通常用来进行数据的展示,例如运用模板语言来对HTML网页进行渲染,显示到浏览器。至于视图函数层,则构成了Django的强大逻辑结构,负责在不同类型的文件中将数据展示出来[8]。
Django的简单工作流程如下:
A)由浏览器向Web端服务器发送HTTP请求。
B)Web端服务器接收到浏览器的请求后,将信息返送给Django的应用。
C)Django按照规则请求中间层,按照Django的URL模式来将路由匹配到对应的视图函数上。视图函数将信息处理后,按要求生成对应的响应,经由中间层将响应封装成标准的HTTP响应,返回给服务器。
D)Web端服务器将封装好的HTTP响应发送给浏览器供用户查看[8]。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。