Linux和Android手機終端的WiFi視頻監控系統資料下載
2021-04-13 |
pdf |
312.42KB |
次下載 |
2積分
資料介紹
引言近年來,隨著嵌入式技術、無線通信技術和多媒體技術的快速發展,視頻監控正在向著數字化、網絡化、無線化方向發展[1]。由于嵌入式系統具有集成度高、功耗低、體積小等優點,再結合無線網絡組網靈活、可擴展性好的優勢,無線視頻監控與有線視頻監控系統相比,體現出了無法比擬的優越性[2]。本系統利用USB攝像頭采集數據。由于S3C6410處理器內置了(高性能多媒體處理器)硬件編解碼模塊MFC(MultiFormat Codec),其將采集到的圖像數據壓縮為高效的H.264編碼格式,在S3C6410處理器的控制下通過WiFi發送至無線網絡,這樣用戶可隨時隨地通過Android手機客戶端實現實時的視頻監控。1 系統總體設計本設計采用服務器/客戶端的架構,服務器以S3C6410開發板為控制板,以Android手機為客戶端,服務器和客戶端通過WiFi進行通信。服務器由嵌入式硬件平臺、嵌入式操作系統和應用程序組成。硬件部分由S3C6410主控制板、USB攝像頭、WiFi組成;操作系統由s3cLinux2.6.23內核、YAFFS文件系統、攝像頭驅動程序、MFC驅動程序、網卡驅動程序組成;應用程序由視頻采集、視頻壓縮編碼和數據發送程序等組成。采用WiFi無線網絡作為傳輸媒介,通過無線網卡接入到接入點AP。客戶端為Android手機,利用Android提供的各種API函數來實現功能要求[3]。USB攝像頭采集視頻數據,經過內置的DSP芯片處理將其轉化為YUV格式的圖像,再通過USB接口傳送到主控制板上。主控制板通過內置的MFC模塊將YUV格式圖像壓縮為H.264編碼格式,并對視頻數據進行處理、存儲,然后利用WiFi將其發送至無線網絡。Android手機客戶端,通過客戶端軟件可以實時讀取視頻流。服務器和客戶端都采用宿主機和目標機的交叉開發模式[4]。本文的研究分以下幾步進行:① 系統環境的搭建,包括Bootloader、內核、根文件系統的移植;② USB攝像頭驅動程序、MFC驅動程序、網卡驅動程序的移植;③ V4L2的視頻采集和H.264的視頻壓縮編碼;④ RPT協議的數據傳送;⑤ Android手機客戶端的數據接收和界面顯示。2 系統基本網絡拓撲WiFi是一種成本低、傳輸速率較高、可靠性高、組網靈活、擴展性強的短距離無線通信技術。WiFi有兩種基本工作模式,Ad hoc自組網絡模式和Infrastrcucture組網模式。本系統采用有線和無線相結合的開發模式,WiFi采用Infrastrcucture模式組網,以無線路由作為接入點AP。服務器通過無線網卡與接入點AP相連,接入點AP通過有線鏈路與IP網絡連接,接入到互聯網。AP將無線鏈路和有線鏈路連接起來,組網方案如圖1所示。視頻流通過無線鏈路發送到接入點AP,這樣Android手機端可以通過3G或WiFi網絡實現遠程的實時視頻監控。3 系統硬件設計硬件系統主要由S3C6410微控制器及其外圍電路、USB攝像頭、USB無線網卡、Android手機等組成。考慮到視頻數據的存儲選用1 TB的移動硬盤作為存儲介質,硬件組成框圖如圖2所示。3.1 S3C6410微控制器及其外圍電路S3C6410是一款以ARM1176為處理器核,低功耗、高性價比的RSIC微處理器,提供了存儲控制器、USB控制接口以及豐富的外設接口,內置了多格式編解碼器MFC。NAND Flash用于存儲系統程序,SDRAM則用于存儲系統運行時的程序,JATG接口用于燒寫程序,RS232接口用于與PC機進行交互[5]。3.2 攝像頭由于MFC只能從YUV數據轉化為H.264格式,所以攝像頭采用輸出格式為YUV的USB攝像頭。此類USB攝像頭由圖像傳感器芯片和DSP芯片兩部分組成。景物的光學圖像照射在圖像傳感器上,產生電信號,經A/D轉換器轉化為數字信號,經DSP芯片處理加工生成YUV格式的圖像,通過USB傳送至主控制板。3.3 無線網卡本系統采用USB接口的TPLink TLWN322G WiFi無線網卡,傳輸速率為54 Mbps。較高的傳輸速率足以滿足視頻信息的傳輸要求,覆蓋范圍室內最遠100 m,室外最遠300 m。在微控制器的控制下,將其連接到無線路由,無線路由與互聯網連接。3.4 Android手機客戶端Android是以Linux為內核的手機操作系統,由于其源代碼的開放性和豐富的硬件選擇,促進了Android應用的快速發展[6]。基于Linux的Android手機可以與各種嵌入式Linux系統進行通信,手機Android成為視頻監控系統的主流[7]。4 系統軟件設計服務器端視頻采集與編碼分為硬件部分和軟件部分。硬件部分負責視頻數據的采集、編碼;軟件部分負責基本系統環境的建立、視頻流的獲取及發送。客戶端軟件部分負責視頻數據的獲取、解碼及顯示。4.1 系統環境和驅動程序的移植本系統采用Bootloader引導系統、s3cLinux2.6.23內核、YAFFS文件系統來構建嵌入式系統環境。Linux操作系統可根據硬件需求進行軟件裁減,構建合適的軟件環境。首先,執行make menuconfig,選擇Multimedia support下的選項支持UVC攝像頭,在USB support、HID Devices、SCSI device support中添加對USB總線驅動的支持,選擇USB support、HID Devices、SCSI device support下的選項支持MFC驅動。然后,執行make uImage,編譯生成內核。4.2 V4L2視頻采集程序的設計視頻采集程序采用V4L2視頻驅動標準,基本流程是:打開視頻設備→設置格式→處理數據→關閉設備。通過Linux系統提供的open、ioctl函數來訪問視頻設備。Linux設備用文件表示,視頻設備在/dev/video目錄下,可以像普通文件一樣去讀寫。采集到的圖像信息是YUV420格式的,MFC可以直接對其進行壓縮。具體步驟如下:① 調用函數open(“/dev/video0”,O_RDWR|O_NOBLOCK,0),以可讀可寫、非阻塞的方式打開視頻設備。② 設定視頻設備屬性,調用ioctl(fd,VIDIOC_S_FMT,&fmt)設置視頻格式,ioctl(fd,VIDIOC_REQBUFS,&req)分配內存空間,mmap(NULL,buf.length,PROT_READ|PROT_WRITE,MAP_SHARED,fd,buf.m.offset)將物理地址轉化為內核地址。③ 程序采用雙緩存的機制來采集數據,ioctl(fd,VIDIOC_DQBUF,&buf)將緩沖中的數據發送出去。與此同時,ioctl(fd,VIDIOC_DQBUF,&buf)采集一段數據放到另一個緩存中。此方法可以提高程序執行的效率。④ 調用close(fd)來關閉視頻設備。4.3 H.264視頻壓縮程序的設計USB采集的視頻流數據量非常大,若直接傳輸會增加系統負擔,難以滿足實時性要求。在嵌入式系統中大多采用H.264編碼,與其他壓縮標準相比,其壓縮比高、誤碼率低、視頻質量高、容錯能力強,特別適合于網絡傳輸[8]。本設計利用MFC硬件模塊將YUV數據轉化為H.264視頻流,降低了數據流量和網絡帶寬的占用,最大限度地提高了壓縮比和傳輸速度[9]。H.264視頻壓縮具體步驟如下:① 調用open(MFC_DEV_NAME,O_RDWRW|O_NDELAY)打開MFC設備;② 映射空間mmap(0,BUF_SIZE,PROT_RERD|PROT_WRITE,MAP_SHARED,mfc_fd,0);③ 配置編碼格式ioctl(mfc_fd,LOCTL_MFC_H264_ENC_INIT,&enc_init);④ 獲取輸入輸出緩沖區ioctl(mfc_fd,LOCTL_MFC_H264_ENC_INIT,&get_buf_addr);⑤ 進行H.264編碼ioctl(mfc_fd,LOCTL_MFC_H264_ENC_EXE,&enc_exe)。4.4 視頻傳輸程序的設計由于TCP的三次握手連接和錯誤重傳機制,系統開銷較大,不能滿足視頻數據的實時傳輸。本設計采用無連接的UDP協議進行視頻數據的傳輸,但是無法保證數據的完整性。為了保證視頻流的實時性和同步性,針對UDP的不足,采用RTP通信方式,RTP建立在UDP之上,將數據封裝后使用UDP協議進行數據傳輸。由于本設計基于Linux系統,所以RTP程序采用現成的C語言oRTP庫進行開發。RTP的關鍵步驟如下:① 調用orpt_inin()、ortp_scheduler_init()完成oRTP庫的基本初始化;② rtp_session_new()創建rtp對象,接著設置rpt對象的客戶端IP和監聽端口;③ 發送數據時調用 rtp_session_send_with_ts()庫函數;④ 發送完畢后調用rtp_session_destroy(); 銷毀RPT對象,ortp_exit()關閉oRTP庫資源。4.5 Android手機客戶端Android客戶端采用分層的設計思想,各模塊之間相互獨立工作,降低了系統的復雜程度。整體結構從下到上分別為視頻數據獲取、視頻數據的解碼、視頻數據的顯示以及用戶界面4個功能。首先,客戶端通過3G或WiFi網絡從服務器端進行驗證請求,請求信息包括用戶名、密碼、IP地址和端口號;驗證通過后,接收服務器端發送的視頻數據,并將其放到視頻緩沖區中。然后將經過H.264和RTP編碼過的視頻數據去除包頭信息,對無序的數據進行組幀,再對其進行解碼。最后,將視頻數據在用戶界面上播放。結構模塊圖如圖3所示。5 系統運行效果測試測試分兩種方式進行,一種在小米2S手機上,另一種在Nexus 7平板電腦上。在登錄界面上輸入設備名稱、地址、端口號、用戶名和密碼,分別用3G網絡和WiFi網絡來訪問服務器。選取3個不同的地點進行了12次測試,每次測試1 min,統計客戶端接收到的幀數。測試結果表明,客戶端不受地點的限制,每秒能接收約12幀,視頻數據流暢,沒有出現失幀現象。測試結果如表1所列。測試效果如圖4所示。結語本系統實現了一種基于嵌入式Linux操作系統和Android手機終端的遠程視頻監控系統。利用3G或WiFi進行數據通信,用戶能夠隨時隨地地監控。與傳統的監控系統相比,增強了整個系統的靈活性。由于Linux的可移植性強,客戶端還可移植到Android系統的平板電腦上,用戶通過WiFi接入到互聯網,即可實現視頻監控。在后續的研究中,可在此基礎上,服務器端增加了多攝像頭監控、視頻數據的存儲,客戶端增加圖像處理、云臺控制、視屏回放等功能。隨著嵌入式技術和3G/4G移動通信技術的不斷成熟,基于Android手機的視頻監控系統將具有良好的應用前景。(mbbeetchina)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于嵌入式Linux内核的Android操作系统智能移动终端0次下载
- Android智能手机上的温度监控系统0次下载
- 基于嵌入式Linux视频监控系统毕业论文28次下载
- 基于ARM和Linux的嵌入式远程视频监控系统的设计9次下载
- 视频监控中的传感器技术和像素资料下载11次下载
- Android电源管理设计资料下载9次下载
- 基于门禁系统智能视频监控电路设计资料下载9次下载
- 基于MSP430的网络化视频监控系统的设计资料下载13次下载
- Linux教程之Linux的系统指令大全资料免费下载31次下载
- 基于嵌入式视频监控服务器的搭建8次下载
- 在Android平台上搭建视频监控系统设计方案5次下载
- 基于Android系统终端实现3G WIFI无线漫游3次下载
- ARM_Linux实现无线视频监控系统3次下载
- ARM_Linux实现无线视频监控系统167次下载
- Linux动态扩展MPEG-4智能视频监控系统33次下载
- RK3588 Android+Linux双系统方案的实现9138次阅读
- 如何在Linux系统下开启wifi4752次阅读
- 基于MPC823微处理器和Linux实现视频网络接入终端的设计2544次阅读
- 采用MPEG-4压缩算法的数字视频监控系统的应用方案2544次阅读
- 基于嵌入式系统的视频监控系统是如何实现的2389次阅读
- 基于嵌入式Linux平台构建视频监控系统的设计过程详解1832次阅读
- 基于android的wifi模块功能开发教程4762次阅读
- 基于嵌入式Linux的无线视频监控系统设计3240次阅读
- 基于Android的智能家居终端控制系统10020次阅读
- 手机能不能支持ipv6_介绍Android手机的ipv6功能76851次阅读
- 基于蓝牙与Android设备的控制系统设计1012次阅读
- 基于Android的低功耗移动心电监控系统的设计方案2866次阅读
- 基于嵌入式Linux的家居监控系统设计2272次阅读
- 基于Android智能家居远程监控系统设计5756次阅读
- 基于DSP的智能视频监控终端设计2207次阅读
下載排行
本周
- 1EN60335-1安規標準 中文版本
- 1.86 MB | 53次下載 | 1 積分
- 2LT7406FJ N溝道增強型功率MOSFET規格書
- 1.38 MB | 2次下載 | 免費
- 3米爾-瑞芯微RK3562核心板開發板,4核CPU,ARM中量級多面手
- 3.45 MB | 2次下載 | 免費
- 4運算放大電路入門教程
- 0.70 MB | 1次下載 | 免費
- 5開源鴻蒙版真4K顯示器廣告機主板AIoT-6780SE彩頁
- 613.79 KB | 1次下載 | 免費
- 6LTS6806SR N溝道增強型功率MOSFET規格書
- 0.99 MB | 次下載 | 免費
- 7LT3810FP-X N溝道增強型功率MOSFET規格書
- 0.92 MB | 次下載 | 免費
- 8LTS4008TRB N溝道增強型功率MOSFET規格書
- 1.58 MB | 次下載 | 免費
本月
- 1STM32CubeMX用于STM32配置和初始化C代碼生成
- 21.90 MB | 619次下載 | 免費
- 2STM32開發板教程之STM32開發指南免費下載
- 24.88 MB | 176次下載 | 3 積分
- 3DeepSeek:從入門到精通
- 5.36 MB | 95次下載 | 1 積分
- 4EN60335-1安規標準 中文版本
- 1.86 MB | 53次下載 | 1 積分
- 5OAH0428最新規格書(中文)
- 2.52 MB | 27次下載 | 10 積分
- 6UHV系列雷電沖擊電壓發生器試驗裝置詳細說明使用
- 1.07 MB | 17次下載 | 免費
- 7Altium-常用3D封裝庫(Step)接插件篇
- 4.95 MB | 14次下載 | 免費
- 8介紹一些常用的電子元器件
- 3.20 MB | 8次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191371次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183336次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81583次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論