当前位置:文档之家› ZigBee网络拓扑结构显示

ZigBee网络拓扑结构显示

实验二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 Player2.在弹出的界面中点击Open a Virtual Machine,如图2.2所示。

图2.2 Open a Virtual Machine 3.接下来点击Play virtual machine,如图2.3所示;图2.3 Play virtual machine4.等待片刻,当出现如图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 在运行中输入cmd13、在命令行中输入 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所示:图2.18 设计拓扑图显示界面19、点击主界面的空白处,使得主界面的四周出现正方形的标志,此时可以看到主界面上方的“Lay Out Vertically”按钮处于可以点击的状态,如图2.19所示;图2.19 为主窗体设置布局20、点击“Lay Out Vertically”按钮,主窗体中的滚动区域控件和按钮控件将以垂直方式布局,如图2.20所示;图2.20 垂直布局后的主界面21、在Qt Creater的左侧点击“Edit”,可以切换到工程文件管理界面,我们需要为主界面编写代码,如图2.21所示;图2.21 切换到工程文件管理界面22、首先将之前复制的TopologyWidget相关的文件添加到工程中,在工程目录结构的根部,即工程名的位置,点击鼠标的右键,选择“Add Existing Files…”,如图2.22所示;图2.22 添加文件到工程123、在弹出的对话框中,选择“topologywidget.cpp”、“topologywidget.h”以及“topologywidget.ui”三个文件,并点击“打开”,如图2.23所示;图2.23 添加文件到工程224、在工程目录结构中找到“Topology.pro”文件,双击打开它,如图2.24所示;图2.24 打开Topology.pro 25、在Topology.pro文件中,添加图2.25所示的代码;图2.25 添加链接库信息26、在工程目录结构中的“Sources”文件夹中,找到“widget.cpp”文件,双击打开它,如图2.26所示;图2.26 打开widget.cpp27、在widget.cpp文件中添加图2.27所示的两行代码;图2.27 为widget.cpp添加代码28、在工程目录结构中的“Forms”文件夹中,找到“widget.ui”文件,双击它,回到主界面的编辑界面,如图2.28所示;图2.28 双击ui文件可以回到界面编辑状态29、在主界面中的按钮上点击鼠标右键,在弹出的菜单中选择“Go to slot…”,如图2.29所示;图2.29 为按钮添加处理代码130、在弹出的界面中选择“clicked()”,并点击OK,如图2.30所示;图2.30 为按钮添加处理代码231、此时,会自动回到代码编辑状态,同时,Qt Creator已经为我们添加了一个函数,如图2.31所示,该函数当按钮被点击时会被调用;图2.31 为按钮添加处理代码332、在这个函数中,添加图2.32所示的代码;图2.32 为按钮添加处理代码433、点击左下角的编译选择按钮,并在“Build”下拉列表中选择“Qt for ARM Release”,以便可以编译实验箱可以运行的可执行程序,如图2.34所示;编译选择按钮图2.33 选择编译类型34、点击图2.34所示的左下角的“Build All”按钮,即可开始编译实验箱运行的版本。

编译图2.34 点击编译按钮35、当看到编译选择按钮上方的进度条变成绿色,即表示编译完成,如图2.35所示。

进度条图2.35 编译完成36、在工程的保存目录中,可以找到一个名为“Topology-build-desktop”的文件夹,如图2.36所示。

编译生成的可执行程序“Topology”即在此文件夹中。

图2.36 目标文件夹37、将实验箱用网线和白色USB线与电脑连接起来,如图2.37所示。

网线与PC机相连白色USB线与PC机相连图2.37 实验箱与PC机连接38、打开PC机超级终端。

如图2.38所示。

39、设置超级终端名称。

任意名即可,如图2.39所示。

图2.39 设置连接名称40、选择端口。

例如:自己USB端口转换后为COM1,就选择COM1(可在设备管理器中查看),如图2.40所示。

图2.40 设置COM口41、设置端口属性。

每秒位数设置115200,数据流控选择无,如图2.41所示。

图2.41设置端口属性42、此时将实验箱电源打开可看到如图2.42所示的启动信息。

图2.42 启动信息43、当出现如图2.43所示的信息时,输入用户名和密码登录,用户名是 root。

密码是 111111。

需要注意的是,在输入密码时不会有显示。

图2.43 登录界面44、在超级终端中输入 ifconfig eth0 ,查看实验箱IP,如果出现如图2.44所示的界面,则需配置IP地址,配置方法为在超级终端中输入ifconfig eth0 –i 192.168.87.130 –m 255.155.255.0 –g 192.168.87.1。

相关主题