使用USB无线网卡和USB摄像头打造mini2440无线监控系统
2024-06-27 来源:elecfans
一、我的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无线网卡的使用手册》见http://www.linuxidc.com/Linux/2011-08/41916.htm。(下载usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz)。不过,我不知道怎么回事,使用scan-wifi居然没有搜索到我的无线路由器,后来我看到http://www.linuxidc.com/Linux/2011-03/33931.htm这篇帖子,就模仿其中的命令连接到了我的无线路由,不过由于我的无线路由的密码使用的是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文档上面的说明自己去试验吧。
本文相关的《笔记本电脑Ad-Hoc(点对点)模式组网方案》PDF与usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz下载在
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /pub/2011/08/31/使用USB无线网卡和USB摄像头打造mini2440无线监控系统/
三、最后,还有一点要说明的是要想在无线下面通过网页查看摄像头,直接在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.linuxidc.com /]# 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.linuxidc.com /]# ifconfig wlan0 up
[root@ www.linuxidc.com /]# 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.linuxidc.com /]# ifconfig wlan0 down
[root@ www.linuxidc.com /]# iwconfig wlan0 key off
[root@ www.linuxidc.com /]# iwconfig wlan0 mode ad-hoc
[root@ www.linuxidc.com /]# iwconfig wlan0 channel 1
[root@ www.linuxidc.com /]# iwconfig wlan0 essid 'UbuntuWIFI'
[root@ www.linuxidc.com /]# ifconfig wlan0 192.168.0.222 netmask 255.255.255.0
[root@ www.linuxidc.com /]# 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.linuxidc.com /]# cd home/plg/mjpg-streamer/
[root@ www.linuxidc.com mjpg-streamer]# ls
LICENSE mjpg_streamer start_uvc.sh
input_s3c2410.so output_file.so start_uvc_yuv.sh
input_testpicture.so output_http.so www
input_uvc.so start_s3c2410.sh
[root@ www.linuxidc.com mjpg-streamer]# ./start_uvc.sh &
[root@ www.linuxidc.com 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.linuxidc.com mjpg-streamer]#
一切就绪后,在没有无线路由器的情况下,也可观看远程USB摄像头中的无线监控视频了