HeartRate Broadcaster 應用程式圖示

您的心率,
在任何自行車電腦上。

HeartRate Broadcaster (HRB) 會從您的 Apple Watch 和 AirPods Pro 讀取即時心率,並將它們融合為單一讀數。它會透過 Bluetooth LE 以標準心率監視器的形式廣播該數據:您的訓練應用程式會將其視為胸帶。

一心一源

您的手錶進行測量,您的 AirPods 也進行測量。兩個感測器在同一時刻出現分歧,比單一感測器出現輕微誤差更糟,因此 HRB 會在它們之間進行仲裁,並將精確的一個數值發送出去。

HeartRate Broadcaster 顯示來自 Apple Watch 的 97 BPM,Sensor Agreement 列顯示「僅限手錶」,並已連接頭部單元。

公開的感測器一致性

它會列出目前能接收到的感測器名稱,列印它們之間的心率差值(BPM),並顯示它最終確定並發送的單一讀數。

Apple Watch
主要感測器。它會執行真實的運動課程——這是以實用頻率採樣心率,並在螢幕關閉時持續採樣的唯一方式。
AirPods Pro 3
第二個完全可選的感測器。單獨使用手錶即可作為完整的數據源;單獨使用 AirPods 亦然。
iPhone
對一致的讀數進行平均處理,在數據不一致時剔除異常值,並將結果以標準的 Bluetooth LE 心率服務(0x180D)進行廣播。當某個感測器停止傳輸時,該行會明確顯示此狀態,而不是靜默地與過時的數值進行比較。
接收端裝置
MyWhoosh、Zwift、TrainerRoad、Wahoo 以及支援 Bluetooth 的 Garmin Edge 裝置,都會將其視為一條普通的胸帶。

輸入瓦數,輸出卡路里

功率計負責測量做功。將這些做功轉換為熱量需要兩個常數,以下將分別說明。

一次訓練摘要:37 大卡活躍熱量,包含靜態代謝在內共 40 大卡,做功 40 千焦,平均功率 217 瓦,以及四個被 PowerTap P1 對組標記並計入的感測器。
算術運算產生的每個數值都顯示在一張卡片上。以 0.24 的效率計算,40 千焦的做功等於 40 大卡,這就是總量;扣除靜態代謝佔比後,Health 應用程式收到的數值為 37。

從踏板到數值

瓦特是每秒焦耳。HRB 將功率計報告的功率在其實際報告的時間內進行積分,然後將機械功轉換為身體產生該功所消耗的能量。

功
每個功率樣本乘以所覆蓋的間隔並加總。遺漏的樣本會被排除,不會進行插值——摘要會說明遺漏了多少秒。
效率
您消耗的能量中,約有 24% 會轉化為踏板的功;其餘則以熱能形式散失。這個數值 0.24 落在訓練有素的騎行者所測得的 0.20–0.25 範圍內,這也是為什麼一公里的功大約需要消耗一卡路里。
靜態
健康狀態的「高於靜態」由活動能量定義,因此會先從您的身高、體重、年齡和性別計算出的基礎代謝(Mifflin–St Jeor 公式)中扣除該會話的基礎部分,然後才記錄數據。摘要會顯示這兩個數值。
無計量器
若無功率數據,估算將退回使用已發表的心率回歸公式(Keytel 等人,2005),並在螢幕上顯示此說明。標註為估算值的數據,比偽裝成測量值的數據更有參考價值。

自行車上的每一公尺

自行車功率(0x1818)、自行車速度與踏頻(0x1816)以及 FTMS 室內自行車數據(0x1826)。踏板、曲柄和智能訓練器皆會回報數據;踏板式計量器也會回報其具備的左右平衡數據。

已與 Wahoo Kickr Core 2 和 PowerTap P1 踏板進行騎乘與測試,兩者同時在空氣中運作。

一個計量器用於計算,其餘僅記錄

踏板、曲柄和訓練器的讀數不同,因為它們測量的是傳動系統的不同位置。您可選擇卡路里數據來自哪一個計量器;其他數據會與之並列記錄,並顯示各自的平均值,以便您查看數據差異。

騎乘、跑步、游泳

會話在開始前即已標記標籤,當功率計未接觸地面時預設為騎乘。該標籤設定 HealthKit 的活動類型,手錶也會標記其自身的會話以保持一致。

您的身體數據保留在此處

身高、體重、出生日期和性別只需輸入一次,並僅儲存於手機上。它們僅用於上述兩個方程式,不作其他用途。身高可輸入英呎和英寸,或公分。

寫入健康

每次訓練都會以包含活動能量的運動記錄形式儲存,因此會顯示在您的活動圓環以及任何讀取健康資料的應用程式中。應用程式內的歷史記錄保留了健康應用程式沒有欄位記錄的詳細資訊:偵測到哪些功率計,以及哪些時段出現訊號中斷。

它會告知您何時為估算值

身體資料不完整、感測器訊號中斷,或僅使用心率估算,都會在數值下方的「備註」區塊中顯示。系統不會悄悄調整數值以使其看起來比實際更好。

三種獲取方式

只有一個應用程式,以及該應用程式的一個版本。不同之處在於取得它的方式:其中兩種途徑免費,但需要付出努力或耐心;第三種則是透過 App Store。

TestFlight——免費,90 天有效

任何人都可參與,無需邀請。安裝 Apple 的 TestFlight 應用程式,開啟公開連結,即可將測試版與其他應用程式並行安裝。每個構建版本自發布之日起 90 天內有效;新構建版本會重置計時,因此只要持續更新,測試版即可一直運行。

加入公開測試版

側載——免費,需開發者帳戶

每個 GitHub 發行版本都包含 Release 配置的 .ipa 檔案。該檔案已簽署用於分發,因此安裝時需使用您自己的憑證重新簽署——Xcode、AltStore 或 Sideloadly 均可完成此操作。由於免費配檔檔不支援 HealthKit 和背景藍牙功能,因此此途徑需要付費的 Apple Developer 帳戶。完整原始碼也已提供。

GitHub 上的發行版本

App Store——USD 4.99

一次購買。無訂閱、無應用程式內購買、無廣告、無帳號,且它會像其他應用程式一樣自動更新。您付費是為了跳過上述兩種途徑,並支持背後的開發工作。

前往 App Store 查看

在 TestFlight 試用

測試版已開放——沒有邀請名單,也不需要審核。它與付費版是同一款應用程式,只是透過 Apple 的測試版頻道而非商店安裝。

1 — 安裝 TestFlight
Apple 自家的測試版應用程式,在 App Store 免費提供。必須先安裝在 iPhone 上,連結才會生效。
2 — 開啟公開連結
在同一部 iPhone 上,開啟 testflight.apple.com/join/VUJCa5Gw,然後輕觸「接受」和「安裝」。無需邀請碼或代碼。
3 — 新增手錶應用程式
在 iPhone 上的「手錶」應用程式中安裝它,方式與其他任何手錶應用程式相同。手錶是感測器,因此此步驟不可省略。

TestFlight 版本自發布之日起有效期為 90 天。每個新版本都會重新計算該期限,因此只要持續更新,測試版就會繼續運行。App Store 版本則不會過期。

每個螢幕

截圖取自 iPhone 17 Pro Max 與 Apple Watch 上的發行版本。部分截圖於騎乘中的手機上拍攝;其餘則在無藍牙射頻的模擬器上拍攝,因此這些感測器為替換組,向應用程式提供真實讀數。畫面上的所有數值均為應用程式自行計算的結果。這裡沒有任何繪圖。

功能說明

這裡的一切功能在應用程式中都已存在。本頁面上的內容並非產品開發路線圖。

專業的心率胸帶

廣播標準心率服務(0x180D),包含心率測量與身體感應器位置。任何透過藍牙配對的心率胸帶皆支援此功能,無需搭配專屬應用程式或外掛程式。

兩個感應器,一個數值

當手錶和 AirPods 同時回報數據時,HRB 會對一致的讀數進行平均,並在數據不一致時拒絕異常值——優先選擇更接近其已觀察到的趨勢的數據。

虛擬換檔器

同一支手機也能透過開放的 Bike Control 協議作為變速器,因此心率帶上的按鈕可控制 MyWhoosh 或 Zwift 中的訓練台。無需 Clicks、Play 控制器或第二支裝置。

動態島

鎖定畫面與動態島上的即時活動:顯示目前的心率(BPM)、訊號來源,以及是否有頭部顯示器已訂閱。無需解鎖即可一目了然。

浮動視窗

「畫中畫」功能讓你在切換至其他應用程式時,心率數值仍顯示在畫面上——在 HRB 中啟動運動課程,切換至訓練應用程式後,每分鐘心跳數會以浮動視窗的形式跟隨你。該視窗在滑動至主畫面後仍會保留,並浮動於其他無關應用程式之上;且完全靜音:視窗不會發出任何聲音,也絕不會暫停、縮小或接管你目前正在播放的內容。

鎖定手錶觸控螢幕

衣袖、運動上衣拉鍊或手握車把時,都可能意外中斷訊號廣播。啟用鎖定功能後,手錶應用程式會忽略誤觸——只需刻意按壓一秒即可解鎖,確保心率數值全程清晰可讀。

完整的診斷資訊

「設定」會顯示已連線的中心裝置識別碼、每個訂閱者傳送的幀數、即時幀率、最後一幀的確切位元組,以及最後一次傳送的經過時間。當出現問題時,您可以查看鏈結的哪一半有問題。

心跳同步動畫

手機和手錶上的心臟會以您測量的速率跳動,並在樣本停止到達時停止。心臟靜止且數值看似合理,代表感測器已斷線。

背景持續傳送

頭部單元連線後,即使鎖定手機,鏈結仍會維持。HRB 每秒通知一次數值是否有變更,這正是真實心跳帶的行為,也是頭部單元的預期行為。

測試訊號

用於配對和除錯的合成心跳來源,無需佩戴任何裝置。在擔心感測器之前,請確認頭部單元已看到廣播。

支援二十五種語言

手機與手錶上的每個畫面均已翻譯為二十五種語言,其中阿拉伯語採用由右至左的排版,而非將英文鏡像翻轉。在「設定」中選擇一種語言後,該選擇將保持不變,不受手機系統語言設定影響。本網站亦提供相同的二十五種語言版本。

相容性

任何配對藍牙低功耗心率服務(Heart Rate Service)感應器的應用程式或頭部顯示器,都會以相同方式配對 HRB。

MyWhoosh Zwift TrainerRoad Wahoo Garmin Edge (Bluetooth) nRF Connect

以下是它讀取的資料。列出的名稱是該應用程式開發與測試時所使用的設備;不在列表中的計量器或訓練台也能運作,因為該應用程式讀取的是標準的自行車功率(Cycling Power)和 FTMS 規格,而非特定型號。

Wahoo KICKR CORE 2 PowerTap P1 SRAM Red crank Any Bluetooth power meter Apple Watch AirPods Pro 3 OpenBikeControl shifting

不支援 ANT+,且沒有任何應用程式可以新增支援

HRB 僅透過 Bluetooth LE 進行廣播。ANT+ 是獨立的無線電通訊協定,而 iPhone 沒有 ANT+ 硬體,因此任何軟體都無法進行傳輸。這是裝置的限制,而非應用程式的限制。

僅透過 ANT+ 配對心跳的裝置(包括 Garmin Forerunner 935)永遠不會看到此廣播,無論如何設定皆然。

設定 MyWhoosh

兩種設定都能運作。選擇哪一種取決於你是否願意攜帶 iPhone,因為 Apple Watch 無法在沒有 iPhone 的情況下進行任何連線。

Apple Watch + iPhone + AirPods Pro 3

精確的設定。兩個感測器都會回報數據,HRB 會將它們合併為單一數值,MyWhoosh 則會將其視為單一胸帶。啟動手錶應用程式,在手機上選擇 Both 作為來源,然後在 MyWhoosh 的感測器畫面中配對 HRB。手機留在房間內即可;手錶不需要靠近頭部顯示器,只要靠近手機即可。

iPad + AirPods Pro 3

單機設定。AirPods Pro 3 直接配對至 iPad,因此 HRB、MyWhoosh 和 Bike Control 都在同一個畫面上執行,不需要手機或手錶。將來源設定為 AirPods —— 手錶選項在此隱藏,因為沒有可供連線的裝置。

手錶始終透過 iPhone 連線

Apple Watch 僅與 iPhone 配對,且本身不會透過藍牙廣播心率。手錶應用程式負責測量,並將讀數透過手錶到手機的連結傳送給手機,而你的頭部顯示器實際上是連接到手機。

因此,手錶會為 iPhone 設定新增第二個感測器,但為 iPad 設定不會新增任何內容。如果你希望桌上只有一個裝置,請在 iPad 上使用 AirPods,並不要將手錶納入其中。

在前景中配對一次 讓 HRB 保持螢幕開啟,直到 MyWhoosh 回報感應器已連線。iOS 會隱藏背景應用程式廣播的服務,因此偵測需要應用程式處於前景;之後你可以切換應用程式或鎖定裝置,連線仍會保持。
從單一裝置廣播 在手機或 iPad 上執行 HRB,不要同時執行。同時執行兩個副本會在 MyWhoosh 的裝置清單中顯示兩個相同的 HRB 感測器,而配對畫面無法區分它們。
手錶連結(如果該列為紅色) 主畫面上的「手錶 App」列會顯示手機實際偵測到的狀態。未安裝表示手錶 App 從未開啟;無法連線通常表示手錶 App 未在執行中——請開啟它並開始工作階段。此列在 iPad 上會完全消失。
嘗試不使用感測器 將來源設定為測試訊號,即可廣播合成的 50–100 BPM 訊號。它在 MyWhoosh 中的配對方式與真實讀數完全相同——這是在佩戴任何設備之前,確認感應器端運作正常的快速方法。

常見問題

使用者最常遇到的狀況,以及針對每項狀況的誠實解答。

AirDrop 無法使用——請先停止廣播

AirDrop 透過藍牙低功耗尋找附近裝置,HRB 也使用相同的射頻進行此操作。當 HRB 正在廣播且頭部顯示器已訂閱時,它會持續佔用該射頻。這會導致 AirDrop 無法看到另一端的裝置,或在傳輸開始前顯示裝置但停滯不前。

停止廣播、退出 HRB,然後退出 AirDrop。它會立即恢復正常運作:一旦 HRB 回到前景,重新配對只需點擊一次。對於廣播期間可能失效的其他功能(如 CarPlay 切換、開始遺失按鍵的藍牙鍵盤、Continuity Camera),也建議嘗試此方法。

配對後可以鎖定螢幕嗎?

可以。發現功能需要 HRB 處於前景,但連線在鎖定、背景執行和切換 App 時會持續存在。您無法在 App 隱藏時進行首次配對——iOS 會在背景停止廣播該服務。

電池消耗多少?

廣播本身耗電量低;產生讀數的運動階段則不然。預期耗電量與該裝置上任何心率運動相當。在 iPhone 搭配手錶的組合中,手錶耗電較多,因為是由它進行測量。

兩個應用程式能同時讀取廣播嗎?

是的。Bluetooth LE 允許多個應用程式訂閱單一感測器,因此 MyWhoosh 和另一個應用程式都能同時看到相同的數據。主畫面會顯示即時訂閱者數量,讓您確認兩者確實都已連線。

騎乘過程中心率數值凍結

當讀數過時時,數值會變為灰色,而不是重複顯示過時的數據。使用 AirPods 時,這通常表示它們已停止回報數據——該列上的路線選擇器會將音訊切換並恢復,從而在不離開應用程式的情況下重新建立連線。

我的 Garmin 找不到它

請檢查該型號是否僅透過 ANT+ 配對心率數據。iPhone 沒有 ANT+ 射頻晶片,因此沒有任何應用程式可以傳輸該數據。接受藍牙心率帶配對的 Garmin 裝置會正常與 HRB 配對;不接受的裝置則永遠無法配對。

數據會傳送到哪裡?

僅傳送至藍牙射頻晶片,不會傳送至其他地方。沒有帳戶、沒有伺服器,也沒有任何分析數據。心率數據來自裝置上的 HealthKit,並以標準感測器數值的形式傳送至您配對的任何裝置。

需求

運行所需的條件與費用。

iPhone 需要 iOS 26 或更高版本。廣播功能使用藍牙周邊角色,模擬器不支援此功能——因此需要實體硬體。
Apple Watch 需要 watchOS 11 或更高版本。手錶應用程式會執行運動課程,這是以實用頻率獲取心率數據並在螢幕關閉時保持採樣的唯一方式。
AirPods 選配。AirPods Pro 3 會將心率數據回報給執行運動課程的裝置,因此當您將它們設為數據來源時,HRB 會在手機上啟動一個課程。
價格 App Store 售價 4.99 美元,一次性付費。無訂閱、無內購。TestFlight 測試版與正式版並行,讓任何使用者都能提前體驗新版本。
配對 請保持應用程式開啟,直到頭部單元連線為止。iOS 會隱藏背景應用程式所廣播的服務 UUID,因此偵測必須在前台進行;連線建立後,即使鎖定手機連線仍會維持。
廣播名稱 預設為 HRB,可編輯至多 10 個字元——廣播封包為 31 位元組,頭部單元會截斷較長的名稱。

在 GitHub 上開源

整個應用程式均採用 MIT 授權條款發布——包括 iPhone 應用程式、Apple Watch 應用程式、Live Activity、建置腳本以及此網站。如果您更願意親自檢視 Bluetooth 程式碼,而非僅憑信任我們的隱私聲明,所有原始碼皆已公開。

閱讀授權條款
github.com/tankbottoms/HeartRateBroadcaster——使用 Swift 編寫,無外部依賴,亦無需檢查任何分析 SDK。
建置應用程式
複製程式碼,執行 xcodegen generate,開啟專案並進行建置。程式碼簽署需要您自己的團隊識別碼;除此之外無需其他設定。
側載應用程式
每個發行版本皆附有 Release 組態的 .ipa 檔案及側載說明。由於免費配發設定檔無法使用 HealthKit 與背景 Bluetooth 功能,因此重新簽署需要付費的 Apple Developer 帳戶。