支持 8 通道、100kHz 實時刷新的 Web 示波器,專為解析 JustFloat 與 FireWater 二進制協(xié)議設(shè)計。無需安裝軟件,在瀏覽器中即可通過 USB 串口(Web Serial)、BLE 藍牙(Web Bluetooth) 或 WebSocket 接入設(shè)備,實時捕獲并可視化高頻傳感器或嵌入式系統(tǒng)數(shù)據(jù)。所有波形渲染與協(xié)議解析均在客戶端完成,確保低延遲與數(shù)據(jù)隱私。適用于飛控調(diào)試、電機控制、多軸傳感器分析等對速率和通道數(shù)有較高要求的場景。基于現(xiàn)代 Web 技術(shù)構(gòu)建,兼容主流桌面及移動端瀏覽器,開源免費,即開即用。
An 8-channel Web oscilloscope with real-time 100 kHz waveform refresh, designed specifically for parsing JustFloat and FireWater binary protocols. This open-source tool runs entirely in the browser—no installation required—and supports three flexible data sources: USB serial (via Web Serial API), BLE devices (via Web Bluetooth API), and remote streams over WebSocket.
PixPin_2026-01-23_14-01-00.png (366 KB, 下載次數(shù): 0)
下載附件
2026-1-23 14:07 上傳
在線使用:
獲取源代碼(附件壓縮包源代碼可能不是最新的):游客,本帖隱藏的內(nèi)容需要積分高于 1 才可瀏覽,您當(dāng)前積分為 0
提示:推薦使用最新版本的 Chrome瀏覽器 或者 Edge瀏覽器,其他瀏覽器不保證兼容
功能特性- 通過串口或WebSocket連接設(shè)備并實時接收數(shù)據(jù)
- 解析JustFloat協(xié)議數(shù)據(jù)(協(xié)議格式:[float ch1, ..., float chN, 0x00, 0x00, 0x80, 0x7F])
- 解析FireWater協(xié)議數(shù)據(jù)(文本格式::ch0,ch1,ch2,...,chN\n)
- 支持協(xié)議動態(tài)切換(JustFloat/FireWater)
- 支持連接方式切換(串口/WebSocket)
- 實時繪制多通道波形圖(最多支持8種顏色區(qū)分通道)
- 支持數(shù)據(jù)導(dǎo)入/導(dǎo)出功能(JSON格式)
- 通道配置:可獨立設(shè)置每個通道的名稱、單位、系數(shù)和可見性
- 實時顯示通道統(tǒng)計數(shù)據(jù)(最小值、最大值、平均值、當(dāng)前值)
- 可配置的緩沖區(qū)大小(最小1000點,最大1000000點)
- 支持多種波特率(默認115200)、*虛擬串口不需要設(shè)置波特率
- 性能優(yōu)化:JustFloat模式下 1個通道 100KHz 運行流暢!
連接方式串口連接- 使用Web Serial API與設(shè)備通信
- 適用于本地串口設(shè)
- 需要在瀏覽器中選擇對應(yīng)的串口設(shè)備
WebSocket連接- 通過WebSocket協(xié)議接收數(shù)據(jù)
- 適用于遠程數(shù)據(jù)源或網(wǎng)絡(luò)轉(zhuǎn)發(fā)服務(wù)
- 支持文本和二進制數(shù)據(jù)格式
- 可配置WebSocket服務(wù)器地址(默認:ws://localhost:8080)
協(xié)議說明JustFloat協(xié)議數(shù)據(jù)格式:[float ch1, ..., float chN, 0x00, 0x00, 0x80, 0x7F] - 數(shù)據(jù)以4字節(jié)為單位的浮點數(shù)傳輸
- 以[0x00, 0x00, 0x80, 0x7F]作為幀同步字
- 解析器使用狀態(tài)機逐字節(jié)解析數(shù)據(jù)
FireWater協(xié)議數(shù)據(jù)格式:[:]ch0,ch1,ch2,...,chN\n - 文本協(xié)議,逗號分隔的數(shù)值
- 例如:data: 123,456,789\n
性能特點- 高速率支持:支持高達100KHz的速率
- 高效數(shù)據(jù)解析:使用批處理機制提高解析效率
- 智能渲染:根據(jù)數(shù)據(jù)量和速率動態(tài)調(diào)整刷新頻率
- 內(nèi)存管理:自動限制緩沖區(qū)大小,避免內(nèi)存溢出
- 響應(yīng)式界面:使用uPlot圖表庫實現(xiàn)高性能數(shù)據(jù)可視化
技術(shù)棧- Vue 3 (Composition API)
- uPlot (高性能圖表渲染)
- Tailwind CSS (樣式框架)
安裝和運行
使用說明- 確保瀏覽器支持所需功能(Chrome/Edge推薦)
- 連接設(shè)備到電腦或啟動WebSocket數(shù)據(jù)服務(wù)
- 打開應(yīng)用,選擇對應(yīng)的協(xié)議類型(JustFloat或FireWater)
- 選擇連接方式:
- 串口連接:點擊"連接設(shè)備"按鈕并選擇對應(yīng)的串口設(shè)備
- WebSocket連接:輸入WebSocket服務(wù)器地址,點擊"連接"按鈕
- 根據(jù)需要調(diào)整波特率設(shè)置(串口連接時有效)
- 實時查看設(shè)備發(fā)送的數(shù)據(jù)波形
- 使用鼠標框選功能進行數(shù)據(jù)區(qū)域分析
功能操作- 縮放功能:在圖表上拖拽鼠標創(chuàng)建選區(qū),可以放大查看特定數(shù)據(jù)段
- 縮放歷史:支持多級縮放歷史記錄,雙擊圖表或點擊右上角的返回按鈕可返回上一級縮放狀態(tài)
- 連續(xù)框選會自動記錄每次縮放的狀態(tài)
- 縮放狀態(tài)指示器會顯示當(dāng)前歷史記錄的級數(shù)
- 當(dāng)沒有歷史記錄時,雙擊會完全重置縮放
- 數(shù)據(jù)統(tǒng)計:選區(qū)后會顯示詳細的統(tǒng)計數(shù)據(jù)(采樣點數(shù)、時長、速率等)
- 通道控制:可以在側(cè)邊欄單獨控制每個通道的顯示/隱藏
- 實時光標:移動鼠標可以查看任意點的具體數(shù)值
- 數(shù)據(jù)導(dǎo)出:可將當(dāng)前顯示的數(shù)據(jù)導(dǎo)出為JSON文件(按通道存儲,包含采樣率信息)
- 連接切換:可在串口和WebSocket之間切換連接方式
|