女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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 第一個輸入框就可以了,這樣的好處是,如果端口變化,依然可以打開正確的串口。或者是選擇插在指定 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

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

某個主控板正在控制從機的時候,可以把 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

    文章

    17881

    瀏覽量

    361432
  • 代碼
    +關注

    關注

    30

    文章

    4891

    瀏覽量

    70323

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    開源鴻蒙工程工具分論壇圓滿舉辦

    近日,開源鴻蒙開發者大會2025(OHDC.2025)工程工具分論壇在深圳圓滿舉辦。本次分論壇由開源鴻蒙IDE SIG組長、華為終端BG工程工具技術專家唐春擔任出品人,主題為“
    的頭像 發表于 06-05 15:35 ?252次閱讀

    開源鴻蒙圖形與游戲分論壇圓滿舉辦

    近日,開源鴻蒙開發者大會2025(OHDC.2025)圖形與游戲分論壇在深圳圓滿舉辦。本次分論壇由開源鴻蒙圖形SIG & 游戲SIG組組長、華為終端BG
    的頭像 發表于 06-05 15:30 ?315次閱讀

    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>

    芯原股份與開源圖形庫LVGL達成戰略合作

    芯原股份 (芯原,股票代碼:688521.SH) 今日宣布與嵌入式系統領域領先的開源圖形庫LVGL達成戰略合作,在LVGL庫中支持芯原的低功耗3D和VGLite 2.5D GPU技術。此次合作旨在
    的頭像 發表于 11-29 09:20 ?706次閱讀

    為什么通信要使用虛擬串口串口助手?

    串口助手和虛擬串口是什么?串口助手和虛擬串口串口通信中很常見。串口助手是用于
    的頭像 發表于 11-15 01:04 ?3596次閱讀
    為什么通信要使用虛擬<b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

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

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

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

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

    串口工具UartAssist5.0.exe

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

    ElfBoard開源項目|“智慧教室”開源項目技術文檔

    “智慧教室”項目的目標是實現實時采集環境中的溫度、濕度及光照信息,并將這些數據可視化地呈現在Qt圖形界面上。用戶既可以選擇手動控制風扇與窗簾的開關,也可以設置系統根據所采集的環境參數自動調節,以達到舒適的室內環境。接下來,將和各位小伙伴深入探討這一項目的具體實現方式。
    的頭像 發表于 09-11 10:51 ?788次閱讀
    ElfBoard<b class='flag-5'>開源</b>項目|“智慧教室”<b class='flag-5'>開源</b>項目技術文檔

    labview字符串的四種表示各有什么特點

    字符串控件(String Control) 字符串控件是LabVIEW中用于顯示和編輯字符串的圖形界面元素。它允許用戶在前面板(Front Panel)上輸入
    的頭像 發表于 09-04 15:40 ?1285次閱讀

    好用的串口工具

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

    更強的無線(雙)串口數據記錄 調試工具

    1、介紹這是一個具備Wi-Fi功能的無線雙串口調試工具;除了基本的無線串口外還具備將串口數據自動記錄到TF卡,可自定義數據上報地址,預留可定義IO功能邏輯等功能,具有很高的可玩性;配合
    的頭像 發表于 08-02 08:11 ?1151次閱讀
    更強的無線(雙)<b class='flag-5'>串口</b>數據記錄 調試<b class='flag-5'>工具</b>

    人機界面觸摸屏編程的基本概念及硬件選擇

    工具、編程方法、調試技巧等方面的內容。 1. HMI觸摸屏編程概述 1.1 什么是HMI觸摸屏編程 HMI觸摸屏編程是指通過編程語言或圖形界面設計工具,為觸摸屏設備開發用戶界面和交互邏輯的過程。HMI觸摸屏通常用于顯示設備狀態、
    的頭像 發表于 07-01 14:42 ?3999次閱讀

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

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