無(wú)屏也能高效調(diào)!RK3506 開(kāi)發(fā)板 Qt 應(yīng)用 Qt-Vnc 遠(yuǎn)程控制方案
Forlinx
2025-11-05 14:22:00
RK3506
在基于OK3506開(kāi)發(fā)板的嵌入式項(xiàng)目中,開(kāi)發(fā)人員常面臨這樣的困境:調(diào)試帶圖形界面的Qt應(yīng)用時(shí),現(xiàn)場(chǎng)缺乏適配的物理屏幕,導(dǎo)致無(wú)法直觀觀察界面效果和交互邏輯。針對(duì)這一核心痛點(diǎn),Qt-Vnc技術(shù)提供了高效解決方案——通過(guò)將板端Qt應(yīng)用的顯示輸出重定向至PC端,實(shí)現(xiàn)遠(yuǎn)程可視化調(diào)試。本文將詳細(xì)拆解該方案的實(shí)現(xiàn)原理、操作步驟及常見(jiàn)問(wèn)題處理,幫助開(kāi)發(fā)人員快速落地應(yīng)用。
硬件平臺(tái):OK3506-C開(kāi)發(fā)板 操作系統(tǒng):Linux6.1.99
一、方案核心:Qt-Vnc技術(shù)原理與環(huán)境基礎(chǔ)
1.1 技術(shù)本質(zhì):跨設(shè)備的圖形傳輸橋梁
Qt-Vnc是Qt框架對(duì)VNC(Virtual Network Computing)協(xié)議的實(shí)現(xiàn),其核心邏輯是將Qt應(yīng)用的圖形渲染結(jié)果轉(zhuǎn)化為VNC協(xié)議數(shù)據(jù),通過(guò)網(wǎng)絡(luò)傳輸至PC端的VNC客戶端。在這一過(guò)程中,OK3506開(kāi)發(fā)板作為VNC服務(wù)端,負(fù)責(zé)運(yùn)行Qt應(yīng)用并推送圖形數(shù)據(jù);PC端作為客戶端,通過(guò)VNC-Viewer接收數(shù)據(jù)并展示界面,同時(shí)支持鼠標(biāo)、鍵盤(pán)等外設(shè)操作的反向傳輸,實(shí)現(xiàn)“所見(jiàn)即所得”的遠(yuǎn)程調(diào)試。
1.2 環(huán)境前置要求
- Qt版本:需使用5.8及以上版本,對(duì)VNC協(xié)議的支持更穩(wěn)定,適配嵌入式設(shè)備圖形渲染需求。
- 核心依賴庫(kù):飛凌嵌入式RK3506開(kāi)發(fā)板默認(rèn)鏡像已預(yù)集成qvnc動(dòng)態(tài)庫(kù),進(jìn)入路徑/usr/lib/qt/plugins/platforms,確認(rèn)存在libqvnc.so文件即可。
- 網(wǎng)絡(luò)環(huán)境:RK3506板端與PC端需處于同一局域網(wǎng),網(wǎng)絡(luò)通暢且無(wú)防火墻或端口攔截。
二、完整實(shí)現(xiàn)流程:從環(huán)境配置到連接驗(yàn)證
方案分為"PC端客戶端配置""OK3506板端服務(wù)端部署""連接驗(yàn)證"三個(gè)核心階段,以下是詳細(xì)操作步驟:
1階段一:PC端VNC客戶端安裝
- 通過(guò)官方鏈接Download VNC Viewer by RealVNC?下載對(duì)應(yīng)Windows版本安裝包;
- 雙擊安裝包,按照向?qū)瓿砂惭b,無(wú)需額外配置,啟動(dòng)后即可進(jìn)入連接界面。
2階段二:RK3506開(kāi)發(fā)板服務(wù)端配置
板端提供兩種配置方式,可根據(jù)調(diào)試需求選擇:
方式1:環(huán)境變量全局配置(多應(yīng)用調(diào)試)
- 通過(guò)串口或SSH登錄RK3506k開(kāi)發(fā)板終端;
- 執(zhí)行命令設(shè)置環(huán)境變量:export QT_QPA_PLATFORM=vnc;
- 直接啟動(dòng)Qt應(yīng)用,例如:./fltest_qt_4g,默認(rèn)使用5900端口提供VNC服務(wù)。
方式2:?jiǎn)?dòng)參數(shù)單獨(dú)配置(指定應(yīng)用調(diào)試)
- 終端中進(jìn)入Qt應(yīng)用所在路徑(默認(rèn)demo路徑為/usr/bin);
-
執(zhí)行啟動(dòng)命令,格式:
./[應(yīng)用名稱] -platform vnc:size=[分辨率],port=[端口號(hào)]示例命令:./fltest_qt_4g -platform vnc:size=800x600,port=12345
- 參數(shù)說(shuō)明:size指定遠(yuǎn)程顯示分辨率(如800x600、1024x768),port指定VNC服務(wù)端口(1024-65535),未指定端口默認(rèn)使用5900。
3階段三:連接驗(yàn)證與功能測(cè)試
完成兩端配置后,需通過(guò)以下步驟驗(yàn)證遠(yuǎn)程調(diào)試功能是否正常,3506的默認(rèn)鏡像中在/usr/bin路徑下有放置一些fltest_qt_XX的qt demo,在/usr/bin路徑下運(yùn)行fltest_qt_4g,設(shè)置顯示的分辨率為800x600,端口號(hào)為12345
- 獲取板端IP:在OK3506終端執(zhí)行ifconfig命令,記錄局域網(wǎng)IP(示例:172.20.2.159);
- PC端連接:?jiǎn)?dòng)VNC-Viewer,地址欄輸入"板端IP:端口號(hào)"(示例:172.20.2.159:12345),點(diǎn)擊"Connect";
- 功能驗(yàn)證:連接成功后,PC端將顯示Qt應(yīng)用圖形界面,操作鼠標(biāo)、鍵盤(pán),板端應(yīng)用實(shí)時(shí)響應(yīng)即說(shuō)明功能正常。
VNC連接界面示例
三、常見(jiàn)問(wèn)題與排查方案
3.1 連接失敗:VNC-Viewer提示“無(wú)法建立連接”
- 原因1:網(wǎng)絡(luò)不通:PC端ping板端IP,若無(wú)法ping通,檢查網(wǎng)線連接、WiFi配置,確保處于同一局域網(wǎng);
- 原因2:端口錯(cuò)誤或被占用:確認(rèn)兩端端口號(hào)一致;執(zhí)行netstat -tuln | grep [端口號(hào)]或ss -tuln | grep [端口號(hào)],端口被占用則更換未使用端口;
- 原因3:依賴庫(kù)缺失:若提示“l(fā)ibqvnc.so not found”,重新燒錄OK3506完整鏡像,確保預(yù)集成庫(kù)文件存在。
3.2 界面卡頓或無(wú)響應(yīng)
- 原因1:網(wǎng)絡(luò)帶寬不足:減少局域網(wǎng)內(nèi)其他設(shè)備網(wǎng)絡(luò)占用,或降低Qt應(yīng)用界面分辨率(如800x600改為640x480);
- 原因2:板端資源不足:通過(guò)top命令查看板端CPU、內(nèi)存占用,關(guān)閉無(wú)關(guān)進(jìn)程后重新啟動(dòng)應(yīng)用。
3.3 外設(shè)操作無(wú)響應(yīng)
若PC端鼠標(biāo)鍵盤(pán)操作無(wú)法同步至板端,需開(kāi)啟VNC-Viewer的“輸入設(shè)備同步”功能:連接后點(diǎn)擊頂部菜單欄“Options”,勾選“Send keyboard and mouse events”,保存設(shè)置后重新連接。
四、方案價(jià)值與擴(kuò)展參考
方案核心價(jià)值
本方案通過(guò)Qt-Vnc技術(shù),僅需簡(jiǎn)單環(huán)境配置即可解決OK3506板端Qt應(yīng)用無(wú)屏調(diào)試問(wèn)題。相比外接臨時(shí)屏幕的方式,大幅降低開(kāi)發(fā)成本,提升調(diào)試效率,尤其適用于現(xiàn)場(chǎng)環(huán)境復(fù)雜或設(shè)備部署分散的場(chǎng)景。
擴(kuò)展參考
如需深入了解Qt-Vnc的底層實(shí)現(xiàn)或高級(jí)配置(如加密傳輸、多用戶訪問(wèn)控制),可參考技術(shù)鏈接:Qt-Vnc協(xié)議深度解析與優(yōu)化。
總結(jié)
OK3506板端Qt應(yīng)用遠(yuǎn)程調(diào)試的核心在于Qt-Vnc的“服務(wù)端-客戶端”架構(gòu)搭建,關(guān)鍵步驟可概括為“PC端裝客戶端、板端配啟動(dòng)參數(shù)、局域網(wǎng)連IP端口”。掌握該方案后,開(kāi)發(fā)人員可脫離物理屏幕限制,實(shí)現(xiàn)Qt應(yīng)用的高效調(diào)試與迭代。
相關(guān)產(chǎn)品 >
-
FET3506J-S核心板
RK3506J是一款高性能的三核Cortex-A7應(yīng)用處理器,專為智能工業(yè)應(yīng)用而設(shè)計(jì)。飛凌嵌入式基于RK3506J設(shè)計(jì)的核心板,價(jià)格僅88元,滿載功耗僅0.7W,是一款值得推薦使用的工業(yè)級(jí)國(guó)產(chǎn)核心板,滿足電力、交通、工控等行業(yè)對(duì)國(guó)產(chǎn)化的要求。同時(shí)進(jìn)行了充分的可靠性測(cè)試,確保在工業(yè)環(huán)境的可靠運(yùn)行。
了解詳情

-
OK3506J-S開(kāi)發(fā)板
開(kāi)發(fā)板基于Rockchip RK3506J處理器開(kāi)發(fā)設(shè)計(jì)。采用了100%國(guó)產(chǎn)化物料,滿足電力、交通、工控等行業(yè)對(duì)國(guó)產(chǎn)化的要求。同時(shí)進(jìn)行了充分的可靠性測(cè)試,確保在工業(yè)環(huán)境的可靠運(yùn)行。RK3506J是一款高性能的三核Cortex-A7應(yīng)用處理器,其具有優(yōu)秀的功耗控制與散熱能力,專為智能工業(yè)應(yīng)用而設(shè)計(jì)。具備豐富的外圍接口,如RMII、UART、CAN、Display等,可以滿足不同的應(yīng)用場(chǎng)景開(kāi)發(fā)。10~15年生命周期,為您的產(chǎn)品提供持續(xù)供應(yīng)保障。
了解詳情低功耗,低發(fā)熱

-
FET3506J-C核心板
RK3506J核心板|采用可插拔式板對(duì)板連接設(shè)計(jì),尺寸更小,既便于產(chǎn)品生產(chǎn)組裝,又方便后期維護(hù)升級(jí)。本核心板基于 Rockchip RK3506 處理器開(kāi)發(fā),通過(guò)飛凌嵌入式實(shí)驗(yàn)室嚴(yán)苛的工業(yè)環(huán)境測(cè)試,確保品質(zhì)穩(wěn)定可靠,且提供 10~15 年生命周期支持,保障供應(yīng)長(zhǎng)期穩(wěn)定。 了解詳情
-
OK3506J-C開(kāi)發(fā)板
飛凌嵌入式 OK3506J-C 開(kāi)發(fā)板采用瑞芯微三核Cortex-A7應(yīng)用處理器 RK3506J,產(chǎn)品采用 “核心板 + 底板” 的分體式設(shè)計(jì),通過(guò) 2個(gè)80 pin 板對(duì)板連接器將處理器的功能引腳全部引出,并針對(duì)不同的功能做了深度優(yōu)化。開(kāi)發(fā)板集成了 RMII、UART、CAN-FD、Display 等豐富功能接口,方便用戶二次開(kāi)發(fā)的同時(shí)簡(jiǎn)化用戶設(shè)計(jì),為您的項(xiàng)目提供良好的評(píng)估及設(shè)計(jì)依據(jù)。
了解詳情


