<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

人機界面開發之開啟VNC功能同步HMI到PC

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

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

1

VNC簡介

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

2

運行需求

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

3

win32模擬

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

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

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

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

4

代碼分析

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

這里我們以lwip協議棧為例來說明,以IAR環境為工程載體,以freeRTOS操作系統,參考上面的例程調用,先添加頭文件

這個函數就是實現創建VNC的任務,在任務里調用 GUI_VNC_Process(&_Context, _Send, _Recv, (void *)Sock);去實現VNC的處理。

將實現的文件添加到工程里,并編譯無誤,

在GUI任務化地方調用開啟VNC服務,還可以設置密碼,名字等等,調用相應的API就可以

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PC
    PC
    +關注

    關注

    9

    文章

    1967

    瀏覽量

    152974
  • HMI
    HMI
    +關注

    關注

    9

    文章

    496

    瀏覽量

    47962
  • VNC
    VNC
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9207

原文標題:讓你的HMI開啟VNC騷操作

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

收藏 人收藏

    評論

    相關推薦

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

    人機界面
    東莞市雨菲電子科技有限公司
    發布于 :2024年05月31日 09:29:47

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

    人機界面
    東莞市雨菲電子科技有限公司
    發布于 :2024年05月30日 10:34:00

    彩膜電容觸控~人機界面組件解決方案 #彩膜面板 #觸控 #人機界面

    人機界面
    東莞市雨菲電子科技有限公司
    發布于 :2024年05月29日 10:10:22

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

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

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

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

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

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

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

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

    飲水機展示面板~人機界面組件解決方案 #觸控 #人機界面 #模組

    人機界面
    東莞市雨菲電子科技有限公司
    發布于 :2024年05月07日 09:13:09

    工業化設備人機界面解決方案

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

    什么是人機界面?人機界面跟觸摸屏有什么區別?

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

    Arduino人機界面及接口技術入門

    Arduino人機界面及接口技術入門
    發表于 10-23 09:19 ?0次下載

    如何創建一個更有效的電容式觸摸人機界面

    我們現在看到支持多點觸控的互動式人機界面HMI),在現代各種行業領域電子硬件中采用的比例越來越大。技術的更新帶來一種更為方便而廣泛的控制方法,相較于過去較為笨重的機電HMI(如小鍵盤),支持多點
    的頭像 發表于 08-29 15:29 ?665次閱讀

    如何編寫人機界面

    很多人在編寫人機界面的時候很苦惱,不知道具體需要哪些內容,最后編寫出來的界面會很凌亂,讓人操作起來很吃力。
    的頭像 發表于 08-25 13:58 ?723次閱讀
    如何編寫<b class='flag-5'>人機界面</b>

    人機界面通過RJ45口無線連接多臺PLC

    人機界面是系統和用戶之間進行交互和信息交換的媒介,它實現信息的內部形式與人類可以接受形式之間的轉換。人機界面產品由硬件和軟件兩部分組成,硬件部分包括處理器、顯示單元、輸入單元、通訊接口、數據存貯單元
    的頭像 發表于 08-24 09:13 ?789次閱讀
    <b class='flag-5'>人機界面</b>通過RJ45口無線連接多臺PLC

    人機界面是什么意思

    人機界面是什么意思 anputerterface,簡稱HCI)是指人與計算機之間進行信息交互的方式和技術,是計算機科學、人類學、心理學等交叉學科的研究領域之一。 人機界面的特征包括以下幾個方面 1.
    發表于 07-03 14:13 ?937次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>