- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
物联网综合实训专用周实训手册
实训一:WIFI驱动加载及应用
教学目的
掌握LINUX系统用户、任务、设备管理、系统环境设置及相关命令的使用;
掌握LINUX系统交叉编译化境设置;
掌握LINUX系统下设备驱动的移植;
掌握QT Creator开发环境设置;
掌握QT应用项目创建、界面制作、编程调试
掌握ARM QT应用程序运行环境设置;
教学内容
LINUX系统用户、任务、设备管理、系统环境设置及相关命令的使用;
LINUX系统交叉编译化境设置;
LINUX系统下设备驱动的移植;
QT Creator开发环境设置;
ARM QT应用程序运行环境设置;
WIFI驱动的交叉编译及移植;
WIFI QT应用的开发及移植;
实训准备材料
USB转串口线
USB 无线网卡(TP-LINK TL-WN322G+)及源码包
RT2870STA.dat,rt5370sta.ko(无线网卡ARM驱动文件)
QT 4.7
arm-linux-gcc4.4.3
wenquanyi
setqt4env
实训内容
使用QT开发一个应用,能实现对给定USB 无线网卡驱动的加载,并与指定的无线AP组网,组网效果采用ping命令进行测试, ping方节点IP地址时能正常返回信息说明组网成功,完成实训一。
4.1 LINUX下基本的加载过程
insmod 驱动的位置(/etc/Wireless/RT…/*.ko) *.dat-(生成设备名 ra0
iwlist ra0 scan-(当前无线接入点有那些 ESSID (”tc203”)
iwconfig ra0 essid “tc203”
iwconfig ra0 key s:…..
iwconfig ra0 key open
ifconfig ra0 192.168.0.xx
4.2 QT应用开发(PC)
QT Creator,开发环境
功能调试环境:gcc+qmake(qmake4.8.3),负责语法及功能调试
交叉编译环境:arm-linux-gcc4.4.3,arm-qmake(qmake4.7.3)
4.2.1交叉编译环境设置
解压arm-linux-gcc4.4.3.tgz文件
设置系统全局环境PATH变量
解压QT 4.7.tgz,设置QT ARM版本
4.3 QT WIFI运用开发
界面,界面制作整体为tab控件(容器),左右为frame控件(容器),在frame控件中添加标签、文本、按钮控件,采用这种形式外观整洁,便于排版。
代码
4.4 组网测试
在实训室架设一个AP(无线接入点),ESSID为“tc203”,IP地址为“192.168.0.1”,无密码,学生对其WIFI进行测试时加入该AP组成网络,IP地址设置为“192.168.0.XX”形式,子网掩码为“255.255.255.0”,在控制台输入ping命令进行测试,”ping 192.168.0.1”。
4.5 QT应用运行(ARM)
QT4.7(/opt/ 运行环境,程序应用需要很多的库文件 /opt/Qt4.7/lib
setqt4env(/bin 环境的设置脚本,每次须首先运行该文件 . setqt4env
支撑中文(wenquanyi /opt/Qt4.7/lib/fonts/ (U盘拷贝)
RT2870STA.dat,rt5370sta.ko( /etc/Wireless/ RT2870STA (U盘拷贝)
程序运行(qws 程序名 –qws
4.6 代码
示例
void MainWindow::on_loadDrivepushButton_clicked()
{
QString cmd=ui-loadDrive-text();
shell=new QProcess();
qDebug()cmd;
// shell-setProcessChannelMode(QProcess::MergedChannels);
shell-start(cmd);
connect(shell,SIGNAL(readyRead()),this,SLOT(readProcessOut()));
if (!shell-waitForStarted())
{
qDebug()Process start failed!;
}
if (!shell-waitForFinished())
{
qDebug()Process can not finish!;
}
shell-close();
}
实训二:串口操作
教学目的
掌握LINUX系统用户、任务、设备管理、
文档评论(0)