基于zigbee技术的无线智能小车软件设计毕业设计论文(编辑修改稿)内容摘要:

ZigBee的研究主要集中于硬件和软件 2 个方面。 硬件方面,目前在 的 I 芯片,以国外的 Chipcon 市场占有率较高,其 RF芯片 CC2420 搭配 Atmel AVR 8 bits 微处理器的平台 ,也是很多数人接触道德 ZigBee 的北京邮电大学毕业设计 2 第一个开发平台。 Chipcon 已在 20xx 年第 3 季推出型号为 CC2430 的系统芯片( soc) ,包含 RF 与微处理器,大大减低了未来 ZIgBee 相关产品的成本,简化设计产品周期。 的 RF 芯片厂商 Freescale,也又渐渐迎头赶上的趋势。 其 IXII 芯片公分三种型号:MCI319 MCI3192 和 MCI3193,搭配不同的协议软件,提供给厂商进行不同产品的开发。 软件方面,国际上已经有很多公司提供 ZigBee Stack。 例如, Ember、 AirBee、 Figure8 Wireless 等,其中以 Figure8 Wireless( F8W)所设计的 最负盛名。 Chipcon 把F8W 买下之后,是的 Chipcon 成为 ZIgBee 的完全解决方案的提供者。 Fresscale 也是搭配 F8W 的。 这样, Chipcon 以及 Freescalel3193+ 都成为ZigBee 的开发的黄金平台。 国内研究现状 国内 ZigBee 的研究起步较晚,国内市场主要由国外占领。 现状国内还未见成熟的自主研制的 ZigBee 产品,只是有 一些研究性和简单应用的文章出现在期刊杂志。 但是随着技术的发展,很多高校和研究机构已经开始无线组网技术的研究和应用。 像中科院计算所的宁波分所就在专业从事无线技术的研究,侧重于无线网络化的智能传感器,计算所自主开发出了低功耗的 CPU、多点网络动态组网拓扑协议、网络节点管理软件。 国内的一些个大学,如山东大学、浙江大学也在进行 ZigBee 组网和应用的研究,利用国外厂商的开发平台和芯片创建 ZigBee 网络,并且应用在智能家居、物流管理方面。 相信随着无线技术的研究的深入,将有更多的国产的 ZigBee 产品。 研究方向 ZigBee 路由协议是基于 AODV 专用网络路南协议来实现的。 ZigBee 路由器主要的功能是:路径的开发和选择、路径保持维护、路径期满处理。 ZStack 提供了完善高效的路由算法,兵器路由对对于应用层来说是完全透明的。 用户在实现路由算法时,主要通过路由记录表的配置来实现,这个重要的配置文件是 用户可以通过配置文件中的 ROUTE_EXPIRY_TIME 配置路径满期时间,通过 MAX_RTG_ENTRIES 配置路由表的大小,通过 MAX_TEQ_ENTRIES 配置并发查找路径的大小。 另基于 ZigBee 技术的传感器网络应用非常广泛,可以帮助人们更好地实现生活梦想。 ZigBee 技术应用在数字家庭中,可使人们随时了解家里的电子设备状况,并可用于对家中病人的监控,观察病人状况是否正常以便作出反应。 ZigBee 传感器网络用语楼宇自动化可减低运营成本。 如:检点里遍布空调供暖( HVAC)设备,如果在每台空调设备上加上 ZigBee 节点,就能对这些空调系统进行实时控制,节约能源消耗。 此外,通过在手机上集成 ZigBee 芯片,可将手机作为 ZigBee 传感器网络的网关,实现对智能家庭的自动化控制、进行移动商务 (利用手机购物)等诸多功能。 据 BobHeile 介绍,目前意大利 TIM 移动公司已经推出了基于 ZigBee 技术的 Zsim 卡,用于移动电话与电视机顶盒、计算机、家用电器之间的通信及停车场收费等。 北京邮电大学毕业设计 3 设计概要 该智能小车是一辆双轮驱动的小车。 通过 ATmega16 主控芯片控制传感器输入输出的信号;使用 L298N 做为电机驱动; ZigBee 作为无线通讯装置; HJIR2 红外传感器用于发射和接收红外线。 以实现无线智能小车的无线操控以及智能避障功能。 本论文主要简述了无线智能小车中所使用的部分技术,即: QT 和 ZigBee 技术。 并且详细介绍了 ZigBee 串口通讯程序的编写流程。 最后,介绍了 ZigBee 模块电路的各个接口,以方便最终智能小车的组装。 北京邮电大学毕业设计 4 2 技术简介 QT 简介 QT 概念及其主要模块 QT 是一个 1991 年由奇趣科技开发的多平台的 C++图形用户界面应用程序框架。 广泛用于开发 GUI 程序,这种情况下又被称为部件工具箱。 也可用于开发非 GUI 程序,比如控制台工具和服务器。 它是 Digia 公司的产品。 QT 使用标准的 C++和特殊的代码生成扩展(称为元对象编译器 (Meta Object Compiler, moc))以及一些宏。 通过语言绑定,其他的编程语言也可以使用 QT。 QT 是自由且开放源代码的软件,在 GNU 较宽松公共许可证条款下发布。 所有版本都支持广泛的编译器,包括 GCC 的 C++编译器和 Visual Studio。 它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。 Qt 是完全面向对象的很容易扩展,并且允许真正地组件编程。 自从 1996 年早些时候, Qt 进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。 经过多年发展,Qt 不但拥有了完善的 C++图形库,而且近年来的版本逐渐集成了数 据库、 OpenGL 库、多媒体库、网络、脚本库、 XML 库、 WebKit 库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了 Qt 开发大规模复杂跨平台应用程序的能力。 QT 的主要模块有图形界面、信号与槽、布局管理、图形工具、障碍环境、语言系统、线程支持、言语绑定等模块。 QT 的发展历史 1996 OctKDE 组织成立 1998 Apr 05Trolltech 的程序员在 5 天之内将 从 Motif 移植到 Qt 上 1998 Apr 08 KDE Free Qt 基金会 成立 1998 Jul 09 Qt 发布 1998 Jul 12 KDE 发布 1999 Mar 发布 1999 Mar 12 Qt 发布 1999 Jun 25 Qt 发布 1999 Sep 13 KDE 发布 20xx Mar 20 嵌入式 Qt 发布 20xx Sep 06 Qt 发布 20xx Oct 05 Qt 发布 20xx Oct 30 Qt/Embedded 开始使用 GPL 宣言 20xx Sep 04 Qt free edition 开始使用 GPL 20xx Nokia 从 Trolltech 公司收购 Qt, 并增加 LGPL 的授权模式 20xx Digia 从 Nokia 收购了 Qt 的商业版权,从此 Nokia 负责 Qt on Mobile, Qt 北京邮电大学毕业设计 5 Commercial 由 Digia 负责,根据最新消息, NOKIA 已经停止 Meltemi系统开发, QT 部门被解散 20xx Aug 09 作为非核心资产剥离计划的一部分,诺基亚宣布将 Qt 软件业务出售给芬兰 IT 服务公司 Digia。 20xx 年 7 月 3 日 ,Digia 公司 Qt 开发团队在其官方博 客上宣布 Qt 正式版发布。 20xx 年 12 月 11 日 ,Digia 公司 Qt 开发团队宣布 Qt 正式版发布。 20xx 年 4 月 ,Digia 公司 Qt 开发团队宣布 Qt Creator 正式版发布。 QT 主要优势 QT 的主要优势有: ( 1)优良的跨平台特性: Qt 支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HPUX, Digital UNIX( OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390, QNX 等等。 ( 2)面向对象: Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。 ( 3)丰富的 API: Qt 包括多达 250 个以上的 C++类,还提供基于模板的 collections,serialization, file, I/O device, directory management, date/time 类。 甚至还包括正则表达式的处理功能。 ( 4)支持 2D/3D 图形渲染,支持 OpenGL。 ( 5)大量的开发文档。 ( 6) XML 支持。 QT 的主要模块 经过多年发展, Qt 不但拥有了完善的 C++图形库,而且近年来的版本逐渐集成了数据库、 OpenGL 库、多媒体库、网络、脚本库、 XML 库、 WebKit 库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了 Qt 开发大规模复杂跨平台应用程序的能力,真正意义上实现了其研发宗旨“ Code Less; Create More; Deploy Anywhere.”。 由于各家编译器良莠不齐。 Qt 本身为了跨平台兼容性,只能以“最低兼容规格”来设计。 因此 Qt 必须具备 RTTI、动态创建、 Persistence/Serialization 的基础建设,以及建构出自己的容器组件。 Qt 的图形用户界面的基础是 QWidget。 Qt中所有类型的 GUI 组件如按钮、标签、工具栏等都派生自 QWidget,而 QWidget 本身则为 QObject 的子类。 Widget 负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上。 每一个 GUI 组件都是一个 widget, widget 还可以作为容器,在其内包含其他 Widget。 QWidget 不是一个抽象类型。 并且可以被放置在一个已存在的用户界面中;若是Widget 没有指定父 Widget,当它显示时就是一个独立的视窗、或是一个顶层 widget。 QWidget 显示能力包含了透明化及 DoubleBuffering。 Qt 提供一种托管机制,当 Widget于创建时指定父对象,就可把自己的生命周期交给上层对象管理,当上层对象被释放时,北京邮电大学毕业设计 6 自己也被释放。 确保对象不再使用时都会被删除。 Qt 利用信号与槽( signals/slots)机制取代传统的 callback 来进行对象之间的沟通。 当操作事件发生的时候,对象会发提交一个信号( signal);而槽( slot)则是一个函数接受特定信号并且运行槽本身设置的动作。 信号与槽之间,则通过 QObject 的静态方法connect 来链接。 信号在任何运行点上皆可发射,甚至可以在槽里再发射另一个信号,信号与槽的链接不限定为一对一的链接,一个信号可以链接到多个槽或多个信号链接到同一个槽,甚至信号也可连接到信号。 以往的 callback 缺乏类型安全,在调用处理函数时,无法确定是传递正确型态的参数。 但信号和其接受的槽之间传递的数据型态必须要相符合,否则编译器会提出警告。 信号和槽可接受任何数量、任何型态的参数,所以信号与槽机制是完全类型安全。 信号与槽机制也确保了低耦合性,发送信号的类型并不知道是哪个槽会接受,也就是说一个信号可以调用所有可用的槽。 此机制会确保当在 连接 信号和槽时,槽会接受信号的参数并且正确运行。 布局管理类型用于描述一个应用程序的用户界面中的 Widget 是如何放置。 当视窗缩放时,布局管理器会自动调整 widget 的大小、位置或是字号,确保他们相对的排列和用户界面整体仍然 保有可用性。 Qt 内置的布局管理类型有: QHBoxLayout 、 QVBoxLayout 、 QGridLayout 和QFormLayout。 这些类型继承自 QLayout,但 QLayout 非继承自 QWidget 而是直接源于QObject。 他们负责 widget 的几何管理。 想要创建更复杂的版面配置,可以继承 QLayout来自定义版面配置管理员。 QHBoxLayout:配置 widget 成横向一列。 QVBoxLayout:配置 widget 成垂直一行。 QGridLayout:配置 widget 在平面网格。 QFormLayout:配置 widget。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。