iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Modern Web

Web Bluetooth API 實戰:30 天打造通用 BLE 偵錯工具 系列

系列旨在打造一個「給開發者的工具」——通用的 Web BLE 掃描與偵錯瀏覽器。我們將從網頁開發的零基礎出發,深入 JavaScript 核心,精通非同步程式設計,最終駕馭 Web Bluetooth API,同時透過使用API,駕馭API,來深刻理解其底層的 GATT 結構。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21 專案核心 (3):`getPrimaryServices()` 動態探索所有服務

昨天,我們透過 device.gatt.connect() 與裝置的 GATT 伺服器建立了穩固的連接。我們的「營地」已經紮好,「航海日誌」也忠實地記錄下了這歷...

2025-10-05 ‧ 由 jklu7limj 分享
DAY 22

Day 22:專案核心 (4):`getCharacteristics()` 動態探索所有特徵

昨天,我們使用 server.getPrimaryServices() 這張「全景地圖」,我們成功地找到了島上所有隱藏的洞穴(服務),並在我們的 UI 上為它們...

2025-10-06 ‧ 由 jklu7limj 分享
DAY 23

Day 23: 整合與渲染:將探索結果動態生成 UI

我們繼續新的的內容之前,我想先回顧我們過去幾天的內容,其實在前幾天的內容中我們就已經實現了將探索結果動態生成 UI的程式碼 在 Day 21,我們使用 ge...

2025-10-07 ‧ 由 jklu7limj 分享
DAY 24

Day 24:綁定事件 (1):為動態生成的「讀取」按鈕注入靈魂

在過去幾天,我們完成了宏偉的探索任務。我們的應用程式已經能夠繪製出任何藍牙裝置的完整「藏寶圖」,UI 上動態生成的服務與特徵面板,就是我們辛勤工作的成果。所有的...

2025-10-08 ‧ 由 jklu7limj 分享
DAY 25

Day 25:綁定事件 (2):為「Subscribe」按鈕注入靈魂

前言 戰友們,大家好!在昨天的文章結尾,我們成功地從藍牙裝置中「讀取」到了第一筆真實數據。 原本的計畫是接著介紹「寫入 (Write)」操作。但在反覆思考後,我...

2025-10-09 ‧ 由 jklu7limj 分享
DAY 26

Day 26:綁定事件 (3):為動態生成的「寫入」按鈕注入靈魂

前言 在過去兩天,我們成功地掌握了從藍牙裝置接收數據的兩種模式:一次性「拉取」的 Read 和持續性「推送」的 Subscribe。我們的應用程式已經成為一個合...

2025-10-10 ‧ 由 jklu7limj 分享
DAY 27

Day 27 強健性工程 (1):處理斷線與解析標準服務名稱

前言 戰友們,我們的通用 BLE 工具已經具備了探索、讀、寫、聽的核心能力,就像一艘裝備精良的探險船。但是,再精良的船,也必須能應對真實航程中的風浪。 在藍牙的...

2025-10-11 ‧ 由 jklu7limj 分享
DAY 28

Day 28:深入探索與強健性:讀取描述符與手動斷線

前言 昨天,我們為工具安裝了「被動安全系統」——當意外(藍牙斷線)來襲時,我們的應用程式能夠自動感知並優雅地回到港口(初始狀態)。 今天,我們將為這艘船安裝「主...

2025-10-12 ‧ 由 jklu7limj 分享
DAY 29

Day 29:效能與最佳化:打造流暢的日誌與高頻率通知體驗

前言 戰友們,我們已經走到了這趟旅程的終點線前。我們的「通用 BLE 瑞士刀」已經打造完成,它鋒利、功能完備,足以應對絕大多數的 BLE 探索與互動任務。 但是...

2025-10-13 ‧ 由 jklu7limj 分享
DAY 30

Day 30: 專案總結與回顧:30 天打造通用 BLE 偵錯工具

前言 三十天前,我們帶著對物聯網的好奇與熱情,踏上了這條充滿挑戰的鐵人賽之路。我們的目標,不僅僅是學習一個新的 API,而是要從網頁開發的零基礎出發,親手打造一...

2025-10-14 ‧ 由 jklu7limj 分享