0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

人機(jī)界面開發(fā)之開啟VNC功能同步HMI到PC

嵌入式程序員 ? 來源:嵌入式程序猿 ? 作者:嵌入式程序猿 ? 2020-10-10 09:22 ? 次閱讀

嵌入式開發(fā)中,經(jīng)常會有人機(jī)界面的開發(fā),如果你的板子有網(wǎng)口的話,可以開啟VNC功能,這樣就可以同步HMI到PC,平板,或者手機(jī)。親測效果非常棒。以emWin的VNC功能來介紹。

1

VNC簡介

emWin VNC 服務(wù)器可用于管理嵌入式目標(biāo)以及多種其他用途,支持壓縮(hextile)編碼。VNC 表示“虛擬網(wǎng)絡(luò)計算”。它是基于一種簡單的顯示協(xié)議的客戶端-服務(wù)器系統(tǒng),允許用戶從互聯(lián)網(wǎng)的任何地方查看和控制“桌面”計算環(huán)境,支持多種機(jī)器架構(gòu),采用的是 TCP/IP 通信協(xié)議。換言之:嵌入式設(shè)備的顯示內(nèi)容可以在運(yùn)行客戶端的機(jī)器(如 PC)的屏幕上看到;可以用鼠標(biāo)和鍵盤來
控制目標(biāo)。emWin 仿真和試用版都提供了該功能。emWin VNC 支持是一個單獨的軟件包,所以不包含在基本軟件包內(nèi)。VNC 支持需要 emWin 顏色。如果文件系統(tǒng)可用,還能在客戶端和帶 emWinVNC 客戶端的目標(biāo)之間實現(xiàn)文件傳輸,VNC 由兩類組件構(gòu)成:一是服務(wù)器,生成顯示,一是查看器,在屏幕上實際繪制顯示內(nèi)容。不但可以看到遠(yuǎn)程機(jī)器(目標(biāo)或仿真),而且可以通過鼠標(biāo)和鍵盤進(jìn)行控制。服務(wù)器和查看器可以在不同的機(jī)器上,可以采用不同的架構(gòu)。用于連接服務(wù)器和查看器的協(xié)議具有簡單、開放且不受平臺限制的特點。查看器不存儲狀態(tài)。斷開查看器與服務(wù)器的連接,然后重新連接不會導(dǎo)致數(shù)據(jù)丟失。由于可以從其他地方重新連接,因此可以輕松實現(xiàn)移動性。使用 VNC 服務(wù)器,可以從任何地方控制您的目標(biāo)機(jī)器。

2

運(yùn)行需求

因為VNC是跑在網(wǎng)絡(luò)上的,所以必須有TCP/IP協(xié)議棧,例如我們嵌入式中經(jīng)常用的lwip等就可以用,另外VNC 服務(wù)器需要以獨立線程運(yùn)行。因此,使用 emWin VNC 服務(wù)器要求采用多任務(wù)系統(tǒng)。最后如果要傳文件還需要文件系統(tǒng)。實現(xiàn)是完全線程安全的及可重入的;多個 VNC 服務(wù)器可以在同一 CPU 的不同層或顯示器中啟動。如果目標(biāo)(當(dāng)然,同樣適用于模擬)有多個顯示器或多個層,這可能是一個有用的選項。只有一個 VNC 服務(wù)器可以在任何時候在每一層啟動;一旦與查看器的連接結(jié)束,則可以連接另一個。

3

win32模擬

首先可以參考emwin的例程,VNC在同一電腦上模擬

打開模擬解決方案工程,使用vs2019模擬

打開工程配置使能VNC,也可以根據(jù)自己實際調(diào)整分辨率,這里以480*272來展示。如果編譯沒有問題運(yùn)行工程

打開VNC連接,可參照如下手冊提示連接

4

代碼分析

我們要將代碼移植到我們的硬件板子上其實也很簡單,首先要保證你的TCP/IP協(xié)議棧運(yùn)行正常,可以測試TCP/IP協(xié)議棧正常運(yùn)行后,開始移植VNC,主要就幾個文件需要根據(jù)不同的協(xié)議棧修改,但都是socket編程,所以接口都一樣。主要就是開啟VNC函數(shù)的實現(xiàn)

這里我們以lwip協(xié)議棧為例來說明,以IAR環(huán)境為工程載體,以freeRTOS操作系統(tǒng),參考上面的例程調(diào)用,先添加頭文件

這個函數(shù)就是實現(xiàn)創(chuàng)建VNC的任務(wù),在任務(wù)里調(diào)用 GUI_VNC_Process(&_Context, _Send, _Recv, (void *)Sock);去實現(xiàn)VNC的處理。

將實現(xiàn)的文件添加到工程里,并編譯無誤,

在GUI任務(wù)化地方調(diào)用開啟VNC服務(wù),還可以設(shè)置密碼,名字等等,調(diào)用相應(yīng)的API就可以

這樣編譯無誤后,就可以下載試驗了,更多API和玩法可以參考emWin手冊。這個之前測試過,手邊此刻沒有板子,就不給大家演示了。如果你是使用freeRTOS+lwip+emwin可以參照文中的代碼,基本不用變就可以用起來,當(dāng)然,之前必須保證你的GUI和TCP/IP協(xié)議棧可以正常使用??梢詤⒄涨懊娴哪M看效果。這樣就可以很炫的玩你的GUI了。
責(zé)任編輯:YYX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2049

    瀏覽量

    153810
  • HMI
    HMI
    +關(guān)注

    關(guān)注

    9

    文章

    578

    瀏覽量

    48384
  • VNC
    VNC
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    9246

原文標(biāo)題:讓你的HMI開啟VNC騷操作

文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    模組焊接(下)~人機(jī)界面組件解決方案 #觸控 #人機(jī)界面 #模組

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年07月23日 11:04:29

    模組焊接(上)~人機(jī)界面組件解決方案 #觸控 #人機(jī)界面 #模組

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年07月22日 10:33:41

    模組外觀設(shè)計(下) ~人機(jī)界面組件解決方案 #觸控 #人機(jī)界面 #模組

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年07月01日 17:21:06

    人機(jī)界面應(yīng)具備的特性是什么

    人機(jī)界面(Human-Machine Interface,簡稱HMI)是人與機(jī)器之間進(jìn)行信息交流和控制的媒介。一個優(yōu)秀的人機(jī)界面能夠提高工作效率、降低操作難度、增強(qiáng)用戶體驗。本文將從多個方面探討
    的頭像 發(fā)表于 07-01 14:24 ?465次閱讀

    模組面板打?。ㄉ希﹡人機(jī)界面組件解決方案 #觸控 #人機(jī)界面

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年06月22日 08:17:00

    模組面板打印設(shè)置~人機(jī)界面組件解決方案 #觸控 #人機(jī)界面 #模組

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年06月20日 11:35:00

    觸控顯示模組應(yīng)用案例~人機(jī)界面組件解決方案 #觸控 #人機(jī)界面 #模組

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年06月14日 10:32:47

    人機(jī)界面與組態(tài)軟件的區(qū)別

    在工業(yè)自動化、建筑管理、能源監(jiān)控等領(lǐng)域,人機(jī)界面(Human-Machine Interface,簡稱HMI)和組態(tài)軟件(Configuration Software)都是不可或缺的重要工具。兩者都
    的頭像 發(fā)表于 06-07 15:32 ?703次閱讀

    人機(jī)界面與工控機(jī)的區(qū)別

      在工業(yè)自動化和控制系統(tǒng)中,人機(jī)界面(Human-Machine Interface,簡稱HMI)和工控機(jī)(Industrial Personal Computer,簡稱IPC)是兩個不可或缺
    的頭像 發(fā)表于 06-06 11:28 ?914次閱讀

    家用電器人機(jī)界面電容觸摸膜片~人機(jī)界面組件解決方案 #彩膜面板 #觸控 #人機(jī)界面

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年05月28日 09:43:16

    制氧機(jī)觸控面板模組~人機(jī)界面組件解決方案 #彩膜面板 #觸控 #人機(jī)界面

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年05月24日 08:31:25

    RGB觸摸展示面板~人機(jī)界面組件解決方案 #觸控 #人機(jī)界面 #模組

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年05月09日 09:37:14

    空氣凈化器面板~人機(jī)界面組件解決方案 #觸控 #人機(jī)界面 #模組

    人機(jī)界面
    東莞市雨菲電子科技有限公司
    發(fā)布于 :2024年05月08日 09:53:25

    工業(yè)化設(shè)備人機(jī)界面解決方案

    IndustrialHMI)是一種帶微處理器的智能終端,一般用于工業(yè)場合,實現(xiàn)人和機(jī)器之間的信息交互,包括文字或圖形顯示以及輸入等功能。當(dāng)然也有大量的工業(yè)人機(jī)界面
    的頭像 發(fā)表于 11-16 08:26 ?590次閱讀
    工業(yè)化設(shè)備<b class='flag-5'>人機(jī)界面</b>解決方案

    什么是人機(jī)界面?人機(jī)界面跟觸摸屏有什么區(qū)別?

    人機(jī)界面與人們常說的“觸摸屏”有什么區(qū)別?從嚴(yán)格意義上來說,兩者是有本質(zhì)上的區(qū)別的。因為“觸摸屏”僅是人機(jī)界面產(chǎn)品中可能用到的硬件部分,是一種替代鼠標(biāo)及鍵盤部分功能,安裝在顯示屏前端的輸入設(shè)備;而
    的頭像 發(fā)表于 10-25 08:07 ?1819次閱讀
    什么是<b class='flag-5'>人機(jī)界面</b>?<b class='flag-5'>人機(jī)界面</b>跟觸摸屏有什么區(qū)別?