新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于3G手機(jī)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

基于3G手機(jī)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-05-01 來(lái)源:網(wǎng)絡(luò) 收藏
: mode??Write) ;

  long iTemp = 0;

  while ( 1)

  {

  rcv = r ecv ( s, buffer, 1024, 0) ;

  if ( rcv = = 0)

  {

  break;

  }

  file. Wr ite( buffer, rcv) ;

  iTemp + = rcv ;

  }

  file. Close( ) ;

  send( s, “ [ ! %] ” , 4, 0) ; / / 發(fā)送接收文件結(jié)束請(qǐng)求

  int ret1= send( pDlg> m_hSo cket, buffer, iSize, 0) ;

  / / 發(fā)送文件的名稱和大小

  / / 發(fā)送文件

  if ( iEnd= = SOCKET_Error)

  {

  strError. Format( _T( “ Send File: %d”) , er ro r= WSAGetLast Error( ) ) ;

  AfxM essag eBox ( strErr or) ;

  break;

  }

  iT mp + = iEnd;

  pDlg> m_pro gr ess. Set Pos( iTmp) ;

  Sleep( 10) ;

  / / 判斷發(fā)送是否成功、結(jié)束處理

  if ( iTmp = = lFileSize)

  {

  }

  CSt ring st rTemp= “發(fā)送文件結(jié)束” ;

  / / 回復(fù)對(duì)方接收完畢

  pDlg> SendMessag e( NULL, NULL) ;

  pDlg> m_cState. SetWindowTex t( st rTemp) ;

  / / shutdow n( ) ;

  ExitThread( 0) ;

  return 0;

  4 應(yīng)用軟件設(shè)計(jì)及實(shí)驗(yàn)結(jié)果

  操作系統(tǒng)與硬件平臺(tái)間采用虛擬串口進(jìn)行通信,EVC 在實(shí)現(xiàn)串口數(shù)據(jù)通信中存在2 個(gè)局限性: 一是EVC 不支持串口通信控件MScomm, 另一個(gè)是WinCE不支持重疊I/ O 操作。因此, 要采用WinCE 的API 函數(shù)和多線程技術(shù)進(jìn)行數(shù)據(jù)串口通信的底層開發(fā)[ 10] 。

  Window s API 函數(shù)將串口視為文件, 對(duì)于串口的操作類似于對(duì)于普通文件的操作。在EVC 環(huán)境中, 通過(guò)調(diào)用CreateFile 函數(shù)來(lái)打開串口, 設(shè)置串口讀寫模式:

  H ANDLE m _ hComm = Cr eateFile ( szPor t, GENERIC _READ| GENERIC _WRIT E, 0, NULL, OPEN _ EXISTING, 0,NULL) ;因?yàn)閃inCE 不支持重疊I/ O, 所以CreateFile 的第6 個(gè)參數(shù)不能設(shè)置為: FILE _ FLAG _ OVER _LAPPED, 這里設(shè)置成通用常數(shù)“ 0”, 否則串行通信處理將被系統(tǒng)信息阻塞。

  打開串口以后, 可以使用串口初始化函數(shù)SetCommState( ) 來(lái)獲取串口當(dāng)前的配置, 如串口號(hào)、波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位等:

  BOOL CGSM W_CameraDlg: : OpenPo rt ( UINT port No , / * 串口號(hào)* /

  UINT baud, / * 波特率* /

  UINT parity, / * 奇偶校驗(yàn)* /

  UINT databits, / * 數(shù)據(jù)位* /

  UINT sto pbits / * 停止位* / )

  初始化緩沖區(qū)的信息:

  Purg eComm( m _ hComm, PURGE _ TXCLEAR | PURGE _RXCLEAR) ;

  m _ hReadCloseEv ent = CreateEvent ( NULL, T RUE,F(xiàn)ALSE, NU LL) ;

  m_ hReadT hread = Cr eateThread ( NU LL, 0, ReadT hr ead Func, this, 0, m_dw ReadT hreadID) ;

  應(yīng)用程序開發(fā)是在EVC 集成開發(fā)環(huán)境中進(jìn)行的。

  用EVC 的AppWizard 向?qū)Ы⒒贛FC 的對(duì)話框程序架構(gòu), 在進(jìn)行頁(yè)面布局“圖像顯示區(qū)域”、“初始化”、“接聽”、“撥號(hào)”、“掛機(jī)”等按鈕后, 為各種按鈕添加各種消息響應(yīng)時(shí)間以及完成對(duì)各按鈕進(jìn)行的設(shè)置, 以響應(yīng)用戶期待的命令?!俺跏蓟卑粹o是進(jìn)行3G 網(wǎng)絡(luò)的初始化?!敖勇牎卑粹o就是響應(yīng)3G 手機(jī)發(fā)送給開發(fā)板的命令,“撥號(hào)”按鈕所需進(jìn)行的設(shè)置有對(duì)方號(hào)碼、撥號(hào)時(shí)發(fā)送的消息以及服務(wù)器IP 和端口號(hào), 設(shè)置完這些就可進(jìn)行撥號(hào)等待響應(yīng)了;“掛機(jī)”按鈕實(shí)現(xiàn)退出應(yīng)用程序和關(guān)閉攝像頭驅(qū)動(dòng)的功能。實(shí)現(xiàn)這些按鈕的單擊事件響應(yīng)函數(shù)的添加是比較容易的, 在EVC 環(huán)境中直接雙擊按鈕, 進(jìn)入代碼編輯區(qū)就可進(jìn)行編程調(diào)試。這里給出“初始化”和“撥號(hào)”按鈕的部分代碼, ……后面為省略的部分。

  OpenPor t( 7, 115200) ; / / AT Com

  if ( m_hComm ! = INVALID_H ANDLE_VALU E) / / 如果初始化按鈕被按下

  {

  / / 3G 初始化

  UpdateData( TRUE) ;

  SendCommand( “ATE0 r n” ) ; / * 取消回顯命令* /

  …}

  else

  {

  st r = “WCDMA 沒有連接上”;

  Messag eBox ( st r) ;

  return;

  }

  …

  CStr ing str ( “AT D”) ;

  UpdateData( TRUE) ;

  m_hut. EnableWindow( TRUE) ;

  st r+ = m_RecvTele;

  st r+ = “ ; r n”;

  UpdateData( ) ;

  SendCommand( str ) ; / * 讀取SIM 中的第一條短信* /

  …

  系統(tǒng)應(yīng)用軟件開發(fā)完成之后, 在3G 手機(jī)應(yīng)用程序中打開手機(jī)主控端軟件, 單擊 初始化按鈕完成 撥號(hào)前的設(shè)置, 將信息發(fā)送給Micro2440 開發(fā)板, 等待響應(yīng),順利地采集圖片并最終顯示到3G 手機(jī)上, 圖4 為主控終端軟件界面及圖片顯示結(jié)果。

  5 結(jié) 語(yǔ)

  該系統(tǒng)實(shí)現(xiàn)基于9 平臺(tái)和WinCE 操作系統(tǒng),通過(guò)CMOS 攝像頭采集現(xiàn)場(chǎng)照片信息, 然后通過(guò)WCDMA 無(wú)線網(wǎng)絡(luò)連接到萬(wàn)維網(wǎng)服務(wù)器, 手機(jī)端設(shè)計(jì)出滿足條件的軟件, 最終在3G 手機(jī)上實(shí)現(xiàn)圖片監(jiān)控的功能。該系統(tǒng)具有實(shí)時(shí)性較好、成本較低、便于攜帶等優(yōu)點(diǎn), 非常適合在安保、交通、手持設(shè)備、家電、學(xué)校巡防等方面的應(yīng)用, 它是實(shí)現(xiàn)部分的重要組成部分。

  目前只實(shí)現(xiàn)了圖像的傳輸及在3G 手機(jī)上的顯示, 視頻部分的傳輸顯示, 由于時(shí)間原因, 還暫時(shí)沒有完成。下一步將采用合適的視頻壓縮編碼算法如H. 264,MPEG4 編解碼技術(shù), 實(shí)現(xiàn)功能。

  基于3G手機(jī)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

  圖4 3G 手機(jī)主控終端軟件界面及圖片顯示結(jié)果

  參考文獻(xiàn)

 ?。?1] 喻亮。 系統(tǒng)的結(jié)構(gòu)特征與研究概況[ J] 。 企業(yè)科技與發(fā)展, 2010( 8) : 55-57.

 ?。?2] 謝園園, 孫發(fā)勤。 基于系統(tǒng)的遠(yuǎn)程醫(yī)療監(jiān)護(hù)終端的設(shè)計(jì)與模擬實(shí)現(xiàn)[ J] 。 金陵科技學(xué)院學(xué)報(bào), 2006, 22( 3) : 34-36.

 ?。?3] 許雪梅, 郭遠(yuǎn)威, 吳愛軍, 等。 基于Window s CE50 的無(wú)線監(jiān)控系統(tǒng)研究[ J] 。 現(xiàn)代電子技術(shù), 2009, 32( 2) : 25-29.

 ?。?4] 趙曉軍, 任明偉, 蘇海霞, 等。 基于 的嵌入式無(wú)線系統(tǒng)[ J] 。 微型機(jī)與應(yīng)用, 2010, 29( 16) : 54-56.

 ?。?5] 查婧, 劉波, 曹劍中。 嵌入式與網(wǎng)絡(luò)傳輸系統(tǒng)[ J] 。電子器件, 2009, 32( 3) : 646-648.

 ?。?6] 李伶, 李太君。 基于3G 的手機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)[ J] 。 通信技術(shù),2010, 43( 9) : 130-132.

  [ 7] 焦鉻, 易小波, 李仁發(fā)。 基于嵌入式Inter net 的遠(yuǎn)程視頻監(jiān)控系統(tǒng)設(shè)計(jì)[ J] 。 計(jì)算機(jī)技術(shù)與發(fā)展, 2009, 19( 5) : 176-179.

 ?。?8] 錢華明, 劉英明, 張振旅。 基于S3C2410 嵌入式無(wú)線視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[ J] 。 計(jì)算機(jī)測(cè)量與控制, 2009, 17( 6) : 1132-1134.

 ?。?9] 王靜。 基于S3C2440 和TCP/ IP 網(wǎng)絡(luò)的紅外線圖像采集和處理系統(tǒng)[ D] 。 南京: 南京理工大學(xué), 2008.

 ?。?10] 劉慶亮, 劉建成。 WinCE 下多線程串口通信在導(dǎo)航系統(tǒng)中的應(yīng)用[ J] 。 軟件導(dǎo)刊, 2010, 9( 3) : 77-79.

 ?。?11] 李文新, 王廣龍, 陳建輝, 等。 基于WinCE 的數(shù)字羅盤集成電路I2 C 驅(qū)動(dòng)程序開發(fā)[ J] 。 電子測(cè)量技術(shù), 2009, 32( 10) :73-76.

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉