基于物联网的城市停车场智能管理系统内容摘要:

web 技术实现智能化的管理。 此次设计将平台用户和系统管理员分开管理。 平台用户的 权限 : 1) 在平台上注册( 用户名不可重复,一个 ID 号只能绑定一个用户)。 2) 登陆 后查看停车场车位的实时情况,如某个车位是否被预约、是否被占用,停车场是否已满。 3) 可对指定车位进行预约(若不指定则由系统分配)、取消预约、充值和支付 、查看余额。 4) 可查看用户在本停车场的进出、预约、车费支付情况等记录,支持通过条件检索查询。 5) 支持手机、 PC 等智能终端的 注册 、 登录、浏览 、操作。 系统管理员的权限: 1) 在平台上注册(须填写邀请码) 2) 登陆后查看停车场车位的实时情况,如某个车位是否被预约、是否被占用,停车场是否已满。 3) 可查看所 有用户在本停车场的进出、预约、车费支付情况等记录,支持通过条件检索查询。 4) 可查看停车场所有车位的实时环境情况,如湿度、温度、 可燃气体浓度。 5) 应对特殊情况对某个车位闸门的开关控制。 6) 支持手机、 PC 等智能终端的 注册、 登录、浏览 、操作。 系统框图 下图为软件部分的系统框图。 首先,上位机向下位机发送指令,下位机接收并执行命令后返回执行结果。 上位机接收到返回的数据后,根据通信协议判断是否属于一条完整且准确的命令,显示执行结果。 同时,也可通过手机和 PC 等智能终端进行查询和预约等操作。 安徽建筑大学毕业设计(论文) 9 图 21 系统框图 系统方案选择 选择 B/S 开发 C/S ( Client/Server)结构,即大家熟知的客户机和服务器结构。 它是软件系统体系结构,通过它可以充分利用两端硬 件环境的优势,将任务合理分配到Client 端和 Server 端来实现,降低了系统的通讯开销。 目前大多数应用软件系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的Web 应用发展, Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。 这也就是目前应用系统的发展方向。 功能强大,可以减轻服务器端压力,如果用户的需求特别复杂,用 C/S。 B/S( Browser/Server)结构即浏览器和服务器结构。 它是随着 Inter 技术的兴起,对 C/S 结构的一种变化或者改进的结构。 在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端( Browser)实现,但是主要事务逻辑在服务器端( Server)实现,形成所谓三层 3tier 结构。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本( TCO)。 以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Inter/Intra 模式下数据库应 用,相对易于把握、成本也是较低的。 它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Inter/Intra 等)访问和操作共同的数据库;它能有效地保护数据安徽建筑大学毕业设计(论文) 10 平台和管理访问权限,服务器数据库也很安全。 特别是在 JAVA 这样的跨平台语言出现之后, B/S 架构管理软件更是方便、快捷、高效。 综上所述, B/S 建立在浏览器上 , 有更加丰富和生动的表现方式与用户交流 , 为客户端免维护,适用于用户群庞大,或客户需求 经常 发生变化的情况。 符合本次设计的主题, 所以选取 B/S 开 发。 采用 Spring 整合 Hibernate 框架 Spring 为系统提供了一个整体的解决方案,开发者可以利用它本身提供的功能外,也可以与第三方框架和技术整合应用,可以自由选择采用哪种技术开发。 MVC 的目的是增加代码重用率,减少数据表达、数据描述和应用操作的耦合度,同时也使得软件的可维护性、可修复性、可扩展性、灵活性以及封装性得到提高。 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 SpringMVC 整合 Hibernate 的好处 : ( 1) 通用的资源管理 : Spring 的 ApplicationContext 能管 SessionFactory ,使得配置值很容易被管理和修改,无须使用 Hibernate 的配置文件。 ( 2) 有效的 Session 管理 : Spring 提供了有效、简单和安全的 Hibernate Session 处理。 ( 3) IOC 容器提高了 DAO 组件与业务逻辑层之间的 解耦。 ( 4) DAO 模式的使用,降低了系统重构的代价。 ( 5) 方便的事务管理 : Hibernate 的事务管理处理会限制 Hibernate 的表现,而 Spring 的声明式事务管理力度是方法级。 ( 6) 异常包装 :Spring 能够包装 Hibernate 异常,把它们从 checked exception 变为 runtimeexception。 开发者可选择在恰当的层处理数据中不可恢复的异常,从而避免烦琐的 catch/throw 及异常声明。 所以,根据本设计的要求,选择 SpringMVC 整合 Hibernate 作为 软件系统的开发框架 比较合适。 采用 Oracle 数据库 Oracle 是 甲骨文公司 的 一款 关系数据库管理系统。 它是在数据库领域一直处安徽建筑大学毕业设计(论文) 11 于领先地位的产品。 可以说 Oracle 数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。 它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。 Oracle 相对 MySQL 的 优点 : ( 1) Oracle 是大型数据库而 Mysql 是中小型数据库, Oracle 市场占有率达40%, Mysql 只有 20%左右,同时 Mysql 是开源的而 Oracle 价格非常高。 ( 2) Oracle 支持大并发,大访问量,是 OLTP( 联机事务处理 ) 最好的工具。 ( 3) 开放性: Oracle 能所有主流平台上运行(包括 windows)完全支持所有工业标准采用完全开放策略使客户选择适合解决方案对开发商全力支持;可伸缩性。 ( 4) 并行性: Oracle 并行服务器通过使组结点共享同簇工作来扩windowNTT能力提供高用性和高伸缩性簇解决方案 windowsNT能满足需要用户把数据库移 UNIXOracle 并行服务器对各种 UNIX 平台集群机制都有着相当高集成度。 ( 5) 安全性:获得最高认证级别的 ISO 标准认证。 ( 6) 性能: Oracle 性能高 , 保持开放平台下 TPCD 和 TPCC 世界记录;客户端支持及应用模式: Oracle 多层次网络计算支持多种工业标准用 ODBC、JDBC、 OCI 等网络客户连接。 ( 7) 使用风险: Oracle 长时间开发经验完全向下兼容得广泛应用地风险低。 从 可用性 、 可扩展性 、 数据安全性 和 稳定性 角度考虑,选择 Oracle 数据库能更快的保存、查询数据 ,且安全性能高。 选 取 Eclipse 作为开发环境 Eclipse,跨平台的自由集成开发环境( IDE)。 最初主要用 Java 语言开发 ,但是目前亦有人通过插件使其作为其他计算机语言比如 C++和 Python 的开发工具。 Eclipse 的本身只是一个框架平台 , 许多软件开发商以 Eclipse 为框架开发自己的 IDE。 MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE 的扩展,也就是所说的插件, 利用它 可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。 从功能上说,两者都符合我们对开发工具的选择,由于 Eclipse 是免费的 ,安徽建筑大学毕业设计(论文) 12 而 MyEclipse 是需要付费的,所以从成本的角度考虑,选择采用 Eclipse。 选 取 作为 web 服务器 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。 因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 它在汲取了 Tomcat 优点的基础上,实现了对于 Servlet 、 JSP 和 EL 等特性的支持。 所以,我们选取Tomcat 为 web 服务器比较合适。 选取 作为软件开发工具包 JDK(Java Development Kit) 是 Java 语言的软件开发工具包 (SDK)。 没有JDK 的话,无法编译 Java 程序,如果想只运行 Java 程序,要确保已安装相应的JRE。 因为 支持 及以上版本,所以我们这里选取 作为软件开发工具包。 选取 jQgrid 作为 Web 前台表格控件 jqgrid 是非 常棒的 Web 前台表格控件 ,用它可以轻松的显示 ,格式化 ,与前后台通过 ajax 进行互动。 jqGrid 包主要用于将需要展示的数据动态的展示在页面的上,即动态画出表格,并封装了增、删、改、查、分类显示、在线编辑修改等功能。 下面的图是利用 jQgrid 的表格效果图。 安徽建筑大学毕业设计(论文) 13 图 22 jQgrid的表格效果图 选取 artDialog 作为 web 对话框组件 artDialog 是一个精巧的 web 对话框组件,压缩后只有十多 KB,并且不依赖其他框架。 artDialog 的特殊布局结构能够原生的适应内容变化 , 不必去考虑消息内容大小, 它 能自己去适应内容。 当然 它 仍然可以接受一个固定高宽的参数, 它 能够防止内容溢出或截断,同时也不会产生难 看的滚动条,甚至能够自动 处理文本对齐方式。 artDialog 所有功能是不需要其他库就可以使用的,但是如果页面引入了 jQuery, artDialog 会奉献自己成为它的插件,利用它增强自身功能。 下图是利用 artDialog 作为 对话框 的界面。 图 23 artDialog作为 对话框 的界面 安徽建筑大学毕业设计(论文) 14 3 系统软件 设计 与实现 上位机与下位机的通信协议 本次设计,上位机与下位机的通信协议有五种命令,命令的组成部分是: A. 协议头: AA55 (两个字节) B. cmdlen: 一条 命令的字节总长度 (一个字节) C. cmd: 属于 几号命令 (一个字节) D. checksum: 除 本字节外, 其他字节 的 总和 (一个字节) E. 主从判断: 00(上位机 )/01(下位机) (一个字节) F. 车位号:几号车位 (一个字节 ) G. data:根据不 同的协议有不同的数据和字节数 1 号命令:心跳检测。 上位机给下位机发送心跳检测 命令,下位机返回湿度,温度和 可燃气体浓度。 上位机校验是否符合通信协议,若符合则改变车位环境数据并显示出来。 开 始上 位 机下 位 机是 否 符 合通 信 协 议显 示 车 位环 境结 束心 跳 检 测 返 回 车 位 环 境 数 据 图 31心跳检测命令流程图 2 号命令:开关闸门 上位机发送命令控制指定车位的开 /关闸门,下位机执行后原样返回 给上位机。 00 代表关闸, 01 代表开闸。 安徽建筑大学毕业设计(论文) 15 开 始开 始上 位 机上 位 机下 位 机下 位 机结 束结 束 开 / 关 闸 门 执 行 返 回 结 果 图 32 开 /关闸门控制流程图 3 号命令:入库身份 验证 下位机检测到 RFID,将卡号发送给上位机,上位机 首先判断是否符合通信协议,若符合,则 从数据库中验证 ID,若为有效 ID, 再判断车位是否被占用,若没有被占用,则允许进库,若被占用且已被预约,如果预约的 ID 和检测到的ID 号相同,则 向下位机发送命令允许入库, 其他情况则 不允许入库。 00 代表允许入库, 01 代表不许入库。 安徽建筑大学毕业设计(论文) 16 开 始开 始下 位 机下 位 机上 位 机上 位 机是 否 符 合通 信 协 议是 否 符 合通 信 协 议是 否 为有 效 卡 号是 否 为有 效 卡 号车 位 是。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。