亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Linux的遠程控制系統(tǒng)綜合實驗設計

        2019-03-19 13:13:14鄭紅黨劉燦斌孫彥景
        實驗技術與管理 2019年2期
        關鍵詞:圖形界面內網蜂鳴器

        鄭紅黨, 劉燦斌, 孫彥景, 李 松

        (中國礦業(yè)大學 信息與控制工程學院, 江蘇 徐州 221116)

        隨著“三網融合”的提速,手機、數字電視、信息家電、網絡電話、汽車電子、醫(yī)療電子等行業(yè)成為嵌入式系統(tǒng)的重要應用領域[1-3]。盡管高校開設了嵌入式系統(tǒng)課程,但學生的軟件開發(fā)能力仍顯不足[4-5]。因此,相關實驗教學需更具直觀性和實用性[6],使學生能夠掌握嵌入式軟件開發(fā)的方法,具備計算機網絡、圖形界面設計、嵌入式服務器等技術的研發(fā)能力[7]。

        常用嵌入式操作系統(tǒng)有Linux、Windows Mobile、VxWorks等。Linux開放源代碼,有GNU下的各種開源軟件的支持,且支持幾乎所有的嵌入式CPU,具有低開發(fā)成本、高開發(fā)效率的優(yōu)勢,是目前應用最為廣泛的嵌入式操作系統(tǒng)[8]。本文基于Linux操作系統(tǒng)設計了遠程控制系統(tǒng)綜合實驗。下位機的應用軟件基于Linux操作系統(tǒng)開發(fā),搭建了可外網訪問的Web服務器和簡單的圖形界面;上位機應用軟件基于Web和Electron技術開發(fā),構建了桌面應用程序。

        1 系統(tǒng)設計分析

        遠程控制系統(tǒng)綜合實驗的功能為:用電腦或手機對嵌入式開發(fā)板中的LED燈、蜂鳴器和電位計進行遠程控制和狀態(tài)顯示,嵌入式開發(fā)板也可通過操作本地LCD面板界面控制設備和顯示設備狀態(tài)。設計包括上位機和下位機兩部分,如圖1所示。

        圖1 系統(tǒng)設計

        上位機提供桌面應用程序,對下位機中的LED燈和蜂鳴器進行遠程控制,并顯示下位機的狀態(tài)以及輔助性說明等內容。

        下位機硬件采用三星Exynos4412嵌入式平臺,軟件設計選用Linux操作系統(tǒng),運用QTE技術設計LCD面板的圖形用戶界面(GUI)。用戶可通過GUI操作,實現對下位機中LED燈、蜂鳴器的控制,實現電位計的數據采集,并在LCD面板中顯示各設備狀態(tài)。下位機還需搭建Boa Web服務器并使用內網透傳技術實現上位機的遠程訪問。

        綜上,實驗內容具體包括:

        (1) 嵌入式Linux開發(fā)環(huán)境的搭建及操作系統(tǒng)移植;

        (2) 設備驅動程序的開發(fā);

        (3) 嵌入式圖形界面的設計;

        (4) 嵌入式Web服務器的搭建;

        (5) 內網透傳技術的實現;

        (6) 上位機軟件設計。

        有關嵌入式Linux環(huán)境的搭建、移植及設備驅動設計方面的文獻較多,本文不再贅述,重點介紹上述(3)—(6)項內容的實現。

        2 圖形界面設計

        2.1 圖形界面

        采用QTE(Qt/Embedded)平臺設計面板的圖形界面。QTE是Qt平臺專門針對嵌入式Linux提供的API,可在嵌入式環(huán)境下構建GUI圖形界面。Qt Creator是跨平臺的Qt集成開發(fā)環(huán)境(IDE),有良好的圖形界面,通過“所見即所得”的開發(fā)方式,放置好控件并進行參數設定,即可生成Qt界面的XML文件[9]。

        QMainWindow控件是窗體控件,是圖形界面的載體。根據開發(fā)板平臺顯示面板的分辨率,設置窗體的長寬為480×272像素,并且刪除無關的標題欄、信息欄、選單欄、達到簡約的效果。

        下位機布置了3個Check Box控件:checkBox_led1、checkBox_led2、checkBox_beep,Check Box控件有“勾選”和“未勾選”兩種選擇,分別表示2個LED燈和蜂鳴器運行與否。

        QLCDNumber控件是一個類似數碼管顯示效果的數字顯示控件,它支持配置顯示樣式以及數字的位數。該實驗中,能實時顯示電位計的AD采樣值,實例化為LCDNumber。

        Label控件是可以顯示圖片、文字的標簽控件。在完成上述主要控件布置后,需要對軟件名稱、按鍵操作、顯示數字進行指引,故添加了若干Label控件。

        2.2 通信機制

        信號和槽是Qt自行定義的一種通信機制,應用于對象之間的通信[10]。當某個信號對其客戶或所有者的內部狀態(tài)發(fā)生改變,信號則被對象發(fā)射,和其相關聯(lián)的槽將被即時執(zhí)行,就像一個正常的函數調用。信號和槽的關系如圖2所示。

        圖2 信號與槽

        設計中一共有3個控制控件及1個數字顯示控件,信號與槽的設計見表1。為實現電位計數值的動態(tài)變化,采用Timer定時器每隔500 ms觸發(fā)一次timerEvent事件。

        表1 信號與槽函數對應關系

        在MainWindow.cpp窗體對象中,進行Signal和Slot的連接:

        connect(ui->checkBox_led1,SIGNAL(toggled(bool)),

        this,SLOT(LED1_Toggle()));

        connect(ui->checkBox_led2,SIGNAL(toggled(bool)),

        this,SLOT(LED2_Togg,le())); connect(ui->checkBox_beep,SIGNAL(toggled(bool)),

        this,SLOT(BUZZER_Toggle()));

        startTimer(500);

        對應的check_Box_ledx發(fā)出toggled信號,將執(zhí)行LEDx_Toggled()函數:

        LEDx_Toggled()

        {LEDx=~LEDx;

        if(LEDx==0)

        {ioctl(fb_led,1,1);}

        else

        {ioctl(fb_led,0,1);}

        }

        3 遠程控制

        為實現上位機(本地計算機或手機)的遠程控制,搭建了BOA服務器。BOA是一個小型的嵌入式Web服務器,可以有效減少資源的占用,提高Web服務器的穩(wěn)定性與可靠性,支持CGI編程和單線程處理用戶的訪問[11]。

        為實現上位機與下位機不在同一局域網內的遠程控制,設計中搭建了NGROK服務器,使用內網透傳技術實現局域網內的服務器被外網訪問。NGROK是一款開源的軟件,內網透傳的原理為反向代理。服務端要求有公網的IP地址,內網設備有相對固定的訪問接口,內網與公網NGROK服務端之間建立通道,進行反向代理,實現對客戶端的動態(tài)域名解析[12]。

        從NGROK官方網站ngrok.org可以得到免費的NGROK服務,下載對應平臺的客戶端并運行,就可以通過域名訪問內網的資源。設計中將本地的80端口映射為test.ngrok.cucb17.cn。

        下位機軟件包括BOA服務器和QTE的GUI軟件。模擬Linux設備驅動程序的方法,使用了共享文件的方式實現兩者的通信,程序流程如圖3所示。

        圖3 程序流程圖

        4 上位機軟件設計

        使用Web技術設計上位機界面,再用Electron構建一個桌面應用程序。Electron是使用Web前端技術開發(fā)跨平臺桌面應用的開源庫,它將Chromium和Node.js整合為一體,由Chromiun負責渲染前端界面,Node.js負責后臺的數據處理,并支持將Electron環(huán)境下運行的程序打包為Mac,為Windows和Linux系統(tǒng)下無環(huán)境依賴的桌面應用程序[13]。

        上位機界面包括控制操作以及下位機狀態(tài)顯示。根據需求,將上位機界面劃分為幾個區(qū)域:

        (1) 標題信息區(qū):用于顯示基本的標題和信息;

        (2) 控制操作區(qū):用于顯示控制界面;

        (3) 數據接收區(qū):用于接收下位機返回的數據;

        (4) 時延顯示區(qū):用于顯示連接時延;

        (5) IP配置區(qū):用于進行遠程IP地址的配置。

        使用屬性,添加了訪問設備地址的選擇區(qū)域。訪問設備地址IP有2種選項:(1)本地控制,上位機與下位機在同一局域網內;(2)遠程控制模式,NGROK服務器主機位于紐約。

        根據手機和PC端的兩種應用場景,分別進行界面布局。以手機為例,手機通常是屏幕較小的手機,豎屏顯示,其典型的顯示分辨率為360×640像素,界面設計如圖4所示。

        圖4 手機控制界面

        桌面應用程序實際運行方式為命令行,輸入eletron main.js執(zhí)行,main.js為主程序。配置窗體信息以及進行數據處理的主要代碼如下:

        function createWindow() {

        mainWindow = new BrowserWindow({width: 360, height: 640})

        mainWindow.loadURL(url.format({

        pathname:path.join(__dirname, ′index.html′),

        protocol: ′file:′,

        slashes: true

        }))

        ……}

        5 結語

        基于Linux遠程控制系統(tǒng)的綜合實驗內容既有Linux系統(tǒng)移植、驅動開發(fā)基本實驗,也有應用層軟件嵌入式圖形界面、Web服務器以及上位機應用程序的開發(fā)實驗。通過LCD面板界面和上位機軟件可同時控制LED燈和蜂鳴器并顯示其狀態(tài),實驗結果具有直觀性。

        猜你喜歡
        圖形界面內網蜂鳴器
        Epigallocatechin-3-gallate exerts antihypertensive effects and improves endothelial function in spontaneously hypertensive rats
        電動自行車產品車速提示音檢測現狀和整改技術研究(2)
        掌控板制作簡易鋼琴
        電腦報(2020年12期)2020-06-30 19:56:42
        單片機驅動蜂鳴器的程序設計
        時代農機(2019年2期)2019-04-24 01:20:14
        用VMRun快速置備千臺虛擬機
        企業(yè)內網中的數據隔離與交換技術探索
        科技資訊(2017年5期)2017-04-12 15:24:45
        地下車庫柱網布置設計思路
        山西建筑(2016年20期)2016-11-22 03:10:21
        QoS技術在企業(yè)內網實踐探索
        科技資訊(2016年19期)2016-11-15 08:17:44
        豐田凱美瑞240V車間隙警告蜂鳴器異常鳴響
        重看圖形界面“扁平化”與“擬物化”之爭——關于設計思維的探討
        真人直播 免费视频| 久久精品熟女亚洲av香蕉| 日韩日韩日韩日韩日韩日韩日韩| 国产婷婷色综合av蜜臀av| 2021久久最新国产精品| 一区二区av日韩免费| 久久久精品人妻一区二区三区游戏| 曰本女人与公拘交酡| 国产亚洲av手机在线观看| 国产国拍亚洲精品永久69| 成人大片在线观看视频| 无套中出丰满人妻无码| 久久久久国产精品免费免费搜索| 最新在线观看精品国产福利片| 日产国产精品亚洲高清| 少妇被粗大的猛进出69影院 | 鲁鲁鲁爽爽爽在线视频观看| 纯肉无遮挡H肉动漫在线观看国产| 亚洲国产av中文字幕| 婷婷亚洲岛国热超碰中文字幕| 国产精品无码av一区二区三区| 中文字幕一区二区三区四区在线| 亚洲一区二区三区1区2区| 强开小婷嫩苞又嫩又紧视频| 人人玩人人添人人澡| 亚洲国产精品无码久久九九大片健| 亚洲第一页视频在线观看| 日韩精品无码一本二本三本色| 美女视频一区| 国产最新一区二区三区| 级毛片内射视频| 欧美疯狂做受xxxx高潮小说| 亚洲中字幕永久在线观看| 精品国产一区二区三区香| 99国产精品久久久蜜芽| 国产夫妻av| 91热久久免费频精品99| 中文字幕精品一区二区精品| 婷婷开心深爱五月天播播| 国产人成在线免费视频| 友田真希中文字幕亚洲|