色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

開源串口圖形界面工具的特點和使用

Q4MP_gh_c472c21 ? 來源:21ic ? 作者:dukedz ? 2021-03-17 10:08 ? 次閱讀

先列舉這個工具的一個特點:

某個主控板正在控制從機的時候,可以把 PC 電腦掛到同一條 RS485 總線上,PC 可以讀寫從機、查看從機打印消息、查看數據波形,完全不干擾現有主板對從機的控制。

跨平臺,支持 Linux、Windows、MacOS、樹莓派 ……

mcu 代碼及協議參考這個開源步進電機驅動器

此工具代碼架構是 python + web,python 和每個 web 頁面通過單個 websocket 管道通訊。

web 端是裸 javascript (vanilla, es6), 不需要瞭解特定的前端框架,就可以參與代碼修改。也方便拿此 app 當模板做一些產品的專用上位機軟件。

mcu 和 python 之間是 cdnet 協議,目前只用到 level 1 格式的最簡版本。

python 和 web 之間的協議也是類似 cdnet,地址和端口用任意字符串代替。

運行 python 程序后,首先打開主頁:

Available 列出電腦所有串口,只要粘貼其中任意一小段字符串,填到 Serial 第一個輸入框就可以了,這樣的好處是,如果端口變化,依然可以打開正確的串口?;蛘呤沁x擇插在指定 USB 口的串口。

使用過程中,串口掉線會自動重連接,右邊是 python 后臺打?。翰灏沃笥殖晒χ亟?。

Devices 主要是選擇調試哪一個從機,支持同時調試多個設備,數量不限。

Logs 是所有設備的打印匯總,每個設備各自的頁面只打印各自的調試信息

打印支持彩色 (ANSI), 和 Linux 下的終端一樣,方便在很多 log 中快速定位錯誤。

Logs 窗口可以隨意調整大小。

編輯的數據都會自動保存。

下面是具體打開一個設備的調試窗口,首先是數據列表讀寫(俗稱寄存器):

鼠標放到寄存器名稱和數據上,會分別提示寄存器說明,和默認數據(默認數據也是從設備中讀?。?。

寄存器的讀寫是按組進行,可以保證一組數據的原子性。

組可以隨便編輯。

點某一組的 R 會讀該組所有數據,W 則是寫一組數據。點最上面的 Read All 和 Write All 則是依次讀寫每一組。

列表是由不同設備的 json 文件配置,其中寄存器列表是設備上電自動打印出來的,拷貝粘貼到 json 模板中即可。

支持數組和多種數據格式,可以設置是否以 16 進制顯示(數據框帶 H 標記),或者是 uint8_t 數組(帶 B 標記)。

同一個組內部,有一些帶一個小凹槽,表示兩個寄存器之間有空洞。首次寫入前會回讀該組數據,避免修改空洞中的數據,空洞可能是空的,也可能是廠商 reserved 寄存器。

這是設備頁面的 Log 調試,同樣可以隨便改變大?。?/p>

再下面是波形窗口,也支持選擇大小。

波形窗口:

每個窗口下面會提示當前選中數據的值,方便且準確。

可以隨便打開、關閉某一條曲線,曲線多的時候不容易亂,圖中 tc_speed 是關閉狀態,但依然會顯示數值。

鼠標滾輪可以配合 shift 或者 ctrl 分別對 x 和 y 軸進行縮放,默認是兩個軸一起縮放。

支持觸摸屏縮放,同樣支持 x 和 y 軸不同比例的縮放。

雙擊恢復默認示圖(最大化顯示所有數據)。鼠標中鍵可拖拽平移(觸摸板也可以)。

可以設置數據深度,老數據自動刪除。方便動態顯示數據(示波器效果)。

波形窗口的個數不限。

上圖下面部分是 IAP 和 寄存器 數據導出和導入:

IAP 支持整體回讀驗證、設備端計算并返回 crc 進行驗證、不驗證。

寄存器格式改變后,可以通過導出和導入進行遷移。

會一并導出 log、波形數據,譬如你是做電機控制的,可以讓客戶把他采集到的波形發給你分析,以此遠程協助客戶調 PID 等參數。

最后是 json 配置,最上面的 reg 是設備上電打印出來的(mcu 端也是自動生成,不用自己填地址、大小和數據類型,不容易出錯):

為了方便閱讀,有 16 進制數和注釋,所以使用的是 json5 格式。

fmt 字符帶 [] 的是數組,在一個編輯框顯示所有數據。

帶 {} 的也是數組,每組占用一個編輯框,每個框內支持多個數據,方便用于結構體數組。

reg_r 和 reg_w 是默認的寄存器分組讀寫,寫不寫無所謂,可以在 UI 上編輯。

plot 的數據的 fmt 比較關鍵,對應兩種數據包格式,x1 a1 b1 a2 b2 。。. 和 x1 a1 b1 x2 a2 b2 。。.

前者是每個包的多組數據之間共享一個 x 軸數據,fmt 首個字符 I 是 x 的格式,表示 uint32_t, 一般是 mcu 里面一個 cnt, 每個 loop 加 1,loop 周期固定,I 后面的數代表 x1 和 x2 之間的差值,從而恢復出 x2 x3 。。.

I 后面沒有數字的是后者,一個包里面的每一組數據都有一個 x 值,適合 loop 周期變化的場景。

硬件層面普通串口也支持的。

沒有硬件也可以打開上面的所有界面預覽,沒數據而已(可以導入別人導出的數據)。

用 CDBUS 專用控制器速度更快更方便,帶仲裁等特性,兼容傳統 RS485,速度最快可以到 50 Mbps,控制器也是 100% 開源:

https://github.com/dukelec/cdbus_ip 此工具默認使用的 USB 轉 RS485 的硬件也是開源的:https://github.com/dukelec/cdbus_bridge

最后提一下 CDCAM 開源RS485 攝像頭,此工具支持圖像預覽。

CDCAM 開源地址:https://github.com/dukelec/cdcam 受限 STM32G071CBT6 的性能,800x600 大小的圖片目前是 10 fps,可以發指令觸發拍照。 一條 RS485 可以掛多個攝像頭、電機,非常方便。

又譬如:傳統需要變焦的場合,直接用 2 個不同焦距的定焦攝像頭就好了,反正成本便宜。也不增加接線。 非常適合機器視覺的場合。

再順便補充一下,cdnet ip 是參考 ipv6 的概念,方便通過字符串來代表不同的地址(為了效率,mcu 用 3 字節 uint8_t 數組),其定義如下:

/* CDNET address format:** local link unique local multicast* level0: 00MM* level1: 80MM a0MM f0ML* `-with seq: 88MM a8MM f8ML* level2: c0MM* `-with seq: c8MM** Notes:* NN: net_id, MM: mac_addr, MH+ML: multicast_id*/

廣播和組播也可以用 local link 格式,一般沒有必要用 multicast 格式。一般用 80 開頭的就夠了,00 開頭的主要是為了人肉敲命令裸數據調試的時候可以少一兩個字符而已,機器就不建議用了。

unique local 是跨網段的時候才用,譬如有多個網段,每個子網有多個設備。level2 是用來傳輸框架外的任意數據,一般用來多臺電腦之間傳輸真正的 tcp/ip 協議,組電腦網絡。

cdnet ip 地址可直接映像為標準的 ipv6 地址,這樣電腦上可以通過標準 udp 編程和 mcu 互動,mcu 代碼不用變,開銷非常小,不用跑 ipv6 協議棧。

原文標題:開源串口圖形界面工具:超方便,附代碼

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

責任編輯:haq

先列舉這個工具的一個特點:

某個主控板正在控制從機的時候,可以把 PC 電腦掛到同一條 RS485 總線上,PC 可以讀寫從機、查看從機打印消息、查看數據波形,完全不干擾現有主板對從機的控制。

跨平臺,支持 Linux、Windows、MacOS、樹莓派 ……

mcu 代碼及協議參考這個開源步進電機驅動器:

此工具代碼架構是 python + web,python 和每個 web 頁面通過單個 websocket 管道通訊。

web 端是裸 javascript (vanilla, es6), 不需要瞭解特定的前端框架,就可以參與代碼修改。也方便拿此 app 當模板做一些產品的專用上位機軟件。

mcu 和 python 之間是 cdnet 協議,目前只用到 level 1 格式的最簡版本。

python 和 web 之間的協議也是類似 cdnet,地址和端口用任意字符串代替。

運行 python 程序后,首先打開主頁: Available 列出電腦所有串口,只要粘貼其中任意一小段字符串,填到 Serial 第一個輸入框就可以了,這樣的好處是,如果端口變化,依然可以打開正確的串口。或者是選擇插在指定 USB 口的串口。

使用過程中,串口掉線會自動重連接,右邊是 python 后臺打?。翰灏沃笥殖晒χ亟?。

Devices 主要是選擇調試哪一個從機,支持同時調試多個設備,數量不限。

Logs 是所有設備的打印匯總,每個設備各自的頁面只打印各自的調試信息。

打印支持彩色 (ANSI), 和 Linux 下的終端一樣,方便在很多 log 中快速定位錯誤。

Logs 窗口可以隨意調整大小。

編輯的數據都會自動保存。

下面是具體打開一個設備的調試窗口,首先是數據列表讀寫(俗稱寄存器): 鼠標放到寄存器名稱和數據上,會分別提示寄存器說明,和默認數據(默認數據也是從設備中讀取)。

寄存器的讀寫是按組進行,可以保證一組數據的原子性。

組可以隨便編輯。

點某一組的 R 會讀該組所有數據,W 則是寫一組數據。點最上面的 Read All 和 Write All 則是依次讀寫每一組。

列表是由不同設備的 json 文件配置,其中寄存器列表是設備上電自動打印出來的,拷貝粘貼到 json 模板中即可。

支持數組和多種數據格式,可以設置是否以 16 進制顯示(數據框帶 H 標記),或者是 uint8_t 數組(帶 B 標記)。

同一個組內部,有一些帶一個小凹槽,表示兩個寄存器之間有空洞。首次寫入前會回讀該組數據,避免修改空洞中的數據,空洞可能是空的,也可能是廠商 reserved 寄存器。

這是設備頁面的 Log 調試,同樣可以隨便改變大小: 再下面是波形窗口,也支持選擇大小。

波形窗口:

每個窗口下面會提示當前選中數據的值,方便且準確。

可以隨便打開、關閉某一條曲線,曲線多的時候不容易亂,圖中 tc_speed 是關閉狀態,但依然會顯示數值。

鼠標滾輪可以配合 shift 或者 ctrl 分別對 x 和 y 軸進行縮放,默認是兩個軸一起縮放。

支持觸摸屏縮放,同樣支持 x 和 y 軸不同比例的縮放。

雙擊恢復默認示圖(最大化顯示所有數據)。鼠標中鍵可拖拽平移(觸摸板也可以)。

可以設置數據深度,老數據自動刪除。方便動態顯示數據(示波器效果)。

波形窗口的個數不限。

上圖下面部分是 IAP 和 寄存器 數據導出和導入:

IAP 支持整體回讀驗證、設備端計算并返回 crc 進行驗證、不驗證。

寄存器格式改變后,可以通過導出和導入進行遷移。

會一并導出 log、波形數據,譬如你是做電機控制的,可以讓客戶把他采集到的波形發給你分析,以此遠程協助客戶調 PID 等參數。

最后是 json 配置,最上面的 reg 是設備上電打印出來的(mcu 端也是自動生成,不用自己填地址、大小和數據類型,不容易出錯):

為了方便閱讀,有 16 進制數和注釋,所以使用的是 json5 格式。

fmt 字符帶 [] 的是數組,在一個編輯框顯示所有數據。

帶 {} 的也是數組,每組占用一個編輯框,每個框內支持多個數據,方便用于結構體數組。

reg_r 和 reg_w 是默認的寄存器分組讀寫,寫不寫無所謂,可以在 UI 上編輯。

plot 的數據的 fmt 比較關鍵,對應兩種數據包格式,x1 a1 b1 a2 b2 。.. 和 x1 a1 b1 x2 a2 b2 。..

前者是每個包的多組數據之間共享一個 x 軸數據,fmt 首個字符 I 是 x 的格式,表示 uint32_t, 一般是 mcu 里面一個 cnt, 每個 loop 加 1,loop 周期固定,I 后面的數代表 x1 和 x2 之間的差值,從而恢復出 x2 x3 。..

I 后面沒有數字的是后者,一個包里面的每一組數據都有一個 x 值,適合 loop 周期變化的場景。

硬件層面普通串口也支持的。

沒有硬件也可以打開上面的所有界面預覽,沒數據而已(可以導入別人導出的數據)。

用 CDBUS 專用控制器速度更快更方便,帶仲裁等特性,兼容傳統 RS485,速度最快可以到 50 Mbps,控制器也是 100% 開源: https://github.com/dukelec/cdbus_ip 此工具默認使用的 USB 轉 RS485 的硬件也是開源的:https://github.com/dukelec/cdbus_bridge

最后提一下 CDCAM 開源RS485 攝像頭,此工具支持圖像預覽。 CDCAM 開源地址:https://github.com/dukelec/cdcam 受限 STM32G071CBT6 的性能,800x600 大小的圖片目前是 10 fps,可以發指令觸發拍照。 一條 RS485 可以掛多個攝像頭、電機,非常方便。 又譬如:傳統需要變焦的場合,直接用 2 個不同焦距的定焦攝像頭就好了,反正成本便宜。也不增加接線。 非常適合機器視覺的場合。

再順便補充一下,cdnet ip 是參考 ipv6 的概念,方便通過字符串來代表不同的地址(為了效率,mcu 用 3 字節 uint8_t 數組),其定義如下:

/* CDNET address format:** local link unique local multicast* level0: 00MM* level1: 80MM a0MM f0ML* `-with seq: 88MM a8MM f8ML* level2: c0MM* `-with seq: c8MM** Notes:* NN: net_id, MM: mac_addr, MH+ML: multicast_id*/ 廣播和組播也可以用 local link 格式,一般沒有必要用 multicast 格式。一般用 80 開頭的就夠了,00 開頭的主要是為了人肉敲命令裸數據調試的時候可以少一兩個字符而已,機器就不建議用了。 unique local 是跨網段的時候才用,譬如有多個網段,每個子網有多個設備。level2 是用來傳輸框架外的任意數據,一般用來多臺電腦之間傳輸真正的 tcp/ip 協議,組電腦網絡。 cdnet ip 地址可直接映像為標準的 ipv6 地址,這樣電腦上可以通過標準 udp 編程和 mcu 互動,mcu 代碼不用變,開銷非常小,不用跑 ipv6 協議棧。

原文標題:開源串口圖形界面工具:超方便,附代碼

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

責任編輯:haq

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

    關注

    146

    文章

    17185

    瀏覽量

    351727
  • 代碼
    +關注

    關注

    30

    文章

    4803

    瀏覽量

    68752

原文標題:開源串口圖形界面工具:超方便,附代碼

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

收藏 人收藏

    評論

    相關推薦

    DRV8821-23 EVM圖形用戶界面

    電子發燒友網站提供《DRV8821-23 EVM圖形用戶界面.pdf》資料免費下載
    發表于 12-05 15:08 ?0次下載
    DRV8821-23 EVM<b class='flag-5'>圖形</b>用戶<b class='flag-5'>界面</b>

    DRV8800-01 EVM圖形用戶界面

    電子發燒友網站提供《DRV8800-01 EVM圖形用戶界面.pdf》資料免費下載
    發表于 12-02 11:07 ?0次下載
    DRV8800-01 EVM<b class='flag-5'>圖形</b>用戶<b class='flag-5'>界面</b>

    圖形用戶界面與命令行接口的比較

    在計算機科學和信息技術領域,用戶與計算機交互的方式主要分為兩種:圖形用戶界面(GUI)和命令行接口(CLI)。這兩種界面各有優勢和局限性,適用于不同的場景和用戶需求。 1. 定義與基本特征
    的頭像 發表于 11-12 14:38 ?441次閱讀

    如何在低成本ARM平臺部署LVGL免費圖形庫,基于全志T113-i

    系統創建圖形用戶界面(GUI),采用C語言編寫,具有高效性和可定制性,在各種微控制器平臺和顯示硬件上開發用戶界面時備受歡迎。LVGL具社區免費開源、控件資源豐富、跨平臺可移植等
    發表于 10-29 09:55

    串口工具UartAssist5.0.exe

    串口工具UartAssist5.0.exe
    發表于 10-21 10:57 ?17次下載

    好用的串口工具

    好用的串口工具
    發表于 08-15 10:35 ?1次下載

    用git還是用圖形界面安裝idf-tools總是失敗,這是什么問題?

    無論是用git還是用圖形界面安裝idf-tools總是失敗,這是什么問題?
    發表于 06-19 07:03

    上位機控制界面用什么做好

    在設計上位機控制界面時,選擇合適的開發工具和框架至關重要。本文介紹如何創建一個優秀的上位機控制界面。 引言 上位機控制界面是實現人機交互的關鍵環節,它允許用戶通過
    的頭像 發表于 06-06 10:54 ?985次閱讀

    上位機可視化界面編程軟件有哪些

    。以下是一些常見的上位機可視化界面編程軟件: Qt (跨平臺C++框架) 介紹 :Qt是一個跨平臺的C++圖形用戶界面應用程序框架。它提供了一系列豐富的控件和工具,支持多種編程語言,包
    的頭像 發表于 06-06 10:48 ?2616次閱讀

    c語言怎么做可視化界面

    介紹如何使用C語言開發可視化界面,包括所需的庫、工具和開發步驟。 選擇合適的圖形庫 為了在C語言中創建可視化界面,我們需要選擇一個合適的圖形
    的頭像 發表于 06-06 10:46 ?2406次閱讀

    藍牙多串口配置工具

    工具是一種多串口配置工具,基于MCF開發,可以將配置信息同時下發到多個串口,支持配置文件信息下發、文本下發和十六進制下發,一般用于芯片等配置工裝,提高生產效率。 多
    發表于 03-25 19:22

    AWTK 開源串口屏開發(14) - 界面重用

    AWTK串口屏支持同一個界面綁定不同的數據,本文以家居控制為例,介紹一下界面重用的方法。在家居控制應用中,我們演示了空調和咖啡機界面。現在我們來想一想,如果有多個空調怎么辦呢?當然最直
    的頭像 發表于 03-23 08:23 ?382次閱讀
    AWTK <b class='flag-5'>開源</b><b class='flag-5'>串口</b>屏開發(14) - <b class='flag-5'>界面</b>重用

    兆易創新與SEGGER聯合提供免費商用的emWin圖形界面解決方案

    合作,為使用GD32系列Arm? Cortex?-M微控制器的廣大用戶提供免費商用的emWin嵌入式GUI(圖形用戶界面)以及屢獲殊榮的AppWizard工具。這一舉措旨在加速高性能GUI應用的開發與落地,進一步推動工業控制和智
    的頭像 發表于 03-16 09:59 ?1055次閱讀

    【AWTK開源智能串口屏方案】設計UI界面并上傳到串口

    本篇文章將介紹如何使用AWStudio設計串口屏端的UI界面和添加綁定規則,以及怎么將資源文件上傳到串口屏端。引言:AWTK-HMI是基于AWTK與AWTK-MVVM開發的低代碼智能串口
    的頭像 發表于 02-22 08:24 ?751次閱讀
    【AWTK<b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b>屏方案】設計UI<b class='flag-5'>界面</b>并上傳到<b class='flag-5'>串口</b>屏

    【AWTK開源智能串口屏方案】HMI端程序移植編譯及運行

    本篇文章介紹一下AWTK開源智能串口屏方案的串口屏端(即HMI端)的編譯運行步驟,并介紹如何將HMI端移植到Linux或STM32平臺或RTOS平臺,以及如何配置資源文件。引言:AWTK-HMI
    的頭像 發表于 01-18 08:24 ?961次閱讀
    【AWTK<b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b>屏方案】HMI端程序移植編譯及運行
    主站蜘蛛池模板: 国产成人在线视频网站| 97在线超碰免费视频| 欧美不卡一区二区三区| 午夜福利院电影| 亚洲精品理论电影在线观看| 亚洲这里只有精品| 欧美 日韩 亚洲 在线| 2018三级网站免费观看| 把手戳进美女尿口里动态图| 亚洲视频在线免费看| 小SAO货叫大声点妓女| 色综合a在线| 色橹橹欧美在线观看视频高| 强上轮流内射高NP男男| 欧美怡红院视频一区二区三区 | chinese帅哥gv在线看| 97精品少妇偷拍AV| 99久久精品久久久| 挺进老师的紧窄小肉六电影完整版 | 被黑人群jian又粗又大H| AV福利无码亚洲网站麻豆| 99精品视频在线观看免费播放| 91成品视频| a毛片基地免费全部视频 | 欧美精品一区二区蜜臀亚洲| 国产午夜精品理论片影院 | 嗯啊不要老师| 欧美一级黄色影院| 日本视频久久| 乌克兰18性hd| 亚洲国产免费观看视频| 伊人国产在线视频| 正在播放国产尾随丝袜美女| 67194在线入口免费| xxx动漫xxx在线观看| 疯狂小护士| 国产精品一区二区制服丝袜| 精品国产美女AV久久久久| 看电影就来5566先锋av| 欧美三级不卡在线观线看| 日韩娇小性hd|