Din puls,
på ethvert cycomputer.
HeartRate Broadcaster (HRB) læser live puls fra dit Apple Watch og AirPods Pro og fletter dem til én måling. Den sender dette via Bluetooth LE som en standard pulsmåler: din træningsapp ser en brystrem.
Ét hjerte, én stream
Dit ur måler. Dine AirPods måler. To sensorer, der uenige i samme øjeblik, er værre end én sensor, der er lidt forkert, så HRB mægler mellem dem og sender præcis ét tal ud.
Sensoroverensstemmelse, i det fri
Den navngiver de sensorer, den kan høre i øjeblikket, udskriver, hvor langt fra de er i BPM, og viser, hvilken enkeltmåling den faldt til ro med og sendte.
- Apple Watch
- Hovedsensoren. Den kører en rigtig træningssession — den eneste måde at sample puls i en brugbar hastighed på og at holde samplingen kørende med skærmen slukket.
- AirPods Pro 3
- En anden, helt valgfri sensor. Uret alene er en komplet kilde; AirPods alene er det også.
- iPhone
- Gennemsnit af aflæsninger, der er enige, afviser outlier, når de ikke er det, og annoncerer resultatet som en standard Bluetooth LE Heart Rate Service (
0x180D). Når en sensor bliver stille, siger rækken det frem for stille at sammenligne med et forældet tal. - Hovedenhed
- MyWhoosh, Zwift, TrainerRoad, Wahoo og Bluetooth-kapable Garmin Edge-enheder ser alle én almindelig brystrem.
Watt ind, kalorier ud
En effektmåler måler arbejdet. At omsætte dette arbejde til kalorier kræver to konstanter, der begge er navngivet nedenfor.
Fra pedalerne til tallet
Watt er joule pr. sekund. HRB integrerer målerens rapporterede effekt over den tid, den faktisk rapporterede, og omdanner derefter det mekaniske arbejde til det, din krop brugte på at producere det.
- Arbejde
- Hvert effektsample ganget med det interval, det dækker, og lægges sammen. Et dropouts ekskluderes, ikke interpoleres — sammendraget angiver, hvor mange sekunder der blev droppet.
- Effektivitet
- Omkring 24% af det, du forbrænder, når pedalerne som arbejde; resten afgives som varme. Dette tal,
0.24, ligger inden for det 0,20–0,25, der er målt for trænet cykling, og det er årsagen til, at en kilojoule arbejde koster cirka en kilokalori. - Hvile
- Sundhed betyder "over hvile" ved aktivt energi, så basalandelen af sessionen — Mifflin–St Jeor, baseret på din højde, vægt, alder og køn — trækkes fra, før der skrives noget. Oversigten viser begge tal.
- Ingen måler
- Uden effekt falder estimatet tilbage til en offentliggjort hjertefrekvens-regression (Keytel et al., 2005) og angiver dette på skærmen. Et estimat, der er mærket som et sådant, er mere værd end et tal, der giver sig ud for at være målt.
Hver meter på cyklen
Cycling Power (0x1818), Cycling Speed and Cadence (0x1816) og FTMS Indoor Bike Data (0x1826). Pedaler, kranser og smarte træningsmaskiner rapporterer alle; pedalbaserede målere rapporterer også venstre/højre-balance, hvor de har det.
Kørt og testet mod en Wahoo Kickr Core 2 og PowerTap P1-pedaler, begge i luften på samme tid.
En måler tæller, de andre logges
Pedaler, en kranse og en træningsmaskine læser forskelligt, fordi de måler på forskellige punkter i drivlinjen. Du vælger, hvilken der kalorietallet kommer fra; de andre registreres ved siden af det, med deres egne gennemsnit, så du kan se spredningen.
Kør, løb, svøm
En session er mærket, før den starter, og standardindstillingen er en tur, når en effektmåler er i luften. Mærket indstiller HealthKit-aktivitetstypen, og uret mærker sin egen session for at matche.
Dine kropsdetaljer forbliver her
Højde, vægt, fødselsdato og køn indtastes én gang og gemmes kun på telefonen. De bruges til de to ligninger ovenfor og intet andet. Højde angives i fod og tommer eller centimeter.
Skrives til Sundhed
Hver session gemmes som en træning med den aktive energi, så den lander i dine ringe og i enhver app, der læser fra Sundhed. Historikken i appen holder detaljer, som Sundhed ikke har et felt til: hvilke målere der blev modtaget, og hvor hullerne var.
Det fortæller dig, hvornår den gætter
En ufuldstændig kropsprofil, en faldet sensor eller en estimat baseret udelukkende på puls vises alle i et Noter-afsnit under figuren. Der rundes ikke diskret op til at se bedre ud, end det er.
Tre måder at få det på
Der er én app og én udgave af den. Det, der adskiller sig, er, hvordan du får fat i den: to af disse veje koster ingenting og kræver i stedet indsats eller tålmodighed, og den tredje er App Store.
TestFlight — gratis, 90 dage
Åben for alle, ingen invitation påkrævet. Installer Apples TestFlight-app, åbn det offentlige link, og betaversionen installeres sammen med alt det andet. Hver build forbliver brugbar i 90 dage fra dagen, den blev udgivet; en ny build nulstiller uret, så betaversionen kører videre, så længe den opdateres.
Sideload — gratis, kræver en udviklerkonto
Hver GitHub-release indeholder en Release-konfiguration .ipa. Den er signeret til distribution, så installation betyder at resigne den med dit eget identitet — Xcode, AltStore eller Sideloadly gør alle dette. HealthKit og baggrunds-Bluetooth er ikke tilgængelige for gratis provisioning-profiler, så denne vej kræver en betalt Apple Developer-konto. Kildekoden er også der.
App Store — USD 4,99
Ét køb. Ingen abonnement, ingen in-app-køb, ingen reklamer, ingen konto, og den opdaterer sig selv som enhver anden app. Du betaler for at springe begge ovenstående veje over og for arbejdet bagved.
Prøver den på TestFlight
Betaen er åben — der er ingen invitationsliste og ingen godkendelsesproces. Det er den samme app som den betalte udgivelse, installeret via Apples beta-kanal i stedet for butikken.
- 1 — Installer TestFlight
- Apples egen beta-app, gratis på App Store. Den skal være på iPhone'en, før linket gør noget.
- 2 — Åbn det offentlige link
- Åbn testflight.apple.com/join/VUJCa5Gw på samme iPhone, og tryk derefter på Accepter og Installer. Ingen invitation og ingen kode.
- 3 — Tilføj ur-appen
- Installer den fra Watch-appen på din iPhone, på samme måde som enhver anden ur-app. Uret er sensoren, så dette trin er ikke valgfrit.
En TestFlight-build fungerer i 90 dage fra dagen, den offentliggøres. Hver ny build genstarter denne periode, så betaen kører, så længe den opdateres. Intet udløber på App Store-versionen.
Hver skærm
Optaget fra shipping-builden på en iPhone 17 Pro Max og et Apple Watch. Nogle er taget på en telefon under kørsel; de øvrige på en simulator, der ikke har et Bluetooth-radio, så sensorerne i dem er en erstatningsgruppe, der fodrer appen med rigtige målinger. Alle tal på skærmen er appens egen beregning. Intet her er en tegning.
Hvad det gør
Alt dette findes allerede i appen i dag. Der er ingen planer om nye funktioner på denne side.
Et rigtigt pulsrem
Annoncerer den standardiserede Heart Rate Service (0x180D) med Heart Rate Measurement og Body Sensor Location. Enhver Bluetooth-pulsrem, der parrer sig, understøtter dette, uden behov for en companion-app eller et plugin.
To sensorer, ét tal
Når uret og AirPods begge rapporterer, gennemsnitler HRB målinger, der er enige, og afviser outlier, når de ikke er det — og foretrækker den, der er tættest på den tendens, den allerede har set.
Virtuel skifter
Den samme telefon tilbyder sig selv som en gearskifter over den åbne Bike Control-protokol, så knapperne under pulsensoren styrer din træner i MyWhoosh eller Zwift. Ingen Clicks, ingen Play-kontrollere, ingen anden enhed.
Dynamic Island
Live Activity på låseskærmen og i Dynamic Island: nuværende BPM, kilden den kom fra, og om en hovedenhed er abonneret. Overblikkeligt uden at låse op.
Flydende vindue
Billede-i-billede-beholdtallet på skærmen, mens du bruger en anden app — start en træning i HRB, skift til din træningsapp, og BPM-tallet følger dig som et flydende vindue. Det overlever et swipe til hjemmeskærmen og flyder over andre apps, og det er lydløst: vinduet afspiller ingen lyd og pause, dæmper eller overtager aldrig det, du allerede afspiller.
Lås berøringsskærm for ur
En ærme, en lynlås på trøjen eller et greb i stykbåndet kan afbryde broadcastet midt i turen. Aktiver låsen, og ur-appen blokerer utilsigtede tryk — et bevidst tryk i ét sekund låser op, og BPM'en forbliver læselig hele tiden.
Diagnostik, i fuld omfang
Indstillinger viser tilsluttede centraler ved identifikator, rammer sendt pr. abonnent, live-rammetakt, de nøjagtige bytes fra den sidste ramme, og hvor længe siden den blev sendt. Når noget ikke fungerer, kan du se, hvilken halvdel af forbindelsen der er skyldig.
Beat-synkroniseret animation
Hjertet på telefonen og uret slår i din målte hastighed og stopper, når prøverne ophører med at ankomme. Et stille hjerte over et plausibelt tal betyder, at sensoren er faldet fra.
Fortsætter med at sende i baggrunden
Når en hovedenhed har oprettet forbindelse, overlever linket, at telefonen låses. HRB giver besked én gang i sekundet om, hvorvidt værdien er ændret, hvilket er det, et rigtigt bælte gør, og hvad hovedenheder forventer.
Testsignal
En syntetisk hjertefrekvenskilde til parring og fejlfinding uden at have noget på. Bekræft, at hovedenheden ser en udsendelse, før du bekymrer dig om sensoren.
25 sprog
Hver skærm på telefonen og uret er oversat til 25 sprog, herunder arabisk med højre-til-venstre-layout i stedet for spejlet engelsk. Vælg ét i Indstillinger, og det forbliver valgt, uanset telefonens sprogindstilling. Denne side er på de samme 25 sprog.
Kompatibilitet
Hvilken app eller hovedenhed end der parres med en Bluetooth LE Heart Rate Service-sensor, parres HRB på samme måde.
Og dette er, hvad den aflæser. De navngivne er det, appen er bygget og kørt imod; en måler eller træner, der ikke er blandt dem, fungerer stadig, fordi appen læser de standardiserede Cycling Power- og FTMS-profiler frem for specifikke modeller.
Ingen ANT+ — og ingen app kan tilføje det
HRB udsender kun over Bluetooth LE. ANT+ er en separat radio protokol, og en iPhone har ingen ANT+-hardware, så ingen software kan sende den. Dette er en begrænsning for enheden, ikke for appen.
Enheder, der parer hjertefrekvens over ANT+ alene — herunder Garmin Forerunner 935 — vil aldrig se denne udsendelse, uanset hvordan den er konfigureret.
Opsætning til MyWhoosh
To opsætninger virker. Hvilken du vælger, afhænger af, om du er villig til at medbringe en iPhone, da Apple Watch ikke kan nå noget uden en.
Watch + iPhone + AirPods Pro 3
Den præcise opsætning. Begge sensorer sender data, HRB forener dem til ét tal, og MyWhoosh ser en enkelt pulsrem. Start uret, vælg Begge som kilde på telefonen, og par derefter HRB i MyWhooshs sensorskærm. Telefonen bliver i rummet; uret behøver ikke at være tæt på styrcomputeren, kun tæt på telefonen.
iPad + AirPods Pro 3
En enhedsopsætning. AirPods Pro 3 parres direkte med iPad’en, så HRB, MyWhoosh og Bike Control kører på samme skærm uden telefon eller ur. Vælg AirPods som kilde — urindstillingerne er skjult her, da der ikke er noget at forbinde dem til.
Uret går altid gennem iPhone
Et Apple Watch parres med en iPhone og kun en iPhone, og det annoncerer aldrig puls over Bluetooth selv. Ur-appen måler, overfører aflæsningen til telefonen over linket mellem ur og telefon, og det er telefonen, din hovedenhed faktisk opretter forbindelse til.
Så uret tilføjer en anden sensor til en iPhone-konfiguration og tilføjer intet til en iPad-konfiguration. Hvis du vil have én enhed på skrivebordet, skal du bruge AirPods på iPad'en og lade uret være ude af det.
| Par én gang, i forgrunden | Hold HRB åbent på skærmen, indtil MyWhoosh rapporterer, at sensoren er tilsluttet. iOS skjuler en baggrundsapps annoncerede service, så opdagelse kræver forgrunden — efter det kan du skifte apps eller låse enheden, og forbindelsen holder. |
|---|---|
| Send fra én enhed | Kør HRB på telefonen eller iPad’en, ikke begge. To kopier, der annoncerer på én gang, placerer to identiske HRB-sensorer i MyWhoosh’ liste, og der er ingen måde at skelne dem fra hinanden på parningsskærmen. |
| Udkobling til uret, hvis rækken er rød | Rækken for Watch App på hovedskærmen viser, hvad telefonen faktisk ser. Ikke installeret betyder, at uret-appen aldrig er blevet åbnet; ikke tilgængelig betyder normalt, at uret-appen ikke kører — åbn den, og start sessionen. Rækken forsvinder helt på iPad. |
| Prøve uden sensor | Indstil kilden til Test Signal for at udsende en syntetisk 50–100 BPM. Den parres i MyWhoosh præcis som en rigtig aflæsning — den hurtigste måde at bekræfte, at sensorsiden fungerer, før du spænder noget på. |
Spørgsmål
Det, folk støder på først, og det ærlige svar på hvert punkt.
AirDrop virker ikke — stop udsendelsen først
AirDrop finder nærliggende enheder over Bluetooth LE, og det gør HRB også ved at bruge samme radio. Mens HRB annoncerer, og en hovedenhed er abonneret, holder den den radio kontinuerligt. AirDrop kan derefter enten fejle med at se enheden på den anden ende, eller vise den og stå stille, før overførslen starter.
Stop udsendelsen, eller afslut HRB, og derefter AirDrop. Det fungerer igen med det samme: genparning tager ét tryk, når HRB er tilbage i forgrunden. Det samme er værd at prøve for enhver anden funktion, der bliver stille, mens du udsender — CarPlay-handoff, et Bluetooth-tastatur, der begynder at droppe taster, Continuity Camera.
Kan jeg låse skærmen, når den er parret?
Ja. Opdagelse kræver, at HRB er i forgrunden, men forbindelsen overlever oplåsning, baggrundskørsel og skift mellem apps. Det, du ikke kan gøre, er at parre for første gang, mens appen er skjult — iOS stopper med at annoncere tjenesten i baggrunden.
Hvad koster det i batteri?
Broadcasting er billig; trænings-sessionen, der producerer aflæsningen, er det ikke. Forvent cirka det samme, som enhver hjerteslags-træning koster på den pågældende enhed. Uret er den mest ramte ende af en iPhone-konfiguration, fordi det er den, der måler.
Kan to apps læse broadcastet på samme tid?
Ja. Bluetooth LE tillader flere abonnenter til én sensor, så MyWhoosh og en anden app begge kan se de samme tal. Hovedskærmen viser det live abonnentantal, så du kan bekræfte, at begge faktisk er forbundet.
BPM frøs under kørslen
Læsningen gråner, når den bliver forældet i stedet for at gentage et dødt tal. Med AirPods betyder det normalt, at de har stoppet med at rapportere — rutevælgeren på den række sender lyden væk og tilbage, hvilket genopretter forbindelsen uden at forlade appen.
Min Garmin kan ikke finde den
Tjek, om den model parres med hjertefrekvens over ANT+ kun. En iPhone har ingen ANT+-radio, så ingen app kan sende den. Garmin-enheder, der accepterer en Bluetooth-rem, parres normalt med HRB; dem, der ikke gør det, gør det aldrig.
Hvorhen går dataene?
Til Bluetooth-radioen og intet andet. Der er ingen konto, ingen server og ingen analyse. Pulsen kommer fra HealthKit på enheden og sendes videre som en standard sensortilstand til det, du har parret med.
Krav
Hvad det har brug for for at køre, og hvad det koster.
| iPhone | iOS 26 eller nyere. Broadcasting bruger Bluetooth-periferifunktionen, som Simulatoren ikke understøtter — dette kræver ægte hardware. |
|---|---|
| Apple Watch | watchOS 11 eller nyere. Ur-appen kører en træningssession, hvilket er den eneste måde at få hjertefrekvens med en nyttig hastighed på og holde stikprøvetagning kørende med skærmen slukket. |
| AirPods | Valgfrit. AirPods Pro 3 rapporterer hjertefrekvens til den enhed, der kører træningssessionen, så HRB starter en på telefonen, når du aktiverer dem som en kilde. |
| Pris | 4,99 USD i App Store, betalt én gang. Ingen abonnement og ingen køb i appen. En TestFlight-beta kører parallelt med udgivelsen for alle, der vil have den næste version tidligt. |
| Parring | Hold appen åben, indtil dit hovedenhed opretter forbindelse. iOS skjuler en baggrunds-app' annoncerede service-UUID, så opdagelse skal ske i forgrunden — efter det overlever forbindelsen, at du låser telefonen. |
| Broadcast-navn | HRB som standard, redigerbar op til 10 tegn — reklamepakker er 31 byte, og hovedenheder forkorter længere navne. |
Åben kildekode på GitHub
Hele appen er udgivet under MIT-licensen — iPhone-appen, Watch-appen, Live Activity, build-skripterne og denne hjemmeside. Hvis du hellere vil læse Bluetooth-koden end at stole på påstanden om privatlivets fred, er den hele tilgængelig.
- Læs den
- github.com/tankbottoms/HeartRateBroadcaster — Swift, ingen afhængigheder, ingen analytics-SDK at tjekke for.
- Byg den
- Klon, kør
xcodegen generate, åbn projektet og byg. Signering kræver dit eget team-identifikator; intet andet er påkrævet. - Sideload den
- Hver udgivelse indeholder en Release-configuration
.ipamed instruktioner til sideloading. HealthKit og baggrunds-Bluetooth er utilgængelige for gratis provisioning profiles, så omsignering kræver en betalt Apple Developer-konto.