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

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

3天內不再提示

數(shù)據(jù)可視化工具:FreeMASTER v3.0發(fā)布評測

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-10-30 03:48 ? 次閱讀

FreeMASTER 是一個界面友好的,可用于實時觀察目標系統(tǒng)中變量內容的數(shù)據(jù)可視化軟件??梢酝ㄟ^多種通信方式將 PC 機和微控制器電路板連接,實時捕獲和配置微控制器中(存放變量)的內存信息,并顯示在 PC 機的軟件窗口中。


FreeMASTER 軟件最早用于汽車電子相關的軟件開發(fā)中,后被廣泛應用在多種開發(fā)環(huán)境,用以提供友好的人機交互界面。


從筆者的開發(fā)經歷中,特別是分析例如觸摸感應等模擬傳感器信號時,常用 FreeMASTER 實現(xiàn)一個簡易的示波器,將單片機中實時采集的傳感器信息繪制成時域曲線,顯示在電腦界面上,從而便于分析數(shù)據(jù),尋找其中的變化規(guī)律,進而提取特征信息用于特定的模式匹配。在進行最近比較火熱的嵌入式 AI 開發(fā),在海量的數(shù)據(jù)處理過程中,通過 FreeMASTER 的可視化界面,監(jiān)控計算過程中間某些關鍵變量的變化過程,簡直不要太方便了,就是在給領導和客戶演示的時候也是逼格滿滿 .


筆者之前在本公眾號中,發(fā)表過一篇關于基本使用 FreeMASTER 的短文,可以幫助嵌入式工程師在 5 分鐘內上手使用 FreeMASTER v2.0 工具,見: 使用 FreeMASTER 捕獲采樣記錄并導出重現(xiàn)曲線。


近期,NXP 官方發(fā)布了 FreeMASTER v3.0,據(jù)說進行了很大的更新,在本文中,筆者對新版本的 FreeMASTER 進行了試用,并同大家分享使用體驗。


安裝過程
下載頁面中還能看到,官網仍然開放了歷史版本 v2.0 和 v2.5 的下載鏈接。筆者常用的是 v2.0 版本。



比較驚喜的是,F(xiàn)reeMASTER 終于開始能夠跨平臺了,本次更新提供了 Linux 系統(tǒng)的安裝包。但是根據(jù)說明,在 Linux 上只支持 FreeMASTER Lite 服務和相關的文檔,大家熟悉的桌面版沒有提供 Linux 平臺的支持。


從安裝包的大小來看,新版的安裝包整整增大了一個數(shù)量級,從 v2.x 的 40MB 左右,一下子劇增到近 300MB,筆者不禁腦補了一下,最近到底給它喂了些什么。


安裝
下載之后雙擊安裝包安裝。安裝過程也是全新的,用了 InstallAnywhere 打包工具對整個軟件包進行打包。界面看起來更可愛一些,但略顯簡單。筆者作為一個資深的嵌入式系統(tǒng)工程師,還是更喜歡之前版本使用 InstallShell 打包工具簡潔干練的工業(yè)風。



這里特別注意,在安裝過程中,如果不是明確需要使用"FreeMASTER Lite 服務",而只是使用原有大家熟悉的使用 FreeMASTER 桌面版提供的功能,可以在安裝過程中勾選掉相關的選項。否則會需要提供專門的激活碼 .


一開始安裝的時候由于疏忽跳過了激活碼,由于不知道怎樣獲得"激活碼",本打算先安裝試用部分功能,但沒想到沒有激活碼竟然直接回滾安裝,F(xiàn)reeMASTER 的基本功能也被卸載了。后來詢問其它同事才知道,這個激活碼是在安裝過程中自動創(chuàng)建申請的,最關鍵的,它是免費的。然后筆者重新安裝,注意到了安裝過程中的一個頁面的一段說明:



之前安裝到這個步驟的時候,自動彈出了一個網頁,但是被筆者想當然地給關掉了。


現(xiàn)在看來是自動發(fā)出的申請激活碼的請求。但之前戳"NO"的時候直接回滾了整個安裝,這次選"YES"。


彈出網絡瀏覽器并訪問 NXP 官網,需要 NXP 注冊賬戶授權,然后在網頁中確認軟件使用許可聲明。



最后獲得激活碼。



PS: 筆者仔細閱讀了一下這個激活碼的回單,發(fā)現(xiàn)激活碼是根據(jù) PC 的某種"機器識別碼"生成的,也就是說,它是綁定在 PC 上的。好吧,反正是 free 的,如果換臺電腦就再申請一次就好。


后續(xù)的安裝還出現(xiàn)了不少提示說重復復制文件的問題,這可能是使用新的部署工具沒有處理好文件的解壓順序導致的,不影響最終的安裝功能。另外,安裝過程后來還是通過網絡執(zhí)行了一遍在線激活過程。


安裝之后查了一下安裝根目錄,再一次被驚呆了,F(xiàn)reeMASTER 竟然專門包含了一個 JRE(Jave 運行時環(huán)境),不必自行匹配相應的軟件版本了。



特別注意,如果需要安裝 FreeMASTER Lite 功能,必須確保電腦已經聯(lián)網,并且能夠順利訪問到 nxp.com 的官網。


試用
從 pmp 到 pmpx
按照筆者們對已經熟悉的老版本 FreeMASTER 的使用步驟,創(chuàng)建工程,導入 MCU 端的可執(zhí)行文件解析符號表,根據(jù)符號表項創(chuàng)建變量,創(chuàng)建示波器頁面,在示波器頁面中加載變量,開始采樣。一頓操作猛如虎,最終正常工作。這說明新版本確實是能做到兼容老版本用戶的使用習慣。


筆者注意到,v3.0 版本創(chuàng)建工程的擴展名是".pmpx",而不是原來的".pmp",多了一個"x"。難道這是學了 MS Office 套件升級文件擴展名的思路? 筆者用 sublime text 打開工程文件查看其源代碼,果不其然,新版本的工程文件已經換用可讀的 xml 檔案組織格式了,而老版本的工程文件是無法查看源代碼的。這就意味著,在使用新版本的 FreeMASTER 時,可以以修改源文件的方式精細配置工程,這對于開發(fā)工程師來講絕對是一個"有良心"的設計。



另外,筆者還試著在新版的軟件窗口中導入原有二進制編碼的 pmp 工程文件,同老版使用完全一樣,無縫完全兼容??磥?FreeMASTER 的開發(fā)人員在歷史兼容性上下了很大的工夫。(實際上這個變更在 v2.5 中就已經實現(xiàn)了).


ActiveX 控件
FreeMASTER 的 ActionX 控件應該是它在基本功能外的另一個亮點。ActiveX 控件是 Microsoft Windows 系統(tǒng)中的應用功能擴展庫,可用于互聯(lián)網的很小的程序,有時稱為插件程序。


通過使用 ActiveX 控件,在 FreeMASTER 運行框架下,可以使用網頁作為界面,訪問到單片機中內存中的變量。FreeMASTER 的 ActiveX 控件僅提供面向電路板的內存訪問服務,而網頁 UI 的呈現(xiàn)則完全由用戶自由發(fā)揮,這就為創(chuàng)建豐富的 UI 創(chuàng)造了靈活的平臺。


雖然 FreeMASTER 的手冊中幾乎沒有提到如何將 ActiveX 控件用于用戶產品設計的說明,但憑借筆者極強的想象力,還是摸索出一套可行的用法。


實際上,F(xiàn)reeMASTER 安裝包中提供了一個通過 JavaScript 在 htm 網頁中調用 ActiveX 控件的例子。位于"FreeMASTER 3.0/FreeMASTER/examples/scripting/JavaScript-ActiveX"目錄下的"example.htm"文件。但是為了把這個代碼運行起來,需要一波神操作。


首先,從 MCUXpresso SDK 中導出一個 hello_world 工程(基于 lpcxpresso55s69 開發(fā)套件),之后在源代碼中創(chuàng)建全局變量"var16","var16inc"及"arr16"并確保它們不會被編譯器的自動優(yōu)化掉。

volatile uint16_t var16 = 0u;

volatile uint16_t var16inc = 0;

volatile uint16_t arr16[10] = {0,1,2,3,4,5,6,7,8,9};


復制代碼

之后編譯下載工程工程到開發(fā)板。


然后就是 FreeMASTER 的操作了。創(chuàng)建 FreeMASTER 工程,導入之前編譯好的可執(zhí)行程序文件,之后在 FreeMASTER 中創(chuàng)建對應的"var16","var16inc"及"arr16"變量。將 FreeMASTER 安裝目錄下的"example.htm"文件復制到新創(chuàng)建的 FreeMASTER 用戶工程目錄下,然后在 FreeMASTER 工程中引用這個文件:



此時,可以看到網頁上有一些按鈕和一些內容框,試著戳了幾下,會報錯,顯示沒有有效連接。



此時,啟動 FreeMASTER 工程,按這些按鈕,就能讀到和寫入位于單片機內存中的變量了。



查看"example.htm"文件的源代碼可以看到 FreeMASTER 的 ActiveX 讀寫遠程變量基本函數(shù)的用法:


function read_variable(name,span_id)


{


/* ReadVariable uses FreeMASTER variable object from current project。Use


* ReadUIntVariable to access the memory directly using a symbol name。*/


if(pcm.ReadVariable(name))


document.getElementById(span_id).innerHTML = pcm.LastVariable_vValue;


else


on_error("Error when reading variable " + name + "。" + pcm.LastRetMsg);


}

function write_variable(name,input_id)


{


var val = document.getElementById(input_id).value;

/* WriteVariable uses FreeMASTER variable object from current project。Use


* WriteUIntVariable to access the memory directly using a symbol name。*/


if(pcm.WriteVariable(name,val))


document.getElementById("status").innerHTML = "Write of the " + name + " succeeded.";


else


on_error("Error when writting variable " + name + "。" + pcm.LastRetMsg);


}


復制代碼

JSON-PRC 輕量級遠程調用協(xié)議
這里暫時略過對 JSON-PRC 協(xié)議的介紹。從實用角度看,它是用于替換 ActiveX 的,同樣能夠提供從網頁到電路板的訪問服務。
在新版 FreeMASTER 的手冊中,將 JSON-PRC 稱之為一種"現(xiàn)代的"技術,特別要配合 Chromium 引擎使用。而 Chromium 引擎就是 Google 旗下大名鼎鼎的 Chrome 瀏覽器使用的內核。相對應地,ActiveX 對應使用的是 Microsoft IE 瀏覽器技術。



同 ActiveX 相似,F(xiàn)reeMASTER 的安裝目錄中也有 JSON-PRC 的樣例代碼,位于"FreeMASTER 3.0/FreeMASTER/examples/scripting/JavaScript-JSON-RPC"目錄下。


將這個目錄整個復制到新創(chuàng)建的 FreeMASTER 工程目錄下。之后在 FreeMASTER 工程中創(chuàng)建一個新的頁面"JS-JSON-PRC"并引用 JSON-PRC 版本的"example.htm"網頁文件。此時啟動 FreeMASTER 工程后會報錯,因為缺少一個關鍵的步驟。


將 FreeMASTER 工程的網頁解釋器換成 Chromium 引擎。選中"project" -> "option",在"option"對話框中,選中"使用 Chromium 引擎"的選項。注意,切換到 Chromium 引擎后,基于 IE 的 ActiveX 控件就不能使用了。



此時再啟動 FreeMASTER 工程,就能看到之前使用 ActiveX 控件實現(xiàn)的操作單片機內存變量的網頁, 戳戳看也能正常讀寫內存了。從功能上看,使用 Chromium 引擎實現(xiàn)的網頁同之前使用 ActiveX 幾乎完全一樣,但是顯示效果看起來好很多,字體比較圓潤??紤]到 Chromium 引擎已經成為眾多流行瀏覽器內核的事實,F(xiàn)reeMASTER 在技術上需要與時俱進,這可能也是 v3.0 的設計初衷吧。



看一下 JSON-PRC 版的示例網頁源碼,可以看到在 javascript 腳本部分引用的關鍵組件:


復制代碼


這是同 ActiveX 方式的關鍵區(qū)別,對應地,在 ActiveX 版的樣例代碼中,在網頁顯示部分引用了 ActiveX 組件:


復制代碼


當然,對變量讀寫函數(shù)的使用方式上也有一些不同:


function read_variable(name,span_id)


{


/* ReadVariable uses FreeMASTER variable object from current project。Use


* ReadUIntVariable to access the memory directly using a symbol name。*/


return pcm.ReadVariable(name)


.then((value) => {


document.getElementById(span_id).innerHTML = value.data;


})


.catch((err) => {


on_error(err.msg);


});


}

function write_variable(name,input_id)


{


var val = document.getElementById(input_id).value;


/* WriteVariable uses FreeMASTER variable object from current project。Use


* WriteUIntVariable to access the memory directly using a symbol name。*/


pcm.WriteVariable(name,val)


.then(() => {


document.getElementById("status").innerHTML = "Write of the " + name + " succeeded.";


})


.catch((err) => {


on_error(err.msg);


});


}


復制代碼


FreeMASTER Lite 服務


FreeMASTER Lite 是 v3.0 新增的獨立組件,用于脫離經典的 FreeMASTER 框架提供從桌面到電路板的數(shù)據(jù)訪問。


實際上,這幾乎是一個并列于 FreeMASTER 桌面版的全新軟件包。它以"服務"的形式運行在系統(tǒng)后臺,提供了 JSON-PRC 接口用于訪問遠程連接的電路板。就像大多數(shù)操作系統(tǒng)服務的運行方式一樣,F(xiàn)reeMASTER Lite 沒有用戶窗口,通過命令行和配置文件傳入參數(shù)。根據(jù)手冊的描述,F(xiàn)reeMASTER Lite 在操作系統(tǒng)中像一個標準的網頁服務器一樣,一方面同遠程的電路板交互,另一方面可以接收來自 python 或者 node.js 腳本中的請求。


由于時間關系,筆者還沒有仔細研究如何使用這個 FreeMASTER Lite 的功能,以后有時間再做介紹。


總結

FreeMASTER v3.0 兼容了經典 FreeMASTER 的所有功能,新增了 Chromium 引擎和 JSON-PRC 協(xié)議組件,用于作為 IE 引擎和 ActiveX 的換代產品。首次引入了 FreeMASTER Lite 軟件包,用于提供命令行版本的連接 PC 機網頁和電路板的服務。


新版的 FreeMASTER 定位于提供運行某些新的 FreeMASTER 應用工程的運行時環(huán)境,而沒打算讓用戶在這個平臺上進行二次開發(fā),設計自己的 FreeMASTER 應用工程。


經過試用,筆者個人建議,經典 FreeMASTER 用戶不用著急遷移到新平臺上。如果你一定想使用 Chromium 引擎,在你的 UI 界面中增加一些炫酷的特效,那么可以試試桌面版的 FreeMASTER v3.0。


如果只是簡單地使用一個數(shù)據(jù)可視化的工具,v2.5 仍是目前的最佳選擇。(沒錯,借著試用 v3.0 的興致,筆者也試用了 v2.5,然后決定把用了多年的 v2.0 更新到 v2.5 版本)。

審核編輯 黃昊宇

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

    評論

    相關推薦

    數(shù)字孿生3D大屏可視化技術應用優(yōu)勢

    數(shù)字孿生3D大屏可視化技術是一種融合虛擬現(xiàn)實、增強現(xiàn)實和大數(shù)據(jù)等技術的創(chuàng)新型可視化工具,為用戶提供了沉浸式的交互體驗,同時能夠在大屏幕上展示高保真度的虛擬模型。這項技術在多個領域有著廣泛的應用,并且具有多重優(yōu)勢。
    的頭像 發(fā)表于 07-31 15:05 ?306次閱讀

    HPMicro Arduino支持包v0.1.0發(fā)布,適配功能揭曉!

    HPMicro Arduino支持包v0.1.0發(fā)布,適配功能揭曉!
    的頭像 發(fā)表于 07-11 08:18 ?303次閱讀
    HPMicro Arduino支持包<b class='flag-5'>v</b>0.1.0<b class='flag-5'>發(fā)布</b>,適配功能揭曉!

    大屏數(shù)據(jù)可視化 開源

    在當今信息爆炸的時代,數(shù)據(jù)已經成為各個行業(yè)決策制定和業(yè)務發(fā)展的關鍵。為了更直觀、準確地理解和利用海量數(shù)據(jù), 大屏數(shù)據(jù)可視化 成為一種強大的工具
    的頭像 發(fā)表于 06-27 16:06 ?274次閱讀
    大屏<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b> 開源

    微軟發(fā)布智能辦公工具OfficePLUS V 3.0版本

    近日,微軟發(fā)布了智能辦公工具 OfficePLUS V 3.0 版本。全新升級的 OfficePLUS V
    的頭像 發(fā)表于 06-27 09:26 ?468次閱讀

    態(tài)勢數(shù)據(jù)可視化技術有哪些

    智慧華盛恒輝態(tài)勢數(shù)據(jù)可視化技術是一種將數(shù)據(jù)以圖形、圖像、動畫等視覺形式展現(xiàn)出來的技術,特別是在處理和分析態(tài)勢數(shù)據(jù)時,該技術能夠將復雜的數(shù)據(jù)
    的頭像 發(fā)表于 06-11 15:47 ?252次閱讀

    大屏數(shù)據(jù)可視化的作用和意義

    大屏數(shù)據(jù)可視化是指利用大屏幕設備展示數(shù)據(jù)信息,通過圖表、圖像、動畫等視覺化手段將數(shù)據(jù)呈現(xiàn)出來,以便用戶能夠直觀、清晰地理解數(shù)據(jù)背后的含義和關
    的頭像 發(fā)表于 06-03 17:56 ?476次閱讀

    PCB特性阻抗-影響特性阻抗因素V3.0

    PCB特性阻抗-影響特性阻抗因素V3.0 圖文說明 ? ? ? ? ? 審核編輯 黃宇
    的頭像 發(fā)表于 06-03 15:41 ?357次閱讀
    PCB特性阻抗-影響特性阻抗因素<b class='flag-5'>V3.0</b>

    Tebo ICT 騰博V3.0測試軟件分享介紹

    Tebo ICT V3.0 是一款專業(yè)的 ICT(In-Circuit Test,在線測試)和 ATE(Automatic Test Equipment,自動測試設備)以下是關于 Tebo ICT
    發(fā)表于 04-23 17:45

    態(tài)勢數(shù)據(jù)可視化技術有哪些

    智慧華盛恒輝態(tài)勢數(shù)據(jù)可視化技術是一種將復雜、動態(tài)的態(tài)勢數(shù)據(jù)以直觀、易于理解的方式展現(xiàn)出來的技術手段。以下是幾種主要的態(tài)勢數(shù)據(jù)可視化技術: 網
    的頭像 發(fā)表于 04-22 15:17 ?307次閱讀

    賊拉好用的一個嵌入式數(shù)據(jù)可視化工具

    相關內容。SerialStudio概述SerialStudio從名稱就可以看的出來,它是一款串口(Serial)可視化(Studio)工具:主要用于嵌入式開發(fā)者的跨平臺數(shù)據(jù)可視化工具
    的頭像 發(fā)表于 03-07 08:09 ?360次閱讀
    賊拉好用的一個嵌入式<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化工具</b>

    一個嵌入式數(shù)據(jù)可視化工具——Serial Studio

    Serial Studio從名稱就可以看的出來,它是一款串口(Serial)可視化(Studio)工具:主要用于嵌入式開發(fā)者的跨平臺數(shù)據(jù)可視化工具(應用軟件,或上位機軟件)。
    的頭像 發(fā)表于 03-04 10:12 ?4826次閱讀

    QE for Motor V1.3.0發(fā)布說明

    電子發(fā)燒友網站提供《QE for Motor V1.3.0發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 09:35 ?0次下載
    QE for Motor <b class='flag-5'>V</b>1.3.0<b class='flag-5'>發(fā)布</b>說明

    RZ/V多操作系統(tǒng)包V1.12發(fā)布說明

    電子發(fā)燒友網站提供《RZ/V多操作系統(tǒng)包V1.12發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-01 09:47 ?0次下載
    RZ/<b class='flag-5'>V</b>多操作系統(tǒng)包<b class='flag-5'>V</b>1.12<b class='flag-5'>發(fā)布</b>說明

    數(shù)據(jù)可視化的未來:2024 年及以后

    隨著我們進入數(shù)據(jù)驅動決策的下一個時代,數(shù)據(jù)可視化領域即將迎來一場變革性革命。隨著信息的不斷涌入和數(shù)據(jù)的復雜性不斷增加,傳統(tǒng)的可視化方法需要幫
    的頭像 發(fā)表于 01-25 11:52 ?366次閱讀

    一鍵生成可視化圖表/大屏 這13款數(shù)據(jù)可視化工具很強大

    選擇何種數(shù)據(jù)可視化工具。那么你來對地方了,往下看。 什么是數(shù)據(jù)可視化? 數(shù)據(jù)可視化是創(chuàng)建
    的頭像 發(fā)表于 12-19 17:27 ?4435次閱讀
    一鍵生成<b class='flag-5'>可視化</b>圖表/大屏 這13款<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化工具</b>很強大