Detak jantung Anda,
di komputer sepeda apa pun.
HeartRate Broadcaster (HRB) membaca detak jantung secara langsung dari Apple Watch dan AirPods Pro Anda, lalu menggabungkannya menjadi satu pembacaan. Aplikasi ini memancarkan sinyal tersebut melalui Bluetooth LE sebagai monitor detak jantung standar: aplikasi latihan Anda akan melihatnya sebagai tali dada.
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 melakukan arbitrase di antara keduanya dan mengirimkan tepat satu angka ke udara.
Kesepakatan sensor, secara terbuka
Aplikasi ini menyebutkan sensor yang saat ini dapat didengarnya, mencetak seberapa jauh perbedaan mereka dalam BPM, dan menunjukkan pembacaan tunggal mana yang dipilih 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.
Watt masuk, kalori keluar
Pengukur daya mengukur kerja. Mengubah kerja tersebut menjadi kalori membutuhkan dua konstanta, yang keduanya disebutkan di bawah ini.
Dari pedal ke angka
Watt adalah joule per detik. HRB mengintegrasikan daya yang dilaporkan meter selama waktu pelaporannya, lalu mengubah kerja mekanis menjadi energi yang dikeluarkan tubuh untuk menghasilkannya.
- Kerja
- Setiap sampel daya dikalikan dengan interval yang dicakupnya dan dijumlahkan. Data yang hilang tidak diinterpolasi — ringkasan menunjukkan berapa detik yang terlewat.
- Efisiensi
- Sekitar 24% dari energi yang Anda bakar mencapai pedal sebagai kerja; sisanya hilang sebagai panas. Angka tersebut,
0.24, berada dalam kisaran 0,20–0,25 yang terukur pada bersepeda terlatih, dan itulah mengapa satu kilojoule kerja membutuhkan sekitar satu kilokalori. - Istirahat
- Kesehatan berarti "di atas istirahat" berdasarkan energi aktif, sehingga bagian basal sesi — Mifflin–St Jeor, dari tinggi badan, berat badan, usia, dan jenis kelamin Anda — dikurangkan sebelum apa pun dicatat. Ringkasan menampilkan kedua angka tersebut.
- Tidak ada meter
- Tanpa daya, estimasi kembali ke regresi detak jantung yang diterbitkan (Keytel dkk., 2005) dan menampilkannya di layar. Estimasi yang dilabeli sebagai salah satu lebih berharga daripada angka yang berpura-pura terukur.
Setiap meter di sepeda
Daya Sepeda (0x1818), Kecepatan dan Kadensi Sepeda (0x1816), dan Data Sepeda Dalam Ruangan FTMS (0x1826). Pedal, engkol, dan trainer pintar semuanya melaporkan; meter berbasis pedal juga melaporkan keseimbangan kiri/kanan jika memilikinya.
Dikendarai dan diuji melawan Wahoo Kickr Core 2 dan pedal PowerTap P1, keduanya menyala secara bersamaan.
Satu meter dihitung, yang lain dicatat
Pedal, engkol, dan trainer dibaca berbeda karena mengukur pada titik yang berbeda dalam transmisi daya. Anda memilih dari mana angka kalori berasal; yang lain dicatat di sampingnya, dengan rata-rata masing-masing, sehingga Anda dapat melihat sebarannya.
Bersepeda, berlari, berenang
Sesi diberi label sebelum dimulai, dan secara default menjadi bersepeda ketika meter daya berada di udara. Label menetapkan jenis aktivitas HealthKit, dan jam tangan memberi label pada sesi sendiri agar cocok.
Detail tubuh Anda tetap di sini
Tinggi badan, berat badan, tanggal lahir, dan jenis kelamin dimasukkan sekali dan hanya disimpan di ponsel. Data ini digunakan untuk dua persamaan di atas dan tidak untuk keperluan lain. Tinggi badan menggunakan satuan kaki dan inci, atau sentimeter.
Ditulis ke Kesehatan
Setiap sesi disimpan sebagai latihan dengan energi aktifnya, sehingga masuk ke dalam cincin aktivitas Anda dan ke aplikasi apa pun yang membaca data Kesehatan. Riwayat dalam aplikasi menyimpan detail yang tidak tersedia di Kesehatan: meter mana yang terdeteksi, dan di mana saja terdapat jeda.
Menunjukkan kapan sistem sedang melakukan perkiraan
Profil tubuh yang tidak lengkap, sensor yang terputus, atau estimasi hanya berdasarkan detak jantung masing-masing ditampilkan di bagian Catatan di bawah angka. Tidak ada data yang secara diam-diam dibulatkan agar terlihat lebih baik dari kenyataannya.
Tiga cara untuk mendapatkannya
Ada satu aplikasi, dan satu versi pembuatannya. Yang berbeda adalah cara Anda mendapatkannya: dua dari rute ini tidak berbiaya apa pun dan meminta usaha atau kesabaran sebagai gantinya, dan yang ketiga adalah App Store.
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.
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.
App Store — USD 4,99
Satu pembelian. Tanpa langganan, tanpa pembelian dalam aplikasi, tanpa iklan, tanpa akun, dan aplikasi ini memperbarui dirinya sendiri seperti aplikasi lainnya. Anda membayar untuk melewati kedua rute di atas, dan untuk pekerjaan di baliknya.
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 di iPhone 17 Pro Max dan Apple Watch. Beberapa diambil di telepon saat sedang bersepeda; sisanya di simulator, yang tidak memiliki radio Bluetooth, sehingga sensor di sana adalah set pengganti yang memberi aplikasi pembacaan nyata. Setiap angka di layar adalah aritmetika aplikasi sendiri. Tidak ada di sini adalah gambar.
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 keduanya melaporkan, HRB merata-ratakan pembacaan yang sepakat dan menolak nilai luar ketika mereka tidak sepakat — lebih memilih yang mana pun yang lebih dekat dengan tren yang sudah dilihatnya.
Pemindah gigi virtual
Ponsel yang sama juga menawarkan dirinya sebagai pengubah rasio gigi melalui protokol Bike Control yang terbuka, sehingga tombol di bawah sensor detak jantung mengontrol trainer Anda di MyWhoosh atau Zwift. Tanpa Clicks, tanpa pengontrol Play, tanpa perangkat kedua.
Dynamic Island
Live Activity di Layar Kunci dan di Dynamic Island: BPM saat ini, sumber datangnya, dan apakah unit kepala berlangganan. Dapat dilihat sekilas tanpa membuka kunci.
Jendela mengambang
Picture in Picture menjaga angka tetap tampil di layar saat Anda menggunakan aplikasi lain — mulailah latihan di HRB, beralih ke aplikasi latihan Anda, dan BPM mengikuti Anda sebagai jendela mengambang. Jendela ini tetap muncul saat Anda beralih ke Layar Utama dan mengambang di atas aplikasi lain yang tidak terkait, serta tidak mengeluarkan suara: jendela tidak memutar suara, tidak pernah menjeda, meredam, atau mengambil alih apa pun yang sedang Anda putar.
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, secara penuh
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.
Dua puluh lima bahasa
Setiap layar di ponsel dan jam tangan diterjemahkan ke dalam dua puluh lima bahasa, termasuk Arab dengan tata letak kanan-ke-kiri, bukan terjemahan terbalik dari bahasa Inggris. Pilih satu di Pengaturan, dan pilihan itu akan tetap tersimpan, apa pun pengaturan ponsel Anda. Situs ini juga tersedia dalam dua puluh lima bahasa yang sama.
Kompatibilitas
Aplikasi atau unit kepala apa pun yang memasangkan sensor Layanan Detak Jantung Bluetooth LE memasangkan HRB dengan cara yang sama.
Dan inilah yang dibacanya. Yang bernama adalah apa yang aplikasi bangun dan uji terhadapnya; meter atau trainer yang tidak ada di antaranya tetap berfungsi, karena aplikasi membaca profil Cycling Power dan FTMS standar daripada model tertentu.
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 memasangkan dengan iPhone dan hanya iPhone, dan tidak pernah mengiklankan detak jantung melalui Bluetooth itu sendiri. Aplikasi di jam mengukur, menyerahkan pembacaan ke ponsel melalui tautan jam-ke-ponsel, dan ponsellah yang sebenarnya dihubungkan oleh unit kepala 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 terbuka di layar hingga MyWhoosh melaporkan sensor terhubung. iOS menyembunyikan layanan yang diiklankan oleh aplikasi di latar belakang, sehingga penemuan memerlukan latar 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 Test Signal untuk menyiarkan sinyal sintetis 50–100 BPM. Pemasangan di MyWhoosh persis seperti pembacaan nyata — 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 mengiklankan dan unit kepala berlangganan, ia memegang radio tersebut secara terus-menerus. AirDrop kemudian gagal melihat perangkat di ujung lain, atau menampilkannya dan macet sebelum transfer dimulai.
Hentikan siaran, atau tutup HRB, lalu AirDrop. Ia berfungsi kembali segera: pemasangan ulang memerlukan satu ketuk setelah HRB kembali ke latar depan. Hal yang sama layak dicoba untuk fitur lain apa pun yang menjadi diam saat Anda 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
Yang dibutuhkan untuk menjalankannya, dan biayanya.
| 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
.ipakonfigurasi Release dengan petunjuk pemasangan manual. HealthKit dan Bluetooth latar belakang tidak tersedia untuk profil provisioning gratis, sehingga penandatanganan ulang memerlukan akun Apple Developer berbayar.