基于Wifi的電子看板語音系統(tǒng)設計實現(xiàn)
摘要:電子看版廣泛的應用到工業(yè)生產領域,文中介紹了一種新型基于arm嵌入式的工業(yè)電子看板。和傳統(tǒng)的電子看板系統(tǒng)相比,增加了刷卡認證、視頻監(jiān)控、語音通話。其中語音通話增強現(xiàn)場的管理,并能實現(xiàn)廣播,給現(xiàn)場人員提供實時培訓等功能。語音系統(tǒng)包括上位機及嵌入式兩部分組成,語音采用adpcm進行壓縮并通過wifi傳輸,通過測試語音輸出清晰、沒有延遲。
關鍵詞:電子看板;嵌入式;adpcm;Wifi
電子看板是看板管理和以計算機技術為主的信息技術相結合的一和管理工具。最初是豐田汽車公司于20世紀50年代從超級市場的運行機制中得到啟示,作為一種生產、運送指令的傳遞工具而被創(chuàng)造出來的。
傳統(tǒng)的管理看板放在生產線上,實時顯示生產線相關信息一目標產量、實際產量、合格率等。通過看板,管理者、生產者只要通過看板所表示的信息,就可知道流水線的各項生產情況。管理者根據(jù)生產現(xiàn)場的情況反映,對下線進行整個生產調度和協(xié)調發(fā)布指令的系統(tǒng)。指令越是及時,越有針對性,那么其生產線每個環(huán)節(jié)的配合就更加默契,更有效率。筆者給出一種新型電子看板,除了傳統(tǒng)看板功能外,增加了刷卡認證、視頻監(jiān)控、語音通話功能。
1 系統(tǒng)構成
系統(tǒng)構成如圖1所示。
匯總看板PC機,安裝Windows操作系統(tǒng)、數(shù)據(jù)庫。分布在各個工作組的電子看板硬件采用了以ARM2440為cpu的開發(fā)板。主頻400 MHz,軟件為linux操作系統(tǒng)。開發(fā)板上帶有128 M ram、64M Flash、聲卡、usbhost、串口等接口。
嵌入式系統(tǒng)構成參見圖2所示。
[!--empirenews.page--]
無線網卡采用了rt3070無線網卡接入:USB接口。攝像頭為USB接口。嵌入式系統(tǒng)帶有聲卡、串口等接口。其中串口和IC卡讀卡器相連,獲取IC卡信息通過無線網絡傳送到上位機,通過數(shù)據(jù)庫信息認證并記錄相應時間。
各個組根據(jù)距離遠近布置無線網絡。如圖3所示,實線部分為工廠有線網絡,虛線部分為無線網絡。
下位機采集現(xiàn)場數(shù)據(jù)、視頻實時向匯總看板傳輸,并可以通過聲卡傳送實時聲音數(shù)據(jù)。
[!--empirenews.page--]
2 上位機程序設計
語音傳輸采用單聲道,16位,8 000 Hz采樣頻率,每秒采集數(shù)據(jù)16 k。上位機程序使用delphi編寫,調用windowsAPI-WaveInOpen函數(shù)打開設備。并設置:
調用waveInAddBuffer獲取聲音數(shù)據(jù),得到的聲音數(shù)據(jù)采用自適應差分脈沖編碼調制。該算法中對量化步長的調整使用了簡單的映射方法,對于一個輸入的PCM值X(n),將其與前一時刻的X(n-1)預測值做差值得到d(n),然后根據(jù)當前的量化步長對d(n)進行編碼,再用此sample點的編碼值調整量化步長,同時還要得到當前sample點的預測值供下一sample點編碼使用。通過此算法可將樣點編碼成4bit的碼流,一個符號位和3個幅度位。該算法編解碼簡單只進行相減、查表運算。對CPU要求不高。
壓縮的數(shù)據(jù)通過idudpclient控件傳輸。參考代碼如下:
idudpclient 1.host:=IP
idudoclient 1.port:=PORT
idudoclient 1.SendBuffer
idudpclient控件brodcastenable屬性可以打開廣播。采用廣播方式,所有下位機都可以接收到上位機發(fā)出的數(shù)據(jù)包。
Delphi使用IdUDPServer控件監(jiān)聽端口讀取下位機聲音數(shù)據(jù),解碼調用waveOutOpen(),
waveOutPrepareHeader(),wave()utWrit()播放聲音。程序流程參如圖4所示。
[!--empirenews.page--]
3 下位機程序設計
下位機為分布在生產線或者車間內的管理看板。采用linux操作系統(tǒng)。Linux操作系統(tǒng)下把硬件作為一個設備文件。文件位于dev目錄下,文件名為dsp,讀取聲音使用read函數(shù),播放使用write函數(shù)。下位機軟件同樣啟動兩個線程一個監(jiān)聽相應的端口獲取壓縮后的聲音數(shù)據(jù)并解壓播放,另外一個線程采集聲卡數(shù)據(jù)壓縮后傳送。
1)首先打開設備文件:
fd=open(“/dev/dsp”,oflag);設置采樣位數(shù)、頻率等。
2)建立線程1:pthread_create。
建立udp網絡連接sockfd()
讀取聲卡:
read(fd,inbuf,sizeof(inbuf));
3)adpcm編碼并傳輸
4)建立線程2
建立udp網絡連接監(jiān)聽端口,獲取網絡數(shù)據(jù),解壓縮。
寫入聲卡設備:
write(fd,outbuf,sizeof(outbuf));
程序流程參如圖5所示。
4 結束語
通過實踐,新型管理看板能實時、準確的反映現(xiàn)場的情況。改善了生產及管理信息傳遞性,并且改善了傳統(tǒng)監(jiān)控的模式,看板安裝方便,無須考慮布線可以根據(jù)已有的無線路由自適應組網。此外聲音廣播及上下位機實時語音通話方便了管理人員及操作人員。