<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Wifi的電子看板的語音系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          基于Wifi的電子看板的語音系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2013-10-12 來源:網(wǎng)絡(luò) 收藏


          壓縮的數(shù)據(jù)通過idudpclient控件傳輸。參考代碼如下:
          idudpclient 1.host:=IP
          idudoclient 1.PORT:=PORT
          idudoclient 1.SendBuffer
          idudpclient控件brodcastenable屬性可以打開廣播。采用廣播方式,所有下位機(jī)都可以接收到上位機(jī)發(fā)出的數(shù)據(jù)包。

          Delphi使用IdUDPServer控件監(jiān)聽端口讀取下位機(jī)聲音數(shù)據(jù),解碼調(diào)用waveOutOpen(),waveOutPrepareHeader(),wave()utWrit()播放聲音。程序流程參如圖4所示。

          圖4 上位機(jī)聲音采集及傳輸流程圖

            3 下位機(jī)程序設(shè)計(jì)

          下位機(jī)為分布在生產(chǎn)線或者車間內(nèi)的管理看板。采用linux操作系統(tǒng)。Linux操作系統(tǒng)下把硬件作為一個(gè)設(shè)備文件。文件位于dev目錄下,文件名為dsp,讀取聲音使用read函數(shù),播放使用write函數(shù)。下位機(jī)軟件同樣啟動兩個(gè)線程一個(gè)監(jiān)聽相應(yīng)的端口獲取壓縮后的聲音數(shù)據(jù)并解壓播放,另外一個(gè)線程采集聲卡數(shù)據(jù)壓縮后傳送。

          1)首先打開設(shè)備文件:
          fd=open("/dev/dsp",oflag);設(shè)置采樣位數(shù)、頻率等。
          2)建立線程1:pthread_create.
          建立udp網(wǎng)絡(luò)連接sockfd()
          讀取聲卡:
          read(fd,inbuf,sizeof(inbuf));
          3)adpcm編碼并傳輸
          4)建立線程2
          建立udp網(wǎng)絡(luò)連接監(jiān)聽端口,獲取網(wǎng)絡(luò)數(shù)據(jù),解壓縮。
          寫入聲卡設(shè)備:
          write(fd,outbuf,sizeof(outbuf));
          程序流程參如圖5所示。

          圖5 下位機(jī)程序框圖

          結(jié)論 
           

          通過實(shí)踐,新型管理看板能實(shí)時(shí)、準(zhǔn)確的反映現(xiàn)場的情況。改善了生產(chǎn)及管理信息傳遞性,并且改善了傳統(tǒng)監(jiān)控的模式,看板安裝方便,無須考慮布線可以根據(jù)已有的無線路由自適應(yīng)組網(wǎng)。此外聲音廣播及上下位機(jī)實(shí)時(shí)語音通話方便了管理人員及操作人員。


          上一頁 1 2 下一頁

          關(guān)鍵詞: Wifi 電子看板 語音系統(tǒng)

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();