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

时间:2022-01-16 16:03:51
 一、  我的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 

       之后,可以参考http://www.arm9home.net/read.php?tid-7237.html这个网址下载 《基于mini2440上使用USB无线网卡的使用手册》。(usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz也可以在这个网址里面下载)。不过,我不知道怎么回事,使用scan-wifi居然没有搜索到我的无线路由器,后来我看到http://www.arm9home.net/read.php?tid-1305.html这篇帖子,就模仿其中的命令连接到了我的无线路由,不过由于我的无线路由的密码使用的是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(点对点)模式组网方案》这篇文章,其中一个关键步骤就是:你得在分享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开发板一方的设置,命令步骤如下所述: 

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



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