【飛凌嵌入式 RK3399-C 開發板試用體驗】(使用QT編寫組態控件)

原創 2020-09-30 09:38:00 RK3399 RK3399開發板

作者:fcb5511


幾年前基于stm32平臺做過一套簡單的組態程序,基本上能滿足公司項目的需求,但是對于一些復雜的功能需求,這套軟硬件就顯得愛莫能助了,并且stm32是在全裸機的條件下開發,整套工程導出需要借助上位機開發的界面編輯軟件通過USB讀寫,很是麻煩。一個看似簡單的控件繪圖,可能需要編寫大量的程序。一直想著嘗試在QT環境下來做一套功能升級的替代。直到看到這款OK3399-C,不管是硬件資源還是性能,都很合適。大致羅列一下我想到的一些基礎控件:


1、 按鍵(分普通按鍵和帶狀態鎖的)

2、 動態數據顯示控件

3、 靜態文本顯示控件

4、 儀表

5、 柱狀圖

6、 曲線圖

7、 狀態顯示

8、 表格

9、 腳本執行器

10、…


本次時間有限,先實現了三個控件的顯示:1、兩態按鍵(能綁定圖片和報警信號,區分點擊狀態,釋放狀態和報警狀態)2、儀表(能設置儀表盤的角度區間和量程區間,表盤顏色,指針顏色等)3、曲線圖,能設置圖標顏色,曲線顏色,X軸測量周期和Y軸測量值范圍等。
按鍵和儀表均通過QPainter實現,曲線圖表初次嘗試使用QT的可視化視圖實現(貌似做動態曲線不太方便,X軸刻度想做成自定義格式比較麻煩,先湊合用吧,后面再改),使用QT的可視化試圖需要安裝QtCharts包,OK3399-C提供的QT是不包含此包的。安裝QtCharts的方式如下

1、從github克隆源碼包
git clone https://github.com/qtproject/qtcharts.git

2、檢出版本分支
git checkout 5.7(一定要做這一步)

3、執行qmake

4、執行make

5、執行安裝
make install

打開QtCreator
新建工程,ui界面類型選widget和mainwindow均可,名字隨意
QT工程中用Qtcharts需要對pro文件進行設置
添加 QT +=  chart


我的ui是mainwindow,尺寸選擇1024x600,在mainwindow窗體添加QLable作為所有控件的父控件。

按鍵,儀表,曲線圖控件分別以三個類的方式實現,代碼結構如下:


控件在窗體中的拖動通過捕獲鼠標事件實現,控件最終運行效果如下:


本次項目最終實現的三個控件功能只是組態功能中最基本的顯示,曲線圖的拖動效果還存在問題,后期功能開發還包括在頁面編輯中通過添加不同控件并編輯相關功能,保存數據庫或配置文件,這里暫定用json來存儲頁面的控件配置信息。至于數據交互,暫定使用RabbitMq和共享內存的方式,通過RabbitMq可以將網絡中的數據匯集到本機,本機將原始數據幀解析寫入共享內存,方便應用程序的本地快速讀寫。


相關產品 >

  • FET3399-C核心板

    飛凌RK3399安卓高性能核心板采用 采用六核Rockchip RK3399芯片,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、內存等作了大幅優化,在整體性能、功耗及核心面積三個方面提升。以下將對瑞芯微芯片RK3399參數,RK3399核心板方案及其性能做具體介紹。如您對飛凌RK3399系列核心板有興趣,歡迎咨詢了解。

    了解詳情
    FET3399-C核心板
  • OK3399-C開發板

    飛凌嵌入式RK3399安卓開發板主芯片采用高性能六核CPU Rockchip RK3399,GPU采用Mail-T860四核 GPU,RK3399作為目RK產品線中低功耗、高性能的代表,可滿足人臉識別設備、機器人、無人機、IoT物聯網領域應用。飛凌RK3399開發板在整體性能、功耗及核心面積做了大幅度優化,更加滿足工業設計需求。飛凌RK3399開發板為進一步減少用戶二次開發難度,開放了底板原理圖,并提供了RK3399用戶手冊、芯片手冊,加上優質的技術服務,讓您的方案從構思到上市時間縮短。

    了解詳情
    OK3399-C開發板

推薦閱讀 換一批 換一批