转载,侵删

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. 『Pickle』数据结构持久化模块_常用方法记录

    可以把数据结构保存进文件并直接读出, 不论读取或者是保存,我们都需要借助open()函数,并且是二进制方式(‘wb’,‘rb’) json模块可以把字典结构改写为string然后保存,并可以反向读取字 ...

  2. dp练习(7)—— 最小和

    3415 最小和 CodeVS原创  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 青铜 Bronze 题解       题目描述 Description 小浣熊松松来到文具店, ...

  3. dubbo 心跳

    HeartBeatTask 类封装了心跳定时任务,需要了解的是 provider 和 consumer 都有可能发送心跳. final class HeartBeatTask implements R ...

  4. React Js 之JSX

    React使用JSX作为模板替换JavaScript,它不是必须的,但是它是推荐使用.原因如下: 1.它比传统的JavaScript更快,因为编译代码的时候,JSX做了相应的优化 2.它是类型安全的, ...

  5. Oracle连接知识

    Oracle基本连接知识   登录sys用户或 sysdba用户权限的账号   Sqlplus         建用户 Create user test identified by 12345678 ...

  6. 火狐浏览器访问网站出现 HTTP Error 400. The request is badly formed.错误,怎么解决

    今天在访问某个网站时,出现一个“HTTP Error 400. The request is badly formed.”错误, 那么应该如何解决呢? 1.问题描述: 用火狐浏览网站出现“”HTTP ...

  7. 返回最小的k个数

    对于一个无序数组,数组中元素为互不相同的整数,请返回其中最小的k个数,顺序与原数组中元素顺序一致. 给定一个整数数组A及它的大小n,同时给定k,请返回其中最小的k个数. 测试样例: [1,2,4,3] ...

  8. C#几种截取字符串的方法(split 、Substring、Replace、remove)

    C#截图字符串常用的方法有 split .Substring.Replace.remove等. split的使用: 1. Split( Char ()) 返回的字符串数组包含此实例中的子字符串(由指定 ...

  9. Vue 就地复用策略注意事项

    ---template部分 div el-popover(ref="message", placement="top-start", title="标 ...

  10. C# 使用cmd输入参数来执行控制台应用程序

    在外部可以使用cmd命令向C#控制台应用程序发送参数,并使之处理.main函数的形参一定要包含string[] args,否则该控制台应用程序不能接收外部参数.在使用cmd调用程序的时候,外部每个参数 ...