ZigBee网络拓扑结构显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二ZigBee网络拓扑结构显示
【实验目的】
1、熟悉Qt编写程序的方法;
2、了解Qt显示ZigBee网络拓扑结构的工作原理;
【实验设备】
1、装有RedHat AS5系统或装有RedHat AS5虚拟机的PC机一台;
2、物联网开发设计平台一套;
【实验要求】
使用Qt为ZigBee网络编写拓扑结构;
1、编程要求:使用提供的API函数编写应用程序;
2、实现功能:构建ZigBee网络拓扑结构;
3、实验现象:显示网络的拓扑结构;
【实验原理】
本实验箱针对Qt下,将服务程序的API做了一定的封装,并提供了非常方便使用的接口函数,可以让用户在Qt环境下绘制Zigbee网络的拓扑结构。这些函数都被封装在一个叫做TopologyWidget的类中,它们的详细介绍如下:
【函数原型】void TopologyWidget::SetTopologyArea(const QString &ip, QScrollArea *area); 【功能】设置用来显示拓扑图的滚动区域控件
【参数】ip: 运行服务程序的网关(计算机)的IP地址area: 用来显示拓扑图的滚动区域控件【返回值】无
【头文件】使用本函数需要包含"topologywidget.h"
【函数原型】void TopologyWidget::UpdateTopologyArea(QScrollArea *area);
【功能】立即刷新滚动区域控件中的拓扑图
【参数】area: 用来显示拓扑图的滚动区域控件
【返回值】无
【头文件】使用本函数需要包含"topologywidget.h"
在实际应用中,用户需要首先在界面中放置一个,假设其名称为“scrollArea”,只需要在窗体的构造函数中,完成了setupUi的操作之后,调用TopologyWidget::SetTopologyArea函数即可使拓扑图显示在这个滚动区域中,参考下面的代码。
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
// 将界面中的scrollArea设置为用来显示拓扑图
TopologyWidget::SetTopologyArea("127.0.0.1", ui->scrollArea);
}
【实验步骤】
1.双击打开桌面上的VMware Player。如图
2.1所示;
图2.1 VMWare Player
2.在弹出的界面中点击Open a Virtual Machine,如图2.2所示。
图2.2 Open a Virtual Machine 3.接下来点击Play virtual machine,如图2.3所示;
图2.3 Play virtual machine
4.等待片刻,当出现如图2.4时的界面时,输入用户名和密码。用户名是root ,密码是111111。
5、登录虚拟机后,双击桌面上的Qt Creator的图标,如图2.5所示;
图2.5 Qt Creator图标
6、在打开的主界面中,点击菜单栏的“File”,在弹出的下拉菜单中左键单击“New File or Project”,如图2.6所示:
图2.6 Qt Creator的新建工程
7、选择新建的文件类型,这里需要在左侧选择“Qt C++ Project”,并在右侧选择“Qt Gui Application”,如图2.7所示,并点击“Choose”
;
图2.7 选择工程类型
8、输入工程名称“Topology”,选择创建工程的路径,点击“Next”,如图2.8所示:
图2.8 创建工程
9、选择编译的方式,选中“Qt 4.7.0 OpenSource”是表示PC机的编译方式,选中“Qt 4.7.0 ARM”表示的是嵌入式版本的编译方式,一般两项都选择,点击“Next”继续,如图2.9所示:
图2.9 选择编译方式
10、选择基类为“QWidget”,其他可以默认,点击“Next”继续,如图2.10所示。
图2.10 Qt Creator的新建类名和基类
11、看到当前新建工程的目录结构,左键单击“finish”后完成工程的新建;如图2.11所示:
图2.11 完成工程新建
12、按 ctrl+alt 退出虚拟机,在电脑的开始菜单下面的运行中输入 cmd打开命令行,如图2.12所示。
图2.12 在运行中输入cmd
13、在命令行中输入 ipconfig ,然后按回车键,查看本机IP地址,如图2.13所示,此时本机IP地址为 192.168.87.1。
图2.13 本机IP地址查询
14、在虚拟机桌面上点击右键,选择打开终端,如图2.14所示。
图2.14 打开终端
15、在打开的终端中输入 ifconfig eth0 192.168.30.2 ,然后按回车键。注意,这一步是设置虚拟机的IP地址,使得虚拟机和电脑在同一个网段内(即将电脑IP地址最后一位修改为除0和255以及电脑IP以外的任何个小于255的正数),此时是设置为 192.168.87.2,如图2.15
所示。
16、按 ctrl+alt退出虚拟机,在开始菜单的运行中输入 \\192.168.87.2,回车,出现如
图2.16所示的登录界面,输入用户名和密码,用户名是 root,密码是 111111,登录后会出现一个文件夹窗口,这就是虚拟机的root文件夹。
图2.16 登录界面
17、将实验代码实验二代码\Topology文件夹下的“include”、“lib”、“topologywidget.cpp”、“topologywidget.h”和“topologywidget.ui”复制到上一步中出现的文件夹下的
/root/Topology 文件夹(第11步的工程文件夹)下,如图2.17所示。
图2.17 复制必要的文件
18、进入虚拟机,再进入Qt的窗体编辑界面,在控件区域中找到“Push Button”和“Scroll Area”分别拖动它们到主窗体中,并将按钮的文字修改为“refresh”,修改方法为双击放置的button 按钮,然后输入refresh。如图2.18所示: