系列旨在打造一個「給開發者的工具」——通用的 Web BLE 掃描與偵錯瀏覽器。我們將從網頁開發的零基礎出發,深入 JavaScript 核心,精通非同步程式設計,最終駕馭 Web Bluetooth API,同時透過使用API,駕馭API,來深刻理解其底層的 GATT 結構。
昨天,我們透過 device.gatt.connect() 與裝置的 GATT 伺服器建立了穩固的連接。我們的「營地」已經紮好,「航海日誌」也忠實地記錄下了這歷...
昨天,我們使用 server.getPrimaryServices() 這張「全景地圖」,我們成功地找到了島上所有隱藏的洞穴(服務),並在我們的 UI 上為它們...
我們繼續新的的內容之前,我想先回顧我們過去幾天的內容,其實在前幾天的內容中我們就已經實現了將探索結果動態生成 UI的程式碼 在 Day 21,我們使用 ge...
在過去幾天,我們完成了宏偉的探索任務。我們的應用程式已經能夠繪製出任何藍牙裝置的完整「藏寶圖」,UI 上動態生成的服務與特徵面板,就是我們辛勤工作的成果。所有的...
前言 戰友們,大家好!在昨天的文章結尾,我們成功地從藍牙裝置中「讀取」到了第一筆真實數據。 原本的計畫是接著介紹「寫入 (Write)」操作。但在反覆思考後,我...
前言 在過去兩天,我們成功地掌握了從藍牙裝置接收數據的兩種模式:一次性「拉取」的 Read 和持續性「推送」的 Subscribe。我們的應用程式已經成為一個合...
前言 戰友們,我們的通用 BLE 工具已經具備了探索、讀、寫、聽的核心能力,就像一艘裝備精良的探險船。但是,再精良的船,也必須能應對真實航程中的風浪。 在藍牙的...
前言 昨天,我們為工具安裝了「被動安全系統」——當意外(藍牙斷線)來襲時,我們的應用程式能夠自動感知並優雅地回到港口(初始狀態)。 今天,我們將為這艘船安裝「主...
前言 戰友們,我們已經走到了這趟旅程的終點線前。我們的「通用 BLE 瑞士刀」已經打造完成,它鋒利、功能完備,足以應對絕大多數的 BLE 探索與互動任務。 但是...
前言 三十天前,我們帶著對物聯網的好奇與熱情,踏上了這條充滿挑戰的鐵人賽之路。我們的目標,不僅僅是學習一個新的 API,而是要從網頁開發的零基礎出發,親手打造一...