Ikon aplikasi HeartRate Broadcaster

Detak jantung Anda,
di komputer sepeda apa pun.

HeartRate Broadcaster (HRB) membaca detak jantung secara langsung dari Apple Watch dan AirPods Pro Anda, menggabungkannya menjadi satu pembacaan, dan menyebarkannya kembali melalui Bluetooth LE sebagai monitor detak jantung standar. Aplikasi latihan Anda melihatnya sebagai tali dada.

Gratis untuk dicoba di TestFlight, gratis untuk di-sideload, atau USD 4,99 setelah tersedia di App Store. Tiga opsinya. Daftar di toko sedang dalam peninjauan.

Satu jantung, satu aliran

Jam tangan Anda mengukur. AirPods Anda mengukur. Dua sensor yang tidak sepakat pada saat yang sama lebih buruk daripada satu sensor yang sedikit salah, sehingga HRB tidak pernah menyiarkan keduanya — ia melakukan arbitrase di antara keduanya dan mengirimkan tepat satu angka ke udara.

HeartRate Broadcaster menampilkan 96 BPM dari Apple Watch, bar Kesepakatan Sensor yang berbunyi Hanya Watch, dan unit kepala yang terhubung.

Kesepakatan sensor, secara terbuka

Aplikasi ini tidak pernah meminta Anda memercayainya begitu saja. Aplikasi ini menyebutkan sensor yang dapat didengarnya saat ini, mencetak seberapa jauh perbedaan mereka dalam BPM, dan menunjukkan pembacaan tunggal yang disepakati dan dikirim.

Apple Watch
Sensor utama. Ini menjalankan sesi latihan sungguhan — satu-satunya cara untuk mengambil sampel detak jantung pada laju yang berguna dan untuk terus mengambil sampel dengan layar dalam keadaan mati.
AirPods Pro 3
Sensor kedua, sepenuhnya opsional. Jam tangan sendiri sudah menjadi sumber yang lengkap; AirPods sendiri juga demikian.
iPhone
Meratakan pembacaan yang saling sesuai, menolak nilai pencilan ketika tidak sesuai, dan mengiklankan hasilnya sebagai Layanan Detak Jantung Bluetooth LE standar (0x180D). Ketika sensor tidak aktif, bar tersebut menginformasikannya alih-alih diam-diam membandingkannya dengan angka yang sudah kedaluwarsa.
Unit utama
MyWhoosh, Zwift, TrainerRoad, Wahoo, dan unit Garmin Edge yang mendukung Bluetooth semuanya melihat satu tali dada biasa.

Tiga cara untuk mendapatkannya

Ada satu aplikasi, dan satu build-nya. Yang berbeda adalah cara Anda mendapatkannya: dua dari rute ini tidak memerlukan biaya dan meminta usaha atau kesabaran, sedangkan yang ketiga adalah App Store, yang merupakan opsi paling praktis.

TestFlight — gratis, 90 hari

Terbuka untuk siapa saja, tanpa perlu undangan. Instal aplikasi TestFlight dari Apple, buka tautan publik, dan versi beta akan terinstal bersama aplikasi lainnya. Setiap build tetap dapat digunakan selama 90 hari sejak hari dipublikasikan; build baru akan mereset waktu tersebut, sehingga versi beta tetap berjalan selama aplikasi terus diperbarui.

Bergabung dengan beta publik

Sideload — gratis, memerlukan akun pengembang

Seteach rilis GitHub menyertakan .ipa konfigurasi Release. File tersebut ditandatangani untuk distribusi, sehingga menginstalnya berarti menandatangani ulang dengan identitas Anda sendiri — Xcode, AltStore, atau Sideloadly semuanya dapat melakukan ini. HealthKit dan Bluetooth latar belakang tidak tersedia untuk profil provisioning gratis, sehingga rute ini memerlukan akun Apple Developer berbayar. Sumber kode lengkap juga tersedia di sana.

Rilis di GitHub

App Store — USD 4,99

Satu pembelian. Tanpa langganan, tanpa pembelian dalam aplikasi, tanpa iklan, tanpa akun, dan aplikasi memperbarui dirinya sendiri seperti aplikasi lainnya. Anda membayar untuk kemudahan tidak perlu melakukan salah satu dari dua cara di atas, serta untuk pekerjaan yang telah dilakukan.

Lihat di App Store

Mencobanya di TestFlight

Beta terbuka — tidak ada daftar undangan dan tidak ada langkah persetujuan. Ini adalah aplikasi yang sama dengan versi berbayar, diinstal melalui saluran beta Apple alih-alih toko.

1 — Instal TestFlight
Aplikasi beta milik Apple, gratis di App Store. Aplikasi ini harus ada di iPhone agar tautan dapat berfungsi.
2 — Buka tautan publik
Di iPhone yang sama, buka testflight.apple.com/join/VUJCa5Gw, lalu ketuk Terima dan Instal. Tidak perlu undangan atau kode.
3 — Tambahkan aplikasi jam tangan
Instal dari aplikasi Watch di iPhone Anda, sama seperti aplikasi jam tangan lainnya. Jam tangan berfungsi sebagai sensor, sehingga langkah ini tidak opsional.

Build TestFlight berlaku selama 90 hari sejak hari dipublikasikan. Setiap build baru memulai kembali periode tersebut, sehingga beta terus berjalan selama terus diperbarui. Tidak ada yang kedaluwarsa pada versi App Store.

Setiap layar

Diambil dari build pengiriman pada iPhone 17 Pro Max dan Apple Watch. Tidak ada di sini yang merupakan mockup.

Fungsinya

Semua fitur ini sudah tersedia di aplikasi saat ini. Tidak ada hal di halaman ini yang merupakan rencana pengembangan.

Tali detak jantung yang sesungguhnya

Mengiklankan Layanan Detak Jantung standar (0x180D) dengan Pengukuran Detak Jantung dan Lokasi Sensor Tubuh. Perangkat apa pun yang berpasangan dengan tali Bluetooth akan mendukung ini, tanpa memerlukan aplikasi pendamping atau plug-in.

Dua sensor, satu angka

Ketika jam tangan dan AirPods sama-sama melaporkan data, HRB akan merata-ratakan pembacaan yang sesuai dan menolak nilai yang menyimpang — dengan memprioritaskan yang lebih dekat dengan tren yang sudah terlihat. Unit head hanya akan melihat satu sensor.

Dynamic Island

Live Activity di Layar Kunci dan di Dynamic Island: BPM saat ini, sumber datanya, dan apakah unit head benar-benar berlangganan. Dapat dilihat sekilas tanpa perlu membuka kunci.

Jendela mengambang

Picture in Picture menjaga angka tetap di layar saat Anda menggunakan aplikasi lain — mulai latihan di HRB, beralih ke aplikasi latihan Anda, dan BPM akan mengikuti Anda sebagai jendela mengambang.

Kunci layar sentuh untuk jam tangan

Lengan baju, ritsleting jersey, atau pegangan pada setang dapat menghentikan siaran di tengah perjalanan. Aktifkan kunci dan aplikasi jam tangan akan mengabaikan ketukan yang tidak disengaja — tekan selama satu detik secara sengaja untuk membukanya, dan BPM tetap terbaca sepanjang waktu.

Diagnostik yang jujur

Pengaturan menampilkan pusat yang terhubung berdasarkan pengenal, bingkai yang dikirim per pelanggan, laju bingkai langsung, byte tepat dari bingkai terakhir, dan berapa lama waktu sejak bingkai tersebut dikirim. Ketika sesuatu tidak berfungsi, Anda dapat melihat bagian mana dari tautan yang menjadi penyebab masalah.

Animasi yang disinkronkan dengan detak jantung

Ikon jantung di ponsel dan jam tangan berdetak sesuai laju terukur Anda dan berhenti ketika sampel berhenti diterima. Ikon jantung diam di atas angka yang tampak masuk akal berarti sensor telah terputus.

Tetap mengirim di latar belakang

Setelah unit kepala terhubung, tautan tetap bertahan saat kunci ponsel diaktifkan. HRB memberi tahu setiap detik apakah nilai berubah atau tidak, yang merupakan perilaku yang dilakukan oleh tali sungkup sungguhan dan yang diharapkan oleh unit kepala.

Sinyal uji

Sumber detak jantung sintetis untuk pemasangan dan pemecahan masalah tanpa mengenakan apa pun. Pastikan unit kepala melihat siaran sebelum Anda mengkhawatirkan sensor.

Kompatibilitas

Apa pun yang menerima sensor detak jantung Bluetooth LE akan melihat HRB sebagai sensor tersebut.

MyWhoosh Zwift TrainerRoad Wahoo Garmin Edge (Bluetooth) nRF Connect

Tidak ada ANT+ — dan tidak ada aplikasi yang dapat menambahkannya

HRB menyiarkan hanya melalui Bluetooth LE. ANT+ adalah protokol radio terpisah, dan iPhone tidak memiliki perangkat keras ANT+, sehingga tidak ada perangkat lunak yang dapat mentransmisikannya. Ini adalah keterbatasan perangkat, bukan aplikasi.

Perangkat yang memasangkan detak jantung hanya melalui ANT+ — termasuk Garmin Forerunner 935 — tidak akan pernah melihat siaran ini, apa pun konfigurasinya.

Menyiapkan untuk MyWhoosh

Dua konfigurasi berfungsi. Yang mana yang Anda pilih tergantung pada apakah Anda bersedia membawa iPhone, karena Apple Watch tidak dapat menjangkau apa pun tanpanya.

Apple Watch + iPhone + AirPods Pro 3

Konfigurasi yang akurat. Kedua sensor melaporkan data, HRB menyelaraskannya menjadi satu angka, dan MyWhoosh melihat satu tali dada. Mulai aplikasi di jam, pilih Both sebagai sumber di ponsel, lalu pasangkan HRB di layar sensor MyWhoosh. Ponsel tetap berada di dalam ruangan; jam tidak perlu berada di dekat unit utama, hanya di dekat ponsel.

iPad + AirPods Pro 3

Konfigurasi satu perangkat. AirPods Pro 3 dipasangkan langsung ke iPad, sehingga HRB, MyWhoosh, dan Bike Control semuanya berjalan di layar yang sama tanpa melibatkan ponsel maupun jam. Atur sumbernya ke AirPods — opsi jam disembunyikan di sini, karena tidak ada yang dapat mereka sambungkan.

Jam selalu terhubung melalui iPhone

Apple Watch hanya dipasangkan dengan iPhone. Jam tidak memiliki cara untuk dipasangkan dengan iPad, dan tidak pernah memancarkan detak jantung melalui Bluetooth secara mandiri. Aplikasi di jam mengukur, mengirimkan pembacaan ke ponsel melalui tautan jam-ke-ponsel, dan ponsel itulah yang sebenarnya disambungkan oleh unit utama Anda.

Jadi, jam menambahkan sensor kedua ke konfigurasi iPhone, dan tidak menambahkan apa pun ke konfigurasi iPad. Jika Anda menginginkan satu perangkat di meja, gunakan AirPods pada iPad dan jangan sertakan jam.

Pasangkan sekali, di latar depan Biarkan HRB tetap terbuka di layar hingga MyWhoosh melaporkan sensor terhubung. iOS menyembunyikan layanan yang diiklankan oleh aplikasi yang berjalan di latar belakang, sehingga penemuan harus dilakukan saat HRB berada di depan — setelah itu Anda dapat beralih aplikasi atau mengunci perangkat dan koneksi tetap terjaga.
Memancarkan dari satu perangkat Jalankan HRB di ponsel atau iPad, bukan keduanya. Dua salinan yang mengiklankan secara bersamaan menempatkan dua sensor HRB identik dalam daftar MyWhoosh, dan tidak ada cara untuk membedakannya dari layar pemadanan.
Tautan Watch, jika barisnya berwarna merah Bar Aplikasi Watch di layar utama melaporkan apa yang sebenarnya dilihat ponsel. Tidak terinstal berarti aplikasi Watch belum pernah dibuka; tidak dapat dijangkau biasanya berarti aplikasi Watch tidak sedang berjalan — buka dan mulai sesi. Bar ini hilang sepenuhnya di iPad.
Mencobanya tanpa sensor Atur sumber ke Sinyal Uji untuk menyiarkan 50–100 BPM sintetis. Perangkat ini dipasangkan di MyWhoosh persis seperti pembacaan nyata, yang menjadikannya cara tercepat untuk mengonfirmasi sisi sensor berfungsi sebelum Anda memasang apa pun.

Pertanyaan

Hal-hal yang pertama kali ditanyakan orang, beserta jawaban jujur untuk masing-masing.

AirDrop berhenti berfungsi — hentikan siaran terlebih dahulu

AirDrop menemukan perangkat terdekat melalui Bluetooth LE, dan HRB juga melakukannya, menggunakan radio yang sama. Saat HRB sedang mengiklankan dan unit kepala berlangganan, radio tersebut digunakan secara terus-menerus, sehingga AirDrop mungkin gagal melihat perangkat di ujung lain — atau menampilkannya lalu macet sebelum transfer dimulai.

Hentikan siaran, atau tutup HRB, lalu AirDrop. AirDrop akan berfungsi kembali secara instan, dan tidak ada data yang hilang: pemadanan ulang hanya memerlukan satu ketukan setelah HRB kembali ke latar depan. Hal yang sama patut dicoba untuk fitur lain yang menjadi tidak responsif saat Anda sedang menyiarkan — handoff CarPlay, keyboard Bluetooth yang mulai kehilangan tombol, Continuity Camera.

Bisakah saya mengunci layar setelah perangkat dipasangkan?

Ya. Penemuan memerlukan HRB di latar depan, tetapi koneksi tetap bertahan saat layar dikunci, aplikasi masuk latar belakang, dan beralih aplikasi. Yang tidak dapat Anda lakukan adalah melakukan pemadanan pertama kali dengan aplikasi tersembunyi — iOS menghentikan pengiklanan layanan di latar belakang.

Berapa biaya baterainya?

Pemancaran itu hemat; sesi latihan yang menghasilkan pembacaan tidak. Harapkan kira-kira sama dengan biaya latihan detak jantung apa pun pada perangkat tersebut. Jam tangan adalah ujung yang lebih terdampak dari rangkaian iPhone, karena dialah yang melakukan pengukuran.

Dapatkah dua aplikasi membaca siaran secara bersamaan?

Ya. Bluetooth LE memungkinkan beberapa pelanggan terhubung ke satu sensor, sehingga MyWhoosh dan aplikasi kedua dapat melihat angka yang sama. Layar utama menampilkan jumlah pelanggan secara langsung sehingga Anda dapat mengonfirmasi bahwa keduanya benar-benar terhubung.

BPM membeku di tengah perjalanan

Nilai bacaan akan menjadi abu-abu saat data menjadi usang, alih-alih mengulang angka yang sudah tidak valid. Dengan AirPods, hal ini biasanya berarti perangkat berhenti melaporkan data — pemilih rute pada baris tersebut akan mengalihkan audio keluar dan kembali, yang akan menegakkan kembali koneksi tanpa meninggalkan aplikasi.

Garmin saya tidak menemukannya

Periksa apakah model tersebut hanya mendukung pemadanan detak jantung melalui ANT+. iPhone tidak memiliki radio ANT+, sehingga tidak ada aplikasi yang dapat mentransmisikan data tersebut. Perangkat Garmin yang menerima tali detak jantung melalui Bluetooth akan berpasangan dengan HRB secara normal; yang tidak mendukung hal tersebut tidak akan pernah bisa.

Ke mana data dikirim?

Ke radio Bluetooth, dan tidak ke mana pun. Tidak ada akun, tidak ada server, dan tidak ada analitik. Detak jantung berasal dari HealthKit pada perangkat dan keluar sebagai nilai sensor standar ke apa pun yang Anda pasangkan.

Persyaratan

Tanpa akun, tanpa masuk, dan tidak ada data yang keluar dari ponsel Anda — detak jantung dikirim ke radio Bluetooth dan tidak ke tempat lain.

iPhone iOS 26 atau yang lebih baru. Penyiaran menggunakan peran periferal Bluetooth, yang tidak didukung oleh Simulator — ini memerlukan perangkat keras asli.
Apple Watch watchOS 11 atau yang lebih baru. Aplikasi jam tangan menjalankan sesi latihan, yang merupakan satu-satunya cara untuk mendapatkan detak jantung pada laju yang berguna dan untuk terus mengambil sampel dengan layar dalam keadaan mati.
AirPods Opsional. AirPods Pro 3 melaporkan detak jantung ke perangkat mana pun yang menjalankan sesi latihan, sehingga HRB akan memulai sesi tersebut di ponsel saat Anda mengaktifkannya sebagai sumber.
Harga USD 4,99 di App Store, dibayar sekali. Tidak ada langganan dan tidak ada pembelian dalam aplikasi. Beta TestFlight berjalan berdampingan dengan versi rilis untuk siapa saja yang ingin mendapatkan versi berikutnya lebih awal.
Pasangan Biarkan aplikasi tetap terbuka hingga unit kepala Anda terhubung. iOS menyembunyikan UUID layanan yang diiklankan oleh aplikasi yang berjalan di latar belakang, sehingga penemuan harus terjadi di latar depan — setelah itu koneksi akan bertahan meskipun kunci ponsel.
Nama siaran HRB secara default, dapat diedit hingga 10 karakter — paket iklan berukuran 31 byte dan unit kepala memotong nama yang lebih panjang.

Sumber terbuka di GitHub

Seluruh aplikasi dipublikasikan di bawah lisensi MIT — aplikasi iPhone, aplikasi jam tangan, Live Activity, skrip build, dan situs web ini. Jika Anda lebih suka membaca kode Bluetooth daripada mempercayai klaim privasi, semuanya tersedia di sana.

Membacanya
github.com/tankbottoms/HeartRateBroadcaster — Swift, tanpa dependensi, tanpa SDK analitik untuk diperiksa.
Membangunnya
Klon, jalankan xcodegen generate, buka proyek, dan bangun. Penandatanganan memerlukan pengenal tim Anda sendiri; tidak ada yang lain yang diperlukan.
Memasang secara manual
Seteach rilis menyertakan .ipa konfigurasi Release dengan petunjuk pemasangan manual. HealthKit dan Bluetooth latar belakang tidak tersedia untuk profil provisioning gratis, sehingga penandatanganan ulang memerlukan akun Apple Developer berbayar.