转载,侵删

7 无线wifi传输视频开发

MT7601的驱动源码提供了两种:AP模式和STA模式源码。此时我使用USB作为AP热点,电脑作为STA模式,并使用ORTP实现无线传输视频

7.1、AP模式下USB WIFI驱动移植

(1)准备wifi源码并将源码复制到ubuntu服务器下解压

源码在主机的:E:\winshare\HI3518EV200\MT7601_driver\下,此后打开Ubuntu终端,并执行以下命令:
cd /home/aston/sambashare[进入目标目录]
cp /mnt/hgfs/winshare/HI3518EV200/MT7601_driver/ ./ -rf[复制到ubuntu]
cd MT7601_driver/ap[进入AP模式源码目录]
tar -jxvf MT7601U_LinuxAP_3.0.0.1_20130802.tar.bz2[解压wifi源码]
cd MT7601U_LinuxAP_3.0.0.1_20130802/[进入源码目录]

(2)根据硬件条件对源码作出修改以适应硬件平台

步骤一:在include/rtmp_def.h中的1627行,修改完网络名始终为:wlan:
Sudo vi include/rtmp_def.h[打开目标头文件]
:1627[跳到1627行]
将下面的

#ifdef ANDROID_SUPPORT
#define INF_MAIN_DEV_NAME “wlan”
#define INF_MBSSID_DEV_NAME “wlan”
#else
#define INF_MAIN_DEV_NAME “ra”
#define INF_MBSSID_DEV_NAME “ra”
#endif

第一句和后面四句用//注释掉

(3)进入makefile目录,编译并修改错误

Cd ../Makefile ./ [进入源码根目录]
Make clean;make [清除并编译]
错误提示:linux/rt_profile.c:26:23: 致命错误: rt_config.h:没有这样的文件或目录
推测:cd os/linux [发现rt_profile.c]
Sudo vi rt_profile.c [打开 rt_profile.c源码文件]
: 26[跳转至第26行,发现#include "rt_config.h" ,即包含了rt_config头文件]
Cd ../../include [进入源码的头文件总目录,发现已经有了"rt_config.h"头文件,但是编译时找不到这个头文件,因此这个错误应该是编译没有把这个头文件链接包含进去,导致找不到这个文件 ]
解决:在./os/linux/config.mk中添加EXTRA_FLAGS
Cd os/linux
Sudo vi config.mk[打开wifi源码配置文件]
/DM6446[搜索关键字DM6446]
在DM6446平台架构之上添加HI3518E支持[1048行],如下:
ifeq ($(PLATFORM),HISI_3518E)
EXTRA_CFLAGS := $(WFLAGS) //指定预定义变量EXTRA_CFLAGS作为C编译器选项编译HI3518E源码树
endif
Cd ../../ [重新进入源码根目录]
Make clean;make [清除并编译]

(4)修改Makefile或者手工复制xx.ko到/home/aston/rootfs中

ls /os/linux/*.ko[发现os/linux/mt7601Uap.ko驱动已经生成]
sudo vi Makefile
/ko [搜索关键词ko]
将原来415行的内容改成:
cp -f $(RT28xx_DIR)/os/linux/mt$(MODULE)ap.ko /home/aston/rootfs [将生成的ko驱动挂载到 /home/aston/rootfs共享目录中]
Make[重新编译]
Cd /home/aston/rootfs[进入共享目录]
Ls [发现mt7601Uap.ko已经复制到了共享目录中去了]

7.2、AP模式下USB WIFI开发板部署

(1)测试wifi硬件是否能够正常使用

将开发板连上电脑,并进入Hilinux模式:
A:不插wifi时,串口输入命令lsusb,此时显示
Bus 001 Device 001:ID 1d6b:0002
Bus 001 Device 001:ID 1d6b:0001
B:现在插入wifi,会提示新高速USB设备002即hiusb-ehci.
这时执行命令:lsusb,发现新增加一个设备
Bus 001 Device 002:ID 148f:7601[这就是wifi设备,它的ID时002]

(2)将USB WIFU的AP模式驱动部署到开发板上

A:Ubunu:复制配置文件RT2870AP.dat文件到nfs共享文件夹中
Cd/home/aston/sambashare/MT7601_driver/ap/MT7601U_LinuxAP_3.0.0.1_20130802 [进入目标目录]
cp RT2870AP.dat ~/rootfs/ -f [将RT2870AP.dat复制到共享目录中]

B:Hilinux中执行命令建立目录
cd /mnt [进入mnt共享目录]
Ls [发现RT2870AP.dat已经复制进入了此目录]
mkdir -p /etc/Wireless/RT2870AP [建立目标目录]
cd /etc/Wireless/RT2870AP/ [ls查看此目录发现为空目录]
cp /mnt/RT2870AP.dat ./ [从共享目录中复制配置文件到当前目录]
Ls [RT2870AP.dat文件,说明复制成功了]
vi RT2870AP.dat [更改这个文件,因为默认没有密码,不安全,要改成带密码的,按照以下方式修改]
SSID=MT7601AP_WPA(这里的名字是在pc机上看到的连接ssid名)AuthMode=WPA2PSK(加密方式)
EncrypType=TKIP;AES(加密算法)
WPAPSK=1234567890(这个是密码)

C:insmod xx.ko安装USB WIFI驱动模块
cd /mnt/
insmod mt7601Uap.ko [装载驱动]
lsmod[在最前面发现了mt7601Uap驱动模块已经安装]
ifconfig -a[发现有eth0,lo和wlan0三个网卡,即有wlan0目标网卡生成,说明安装成功]

D:设置IP地址
ifconfig wlan0 192.168.0.100[设置无线网卡wlan0的IP地址]
ifconfig wlan0 up[唤醒无线网卡wlan0]
ifconfig [发现wlan0网卡的inet addr地址为192.168.0.100,证明设置成功,注此时eth0的ip地址时192.168.1.10,即开发板的有线网卡和无线网卡都在工作了,注ifconfig是查看已经工作的网卡,ifconfig -a是查看所有的网卡]
windows和开发板都有一个无线网卡和一个有线网卡,它们彼此独立,可以同时工作。开发板和主机windows要处在同一个网段[局域网]
无线:
windows: 192.168.0.30
AP: 192.168.0.100

E:用PC或手机的WIFI搜索看一下,是否有一个名为:MT7601AP_WPA的网络了,有了就成功了,但是输入密码之后会提示连接不成功[此计算机当前已将连接限制为MT7601AP_WPA],其实当前已经连接成功了,但是此时的AP还是不能访问外网,所以会提示有限的访问权限。
主机上选择打开网络共享中心,点击无线网络连接(MT7601AP_WPA),选择详细信息,发现自动分配的IP地址时169.254.158.163,子网掩码时255.255.0.0,即全部都是乱的,因此需要给PC端强制分配一个静态IP地址。

F:给PC强制分配静态IP
主机上选择打开网络共享中心,点击无线网络连接(MT7601AP_WPA),选择属性,选择Internet协议版本4(TCP/IPv4),选择"使用下面的IP地址",指定ip地址为162.168.0.30,指定子网掩码为255.255.255.0,点击确定,点击确定,确定,选择详细信息,发现此时的ip地址为192.168.0.30,子网掩码为255.255.255.0,证明设置成功了。然后关闭对话框。此时的开发板和window已经通过无线wifi连接通了。

8 效果

7 无线wifi传输视频开发的更多相关文章

  1. 通过BSSID和无线流量传输后门Payload

    本文将探讨无线接入点(AP)和BSSID(MAC地址AP).我们不借助文件系统加密和文件系统中(仅内存中)的硬编码Payload即可获得后门Payload,通过该方法可绕过所有的杀软,可以不使用Pay ...

  2. 13-H.264编码解码器的无线应用:1080P60 3D无线影音传输器

    H.264编码解码器的无线应用:1080P60 3D无线影音传输器 一.应用领域 家庭媒体娱乐中心 新闻现场采访 无线3D投影机 高清视频会议终端无线延长器 教学,医疗示教 考古,高档商业区域,监狱等 ...

  3. Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  4. Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  5. 浅谈iOS视频开发

     浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ...

  6. Android IOS WebRTC 音视频开发总结(六)-- iOS开发之含泪经验

    前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...

  7. 无线 WIFI 的13个信道频率范围

    目前主流的无线WIFI网络设备不管是802.11b/g还是802.11b/g/n 一般都支持13个信道.它们的中心频率虽然不同,但是因为都占据一定的频率范围,所以会有一些相互重叠的情况.下面是13个信 ...

  8. WebRTC 音视频开发

    WebRTC 音视频开发 webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译 ...

  9. iOS 视频开发学习

    原文:浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我 ...

随机推荐

  1. page上BeanId与ActionType中的ParameterId

    今天遇到一件有意思的异常. 一个基于EO的VO在页面加载进来之后就CreateRow了一行数据,主键HeaderId也相应的插入了值,但是在保存的时候,老是报HeaderId不能为空的异常. 经查,页 ...

  2. 教你一步一步用 Node.js 制作慕课网视频爬虫

    转自:http://www.jianshu.com/p/d7631fc695af 开始 这个教程十分适合初学 Node.js 的初学者看(因为我也是一只初学的菜鸟~) 在这里,我就默认大家都已经在自己 ...

  3. synchronized锁普通方法和锁静态方法

    1.对象锁钥匙只能有一把才能互斥,才能保证共享变量的唯一性 2.在静态方法上的锁,和 实例方法上的锁,默认不是同样的,如果同步需要制定两把锁一样. 3.关于同一个类的方法上的锁,来自于调用该方法的对象 ...

  4. HTML绘制三角形的方法:

    <!DOCTYPE html> <html> <body> <style> #triangle-up { width: 0px; height: 0px ...

  5. 7dynamic_cast用法

    已知下面的class层次,其中每一个class都定义有一个default constructor和一个virtual destructor: class X{……}; class A{……}; cla ...

  6. bzoj1464

    题解: 简单bfs 显然不能到负数 也不能超过k两倍 代码: #include<bits/stdc++.h> using namespace std; ; int b[N],vis[N], ...

  7. Python Django 前后端数据交互 之 HttpRequest、HttpResponse、render、redirect

    在使用三神装的时候,首先当然是得要导入它们: from django.shortcuts import HttpResponse, render, redirect   一.HttpRequest捕获 ...

  8. 添加MyEclipse WebSphere Portal Server支持(二)

    MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 三.支持WebSphere Portal部署 当您为WebSphere Portal 7.0或8. ...

  9. HTML项目总结

    一些存在的可以改进的地方: 达到一个效果不必要墨守成规,比如:

  10. nwjs问题总结

    1.iframe中不支持flash解决方法: nw初始化中加入代码: // 设置flashplayer在iframe中可用 chrome.contentSettings.plugins.set({ p ...