999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于互聯網的通信操作面板控制系統

2016-07-22 03:13:16于德海李培杰
長春大學學報 2016年6期

于德海,李培杰

(長春工業大學 計算機科學與工程學院, 長春 130012)

?

基于互聯網的通信操作面板控制系統

于德海,李培杰

(長春工業大學 計算機科學與工程學院, 長春 130012)

摘要:設計了一套基于Android手機遠程控制操作面板的系統;該系統硬件平臺集成了ARM芯片和其他外圍設備,并移植了Linux系統;在此系統上使用Hamlib對不同型號的通信設備進行控制,并對設備獲得的音頻數據使用RTP協議實時傳輸到手機,對設備的參數信息使用UDP協議反饋給手機;同時手機通過P2P協議與ARM平臺通信,并通過UDP協議發送控制命令來控制設備的操作面板。

關鍵詞:操作面板;Hamlib;實時音頻傳輸;遠程控制

0前言

隨著無線通信設備的發展,傳統的通信設備也正在向著互聯網+的時代發展。由于無線通信設備相關的軟件一般成本比較高,并且操作復雜,一般用戶很難使用,這些都限制了設備許多強大實用的功能。人們迫切需要一種符合當今時代的控制軟件,來支持對無線通信設備的操作。瑞士的一位無線電愛好者Simon Brown(HB9DRV)開發了名為Ham Radio Deluxe的軟件,HRD可以根據自己的需要隨意修改軟件設置。通過電腦來控制無線通信設備,使操作得到簡化,但是依然與當今移動互聯網時代結合的不夠緊密。

這里結合互聯網+的發展理念,使用移動設備對無線通信設備進行遠程控制,更符合現代人生活方式。同時也體現了物聯網的重要特點之一就是實現物與物之間的信息交換,使物體變得更加智能化。

本系統使用手機APP通過網絡遠程連接通信設備,然后對設備進行遠程控制,這兩者之間以服務器作為中間橋梁,不僅可以實現對設備的遠程控制,也方便了用戶操作。本文以短波電臺為通信設備,設計和實現了對短波電臺的遠程控制,同時本系統也可以使電臺成為一種公共資源,使沒有電臺的愛好者,可以通過網絡對電臺進行訪問,同時也提高了電臺的資源利用率。

1系統硬件平臺

根據系統的需求,本系統主要由嵌入式核心板、電臺、串口外設、網卡外設、音頻接口、Android手機組成。

本系統的嵌入式微處理器使用三星公司的S3C2416,它基于ARM926EJ內核,主頻為400MHz。同時核心板還有NAND Flash、DDR2的SDRAM模塊等。電臺選用Elecraft k3高性能收發信機,能夠在6米波段上工作,在0.5-30MHZ之間是連續可調的。串口外設采用RS-232串口標準,采用Linux內核中自帶的串口驅動。網卡采用DM9000,驅動移植Linux內核自帶DM9000網卡驅動。由于S3C2416支持IIS、AC97、PCM音頻編解碼器接口,而且PCM與IIS可以復用,這里采用IIS音頻編解碼器接口。Linux內核附有兩類音頻設備驅動框架OOS(Open Sound System)和ALSA(Advanced Linux Sound Architecture),本系統采用了ALSA驅動框架。

嵌入式核心板與電臺通過串口連接進行通信,將嵌入式核心板連接到服務器,通過網絡進行數據收發。Android手機作為客戶端,通過服務器,實現對電臺的遠程訪問和控制。

2系統軟件平臺

遠程電臺控制系統的軟件設計主要是ARM客戶端功能的實現和APP功能的實現,以及服務器端的實現。ARM平臺通過串口與電臺進行交互,對于音頻數據通過RTP協議進行發送與接收,Android手機端通過服務器的協助,根據UDP打洞機制直接與ARM平臺連接,然后通過RTP協議進行音頻傳輸,同時使用UDP協議發送電臺操作命令。服務器主要是用來協助客戶端的UDP打洞過程,并維持客戶端的在線狀態。系統軟件框圖如圖1所示。

圖1 系統軟件框圖

2.1Linux系統移植

首先在Linux平臺下建立交叉編譯環境,本系統使用arm-linux-gcc-4.4.3編譯開發板內核,圖形庫QtE,BootLoader,其他一些應用程序。對于引導程序BootLoader,這里移植的是U-Boot2010.06,用來初始化硬件,引導Linux系統。然后,針對特定的硬件編寫驅動文件并對內核Linux-3.6進行配置和編譯,生成內核的鏡像文件,將鏡像文件移植到ARM板上。接著,需要制作Linux文件系統,用專門的工具mkyaffs2image,制作yaffs2格式的文件系統鏡像并進行移植。最后,移植圖形庫QTE-4.8.5,有了圖形庫就可以進行可視化的圖形界面開發,為開發和調試工作提供了方便。

2.2音頻接收與發送

當系統接收到音頻后需要發送,而客戶端發來的音頻需要接收,并且音頻數據都是有順序的,TCP協議可以保證數據的接收順序,但相對UDP協議來說開銷比較大并且傳輸速度不是很快,而系統需要音頻的實時傳輸,因此這里采用一種基于UDP協議的RTP/RTCP對音頻發送與接收。

圖2 音頻系統流程圖

由于系統的硬件平臺ARM移植了Linux系統,在Linux系統上進行實時流媒體編程,可以使用開源的jrtplib庫,這個庫可以很好的解決流媒體實時傳輸問題。本系使用的是jrtplib3.9.1,需要移植jthread-1.3.1和jrtplib-3.9.1到ARM平臺上。

本系統對音頻收發主要實現過程為:電臺通過串口把音頻數據傳輸到ARM平臺上,傳輸的音頻是16位數據位寬、單通道、8000采樣率的PCM編碼數據,對得到的數據用采用G711A率編碼,對本系統來說可以使傳輸的數據減少一半,然后用RTP協議發送音頻數據。對于手機端接收的音頻數據,使用G711A率解碼,得到PCM編碼數據,然后播放音頻。經過在一個局域網下的測試,音頻實時傳輸延時為300ms~500ms,噪聲也很小。音頻系統流程圖如圖2所示。

2.3Hamlib協議

由于業余無線電的軟件和一些產品各有各的開發方式,而Hamlib是一個開源,用于業余無線設備的控制協議庫,它主要是控制電臺數據的接收與發送,通過這個協議庫可以對不同型號或者品牌的電臺進行控制。許多業余無線電收發器允許軟件通過串口來控制電臺,而Hamlib庫就大大簡化了應用程序與無線電設備和其他控制設備的交互方式。

Hamlib庫是由C語言實現,它的主要作用是作為開發程序的子程序庫,但是它也是一個獨立的服務庫。它支持遠過程調用,但本系統只是在本地使用Hamlib。rigctl從命令行模式接受命令,如果沒有在命令行上提供,也可以在交互模式下接受命令。使用Hamlib控制電臺,一般用“set”或“get”函數結合命令進行控制,例如:

Q|q,exit_rigctl退出rigctl交互模式;

F,set_freq‘Frequency’設置頻率;

M,set_mode‘Mode’設置模式;

V,get_vfo獲取當前的VFO

本系統需要將Hamlib-1.2.15庫移植到ARM上,通過“set”函數去設置電臺的參數或者對電臺進行控制,通過“get”函數去獲取電臺的狀態或者數據。ARM平臺通過串口連接電臺,串口波特率為9600,數據位為8位,1位停止位,無奇偶校驗位,無流控制,這可以通過Hamlib庫中的函數進行設置,但一般不同廠商的電臺控制參數不一樣,對于不同的廠商的電臺要調用庫中對應的函數,本系統ARM平臺上的應用程序支持多種廠商的電臺控制。

2.4服務器

本系統的客戶端訪問電臺需要服務器的協助。本系統的服務器在Linux環境下搭建,為了減輕服務器的負載,客戶端之間的訪問采用P2P協議進行通信,但由于路由器NAT機制的存在,使得P2P協議的使用有限制。為了做到對等連接,這里采用UDP打洞機制。

本系統的服務器處于公網上,而手機客戶端使用WIFI,ARM平臺使用局域網,在這種情況下(也就是兩個客戶端都處于NAT后面),UDP打洞機制流程如下:

(1)服務器啟動兩個網絡偵聽,一個主連接偵聽,一個打洞連接偵聽。

(2)手機客戶端和ARM平臺客戶端分別與服務器的主連接發送連接請求,連接時需要說明自己的名字,這里以IP地址作為每個客戶端的名字。

(3)當手機客戶端需要與ARM平臺客戶端連接時,首先向服務器的打洞端口發送UDP連接申請,并說明連接的對象。同時在該端口號上啟動接收偵聽。服務器的打洞連接收到手機客戶端的申請后通過主連接通知ARM平臺客戶端,并將手機客戶端經過NAT轉換后的公網IP地址和端口等信息告訴ARM平臺客戶端。

(4)ARM平臺客戶端收到服務器的請求連接通知后首先與服務器的打洞端口發送UDP請求,即隨便發送一些數據,服務器得到ARM平臺客戶端經過NAT轉換后的公網IP和端口號。

(5)服務器的打洞連接收到ARM平臺客戶端發送UDP請求后,通過主連接將ARM平臺客戶端經過NAT轉換后的公網IP和端口號告訴手機客戶端。

(6)手機客戶端嘗試與ARM平臺客戶端經過NAT轉換后的公網IP地址和端口建立會話,NAT會記住本次連接的IP和端口號,為接下來真正的連接做好了準備,這就是所謂的打洞,即手機客戶端向ARM平臺客戶端打了一個洞。

(7)ARM平臺客戶端嘗試與手機客戶端經過NAT轉換后的公網IP地址和端口建立會話,NAT會記住此次連接的源地址和端口號,此時ARM平臺客戶端向手機客戶端打了一個洞。下次手機客戶端就能直接連接到ARM平臺客戶端剛才使用的端口號了。

(8)ARM平臺客戶端打洞的同時在相同的端口上啟動接收偵聽。ARM平臺客戶端在一切準備就緒以后通過與服務器的主連接回復消息“一切OK”,服務器在收到以后告知手機客戶端。

(9)手機客戶端收到服務器回復以后,開始連接到ARM平臺客戶端公網IP和端口號,此時客戶端之間就可以相互通信而不需要借助服務器了。

服務器對于UDP打洞啟動了兩個監聽,其中主連接監聽采用TCP協議,打洞監聽采用UDP協議。服務器主要就是協助UDP打洞,和通過主連接與客戶端收發少量數據。

2.5客戶端

客戶端分為Android手機和ARM平臺。Android APP可以通過網絡對電臺進行控制。具體功能有:登錄、頻率顯示、瀑布圖顯示、增益設置、模式選擇、調頻方式選擇、動態顯示信號強度、頻段選擇、對音頻發送接收等。

APP軟件首先進入登錄界面,登錄主要是連接服務器的主連接端口,并且發送要連接的ARM平臺的電臺名字,連上服務器后,服務器會回發要連接的電臺的狀態,如果此電臺也連接上了服務器,就可以選擇建立操作命令會話和建立音頻會話。根據UDP打洞機制,使APP軟件與此電臺建立會話,當兩個會話都建立成功,會進入操作界面:顯示界面、模式設置、增益設置、調頻方式設置、頻段設置、音頻接收、音頻發送,并且APP軟件監聽這兩個端口,操作命令的端口會每經過一段時間會接收到電臺發送的當前頻率和當前信號強度,音頻端口會接收電臺發送的實時音頻數據,并解碼播放。顯示界面模塊會發送請求當前頻率、當前模式、當前增益、當前信號強度和當前調頻方式,并顯示這些數據和繪制信號強度實時波形圖;模式設置,可選的模式分別有:USB,LSB,CW,CWR,RTTY,RTTYR,AM,FM,WFM等,用于發送設置的模式;增益設置、調頻方式設置和頻段選擇,也用于發送設置的數據;音頻接收主要通過網絡實時接收音頻數據;音頻發送主要是錄音,然后使用RTP協議發送。

對于通過WIFI進行遠程操作電臺,Android上實現音頻發送與接收的具體過程為:首先在Android下編譯jthread-1.3.1和jrtplib-3.9.1,得到它們的靜態庫和動態庫,加入到Android工程中,采用原生態編程(需要NDK環境),使用JNI技術。在Java語言中調用用C語言寫的音頻數據流接收函數,得到的音頻流解碼后,傳給AudioTrack對象實時播放。發送音頻過程相反。

對于ARM平臺,在Linux系統下的QtE圖形庫基礎上,使用Qt實現主要功能,主要分為:登錄、電臺型號的選擇、音頻數據的接收與發送、操作命令的接收、電臺當前數據的發送、對串口的操作。ARM平臺客戶端是對APP發來的命令操作電臺,同時給APP提供電臺的數據參數。登錄是使ARM平臺連接到服務器的主連接端口,并提供電臺的名稱;電臺的型號選擇主要是針對不同型號的電臺選擇Hamlib庫中對應的協議進行通信;音頻數據的傳輸,實現的過程與APP一樣;接收過程相反;操作命令的接收,通過網絡接收數據,并對數據進行解析,調用Hamlib庫中與當前電臺型號對應的函數,并設置函數的參數,然后通過串口傳給電臺,控制電臺;電臺當前數據的發送,調用Hamlib庫中的函數,得到電臺的相關數據,通過網絡發給Android手機客戶端;ARM客戶端需要一個串口,用于連接電臺。

圖3 Android手機端效果圖

3系統測試

上文對系統的設計與實現進行了詳細的說明,接下來是是對系統的測試。這里主要是對客戶端的測試,分別是ARM平臺和Android手機。測試環境是,服務器放在公網上,有唯一的IP,ARM平臺和Android手機在局域網下。測試主要是使用Android手機通過服務器連接電臺并控制電臺,然后得到電臺的數據并在手機上顯示。Android手機端的效果如圖3所示。結果表明,本系統是可行的,并具有一定的實用性。

4結語

這里提供了一種遠程控制通信操作面板的解決方案,通過手機客戶端來控制和訪問通信操作面板,中間由服務器作為連接橋梁,并且通過UDP打洞技術解決了服務器負載過高的問題。通過串口連接通信操作面板與ARM平臺,應用Hamlib協議庫控制通信操作面板。相對于用Ham Radio Deluxe,應用手機APP來對設備進行控制,符合現代社會的需求,也方便了操作。并且通過網絡可以實現遠程控制,也可以把價格昂貴的設備作為一種公共資源,不但為使用者節省了開支,而且提高了資源利用率。

由于本系統設計與實現是以短波電臺為通信設備,在音頻實時傳輸時,有300~500ms的延遲,所以下一步的工作是盡量減少延遲,增強用戶體驗。

參考文獻:

[1]錢志鴻,王義君.物聯網技術與應用研究[J]. 電子學報, 2012,40(5):1023-1029.

[2]史濤,裴海龍.基于Linux的嵌入式實時視頻跟蹤系統[J]. 計算機測量與控制,2014,22(5):1523-1526.

[3]鮑軒,章堅武.基于Android的音視頻監控軟件的設計[J]. 杭州電子科技大學學報,2012,32(4):61-64.

[4]王辰,周杰,季櫸.基于Android平臺的實時視頻技術的實現[J]. 計算機應用與軟件,2014,31(6):120-122.

[5]呂少軍,周淵平.基于Live555的實時流媒體傳輸系統[J]. 計算機系統應用,2015,24(1):56 -59.

[6]徐向陽,韋昌法.基于NAT穿越技術的P2P通信方案的研究與實現[J]. 計算機工程與設計,2007,28(7):1559-1561+1603.

[7]周敏,余慕春,黃維豐.綜合UDP打洞與Http代理的SIP穿越NAT方案[J]. 計算機技術與發展,2014,24(8):147-151.

[8]劉家琪.HAM RADIO DELUXE軟件入門篇[J]. 現代通信,2009(01):38-41.

[9]Martin Ewing.SourceForge ,Hamlib,and Rigserve: Free Beer, Free Speech,and Rig Control [C].Hartford:CT(US),2007.

[10]查鑫.基于Android的移動智能終端遠程控制系統的設計與實現[D].北京:北京郵電大學,2013.

責任編輯:程艷艷

Communication Operation Panel Control System Base on Internet

YU Dehai, LI Peijie

(School of Computer Science and Engineering, Changchun University of Technology, Changchun 130012, China)

Abstract:A system based on remote control operation panel of Android phone is designed. The system hardware platform integrates ARM chip and other peripheral equipment, and it transplants Linux system. Hamlib is used to control the communication equipment of different types, audio data obtained from the equipment is sent timely to the phone through RTP protocol, the parameters of the equipment is sent back to the phone through UDP protocol. Based on P2P protocol and ARM platform communication, the mobile phone sends the order to control the operation panel through UDP protocol.

Keywords:operate panel; Hamlib; real-time audio transmission; remote control

收稿日期:2016-03-09

基金項目:吉林省教育廳“十二五”科學技術研究項目(2012274)

作者簡介:于德海(1960-),男,吉林長春人,副教授,主要從事嵌入式系統方面研究;李培杰(1991-),男,湖北宜昌人,碩士研究生,主要從事嵌入式系統方面研究。

中圖分類號:TP311

文獻標志碼:A

文章編號:1009-3907(2016)06-0039-05

主站蜘蛛池模板: 欧美a在线视频| 色天天综合| 成人中文在线| 国产欧美精品一区aⅴ影院| 思思热精品在线8| 亚洲AV无码一二区三区在线播放| 色妞www精品视频一级下载| 在线观看精品国产入口| 91青青草视频| 热热久久狠狠偷偷色男同| 国产中文一区二区苍井空| 国产亚洲精品无码专| 久久久久88色偷偷| 国产精品刺激对白在线| 国产黑丝一区| 国产一二三区在线| 国产大片黄在线观看| 国产精品毛片一区视频播| 日韩在线视频网| 久久国产高清视频| 亚洲精品在线影院| 亚洲第七页| 国产麻豆精品在线观看| 欧美怡红院视频一区二区三区| 爱色欧美亚洲综合图区| 97人妻精品专区久久久久| 国产凹凸一区在线观看视频| 国产一级毛片网站| 亚洲最大情网站在线观看| 国产激情无码一区二区APP| 一本大道东京热无码av| AV无码一区二区三区四区| 国产女人喷水视频| 亚洲国产欧洲精品路线久久| 国产精品久久久久久久久kt| 日韩在线欧美在线| 亚洲青涩在线| 91视频国产高清| 日本黄网在线观看| 秋霞午夜国产精品成人片| 日韩精品少妇无码受不了| www中文字幕在线观看| 亚洲精品视频免费观看| 毛片在线播放网址| 蜜桃视频一区二区| 国产无码在线调教| 国内丰满少妇猛烈精品播| 一本大道香蕉中文日本不卡高清二区| 国产网站在线看| 日韩乱码免费一区二区三区| 国模私拍一区二区| AV天堂资源福利在线观看| 国产在线日本| 全部免费毛片免费播放| 国产成人综合网在线观看| 国产成人精品亚洲77美色| 一级毛片高清| 国产剧情国内精品原创| 成人国产精品视频频| 国产精品成| 国产网站一区二区三区| 亚洲日韩精品无码专区97| 成人在线亚洲| 日本AⅤ精品一区二区三区日| 亚洲天堂.com| 亚洲男人天堂2020| 少妇精品网站| 亚洲aaa视频| 亚洲第一视频免费在线| 亚洲最黄视频| 成人伊人色一区二区三区| 国产另类视频| 日本成人一区| 国产成年女人特黄特色大片免费| 国模沟沟一区二区三区| 精品欧美一区二区三区久久久| 亚洲欧美不卡中文字幕| 日本人妻丰满熟妇区| 国产视频只有无码精品| www精品久久| 免费国产不卡午夜福在线观看| 狼友视频一区二区三区|