红联Linux门户
Linux帮助

使用USB无线网卡和USB摄像头打造mini2440无线监控系统

发布时间:2014-12-14 15:30:30来源:linux网站作者:star2523

一、我的mini2440开发板上使用的网卡设备为水星MERCURY54M无线USB网卡 MW54U ver:7.0,其内部芯片型号为ATHEROS的ar9271。mini2440的自带linux系统里面是没有这个驱动程序的,但是在官网上usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz这个安装包里面是有ar9271这个驱动的。

所以首先就得,先把usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz这个压缩包拷贝到mini2440的linux系统中,然后直接在根系统下面解压缩,使用以下命令:

#tar  -xzvf  usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz  -C  /

然后到目录 /lib/firmware/ 下面可以看到这个 ar9271.fw 和 rt73.bin 文件,使用 ls -l 命令可以看到它们不是一个可执行文件, 所以为了使用网卡,必须使用以下命令修改它们的可执行权限:

#chmod  a+x  ar9271.fw#chmod  a+x  rt73.bin

之后,可以参考 《基于mini2440上使用USB无线网卡的使用手册》。(下载usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz)。不过,我不知道怎么回事,使用scan-wifi居然没有搜索到我的无线路由器,模仿其中的命令连接到了我的无线路由,不过由于我的无线路由的密码使用的是ASCII五位字符加密,所以得把其中的 iwconfig wlan0 key 123456  改为 iwconfig wlan0 key s:xxxxx  最后才得以联通我的无线路由。


二、至于我的USB摄像头,插到mini2440上,显示其驱动编号为1c4f:3002,可以被识别,使用开发板linux自带的USB摄像头软件也可以直接查看到图像,所以我算是省了查找USB摄像头驱动这一个步骤。

现在两个设备都已成功连接了,到了mini2440开发板自带linux发挥作用的时候了,在其用户光盘中有《通过网络浏览CMOS或USB摄像头-20100405》这样一个PDF文件,其中就说明了通过网页浏览mini2440摄像头的说明,也就是说mini2440自带linux里面有一个Boa服务器,可以提供网页监控摄像头的功能。由于每个人的摄像头都不一样,所以各位就按照那个PDF文档上面的说明自己去试验吧。


三、最后,还有一点要说明的是要想在无线下面通过网页查看摄像头,直接在PC机上输入当前wlan0的IP地址再加上8080端口(例:http://192.168.0.230:8080),就可以看到一个名叫MJPG-Streamer的网页,点击Stream或是Javascript按钮,就可以观看到无线摄像头里面拍摄到的内容了。 至此,mini2440无线监控系统大功告成已!


四、补充说明:以上方法是在PC机的WINDOWS环境下,使用无线路由器搭建的wifi下进行的实验。 下面介绍一下我使用Windows中搭建的wifi无线网络打造的无线监控系统的设计方法:

(搭建方法,请大家自行搜索相关wifi共享软件,我使用的是联想笔记本配送的闪联2.0,也可以不用安装软件,但稍稍麻烦点,可以参考一下《笔记本电脑Ad-Hoc(点对点)模式组网方案》PDF这篇文章,其中一个关键步骤就是:你得在分享wifi的主机的无线网络属性设置中将数据加密设置为禁用,因为经过我多次试验证明,在Ad-hoc网络中,mini2440开发板linux只要是连接了加密的网络后,立刻会出现以Unable to handle kernel NULL pointer dereference at virtual address 00000008 ..............一大堆出错信息,即使电脑显示无线网络已经连接,但是也ping不通开发板,更不用说打开mini2440的摄像头监控网页了,然后还得在“选择无线网络”这个网络列表中,将这个刚刚设置好的网络选中连接。最后才是对开发板一端进行设置,详细的设置命令请看后面的文章)

至此,我的开发板usb无线网卡就可以连接到这个Ad-hoc无线网络了。


五、后来我又进入我在PC机Ubuntu/linux环境下,由Ubuntu构建了一个wifi热点,搭建方法如下:ubuntu的wifi设置

1、点击任务栏的网络连接图标,在弹出菜单中先“创建新的无线网络。”

2、然后输入任意的网络名称以及访问密码。

3、在菜单-》选项-》网络连接-》-》无线-》(新创建的网络名称),点击编辑,确认“方法”的下拉框为“与其他计算机共享”。

而mini2440开发板一方的设置,命令步骤如下所述:


复制代码

[root@ www /]# modprobe ath9k_htc
cfg80211: Calling CRDA to update world regulatory domain
usb 1-1.4: ath9k_htc: Transferred FW: ar9271.fw, size: 51280
usb 1-1.4: ath9k_htc: HTC initialized with 33 credits  
cfg80211: Calling CRDA for country: CN 
Registered led device: ath9k-phy0::radio
Registered led device: ath9k-phy0::assoc
Registered led device: ath9k-phy0::tx  
Registered led device: ath9k-phy0::rx  
usb 1-1.4: ath9k_htc: USB layer initialized
usbcore: registered new interface driver ath9k_hif_usb
[root@ www /]# ifconfig wlan0 up
[root@ www /]# iwlist wlan0 scan
wlan0 Scan completed : 
Cell 01 - Address: 02:16:6F:46:B5:37 
Channel:1  
Frequency:2.412 GHz (Channel 1)
Quality=28/70  Signal level=-82 dBm
Encryption key:off 
ESSID:"UbuntuWIFI" 
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Ad-Hoc
Extra:tsf=0000000013353418 
Extra: Last beacon: 5730ms ago 
IE: Unknown: 000A5562756E747557494649  
IE: Unknown: 010482840B16  
IE: Unknown: 030101
IE: Unknown: 06020000  
IE: Unknown: 2A0100
IE: Unknown: 32080C1218243048606C
[root@ www /]# ifconfig wlan0 down  
[root@ www /]# iwconfig wlan0 key off
[root@ www /]# iwconfig wlan0 mode ad-hoc
[root@ www /]# iwconfig wlan0 channel 1 
[root@ www /]# iwconfig wlan0 essid "UbuntuWIFI"
[root@ www /]# ifconfig wlan0 192.168.0.222 netmask 255.255.255.0  
[root@ www /]# ping 10.42.43.1  
PING 10.42.43.1 (10.42.43.1): 56 data bytes
64 bytes from 10.42.43.1: seq=1 ttl=64 time=3.733 ms
64 bytes from 10.42.43.1: seq=2 ttl=64 time=3.585 ms
64 bytes from 10.42.43.1: seq=3 ttl=64 time=3.587 ms
64 bytes from 10.42.43.1: seq=4 ttl=64 time=4.598 ms
^C 
--- 10.42.43.1 ping statistics --- 
5 packets transmitted, 4 packets received, 20% packet loss 
round-trip min/avg/max = 3.585/3.875/4.598 ms  
[root@ www /]# cd home/plg/mjpg-streamer/
[root@ www mjpg-streamer]# ls
LICENSE   mjpg_streamer start_uvc.sh
input_s3c2410.so  output_file.sostart_uvc_yuv.sh
input_testpicture.so  output_http.sowww
input_uvc.so  start_s3c2410.sh 
[root@ www mjpg-streamer]# ./start_uvc.sh & 
[root@ www mjpg-streamer]# MJPG Streamer Version.: 2.0  
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480  
i: Frames Per Second.: 5  
i: Format............: MJPEG  
o: www-folder-path...: ./www/ 
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled
[root@ www mjpg-streamer]# 

一切就绪后,在没有无线路由器的情况下,也可观看远程USB摄像头中的无线监控视频了。