Icona dell'app HeartRate Broadcaster

La tua frequenza cardiaca,
su qualsiasi computer da bici.

HeartRate Broadcaster (HRB) legge la frequenza cardiaca in tempo reale dal tuo Apple Watch e da AirPods Pro e la fonde in un'unica lettura. La trasmette via Bluetooth LE come un monitor della frequenza cardiaca standard: la tua app di allenamento vede un sensore al petto.

Un cuore, un flusso

Il tuo orologio misura. I tuoi AirPods misurano. Due sensori che discordano nello stesso momento è peggio di un sensore leggermente errato, quindi HRB arbitra tra loro e trasmette esattamente un numero.

HeartRate Broadcaster che mostra 97 BPM da Apple Watch, una riga dell'accordo del sensore che indica Solo orologio e un'unità di testa connessa.

Accordo tra i sensori, alla luce del sole

Indica i sensori che riesce a sentire, stampa la differenza tra loro in BPM e mostra quale singola lettura ha scelto e inviato.

Apple Watch
Il sensore primario. Avvia una sessione di allenamento reale, l’unico modo per campionare la frequenza cardiaca a un tasso utile e per continuare il campionamento a schermo spento.
AirPods Pro 3
Un secondo sensore, del tutto opzionale. L’orologio da solo è una fonte completa; anche gli AirPods da soli lo sono.
iPhone
Fa la media delle letture concordanti, scarta il valore anomalo quando non concordano e annuncia il risultato come un servizio standard Bluetooth LE Heart Rate (0x180D). Quando un sensore tace, la riga lo segnala invece di confrontare silenziosamente con un valore obsoleto.
Unità principale
MyWhoosh, Zwift, TrainerRoad, Wahoo e i dispositivi Garmin Edge con supporto Bluetooth vedono tutti un singolo e normale sensore da torace.

Watt in, calorie fuori

Un misuratore di potenza misura il lavoro. Convertire quel lavoro in calorie richiede due costanti, entrambe indicate di seguito.

Un riepilogo della sessione: 37 calorie attive, 40 totali includendo quelle a riposo, 40 kJ di lavoro, 217 W di media e quattro sensori, tra cui la coppia PowerTap P1, conteggiati.
Ogni valore prodotto dall'aritmetica qui sotto, su una singola scheda. 40 kJ di lavoro con un'efficienza di 0,24 corrispondono a 40 kcal, che è il totale; sottraendo la quota a riposo, a Health viene comunicato il valore 37.

Dai pedali al numero

I watt sono joule al secondo. HRB integra la potenza segnalata dal misuratore nel tempo in cui ha effettivamente segnalato, quindi converte il lavoro meccanico in ciò che il tuo corpo ha speso per produrlo.

Lavoro
Ogni campione di potenza viene moltiplicato per l'intervallo che copre e sommato. Un'interruzione viene esclusa, non interpolata: il riepilogo indica quanti secondi sono stati esclusi.
Efficienza
Circa il 24% di ciò che consumi viene convertito in lavoro sui pedali; il resto si disperde come calore. Questo valore, 0.24, rientra nell'intervallo 0,20–0,25 misurato per il ciclismo allenato, ed è il motivo per cui un kilojoule di lavoro costa circa una kilocaloria.
A riposo
La salute significa «sopra il riposo» per energia attiva, quindi la quota basale della sessione — Mifflin–St Jeor, basata su altezza, peso, età e sesso — viene sottratta prima di registrare qualsiasi dato. Il riepilogo mostra entrambe le cifre.
Nessun misuratore
Senza potenza, la stima si affida a una regressione pubblicata sulla frequenza cardiaca (Keytel et al., 2005) e lo segnala a schermo. Una stima etichettata come tale vale più di un numero che finge di essere misurato.

Ogni misuratore sulla bici

Potenza di ciclismo (0x1818), Velocità e Cadenza di ciclismo (0x1816) e Dati della bici indoor FTMS (0x1826). Pedali, guance e trainer intelligenti trasmettono tutti i dati; i misuratori a pedale trasmettono anche l’equilibrio sinistro/destrove disponibile.

Collaudato e testato con un Wahoo Kickr Core 2 e pedali PowerTap P1, entrambi attivi contemporaneamente.

Un misuratore conta, gli altri vengono registrati

Pedali, una guancia e un trainer leggono diversamente perché misurano in punti diversi della trasmissione. Scegli tu da quale proviene la cifra delle calorie; gli altri vengono registrati accanto, con le proprie medie, così puoi vedere la variazione.

Corsa, corsa, nuoto

Una sessione viene etichettata prima dell’inizio e, di default, viene etichettata come corsa quando un misuratore di potenza è in aria. L’etichetta imposta il tipo di attività HealthKit, e l’orologio etichetta la propria sessione di conseguenza.

I dettagli del tuo corpo restano qui

Altezza, peso, data di nascita e sesso vengono inseriti una sola volta e memorizzati esclusivamente sul telefono. Sono utilizzati per le due equazioni sopra e per nient'altro. L'altezza si inserisce in piedi e pollici, o in centimetri.

Scritto su Salute

Ogni sessione viene salvata come allenamento con l'energia attiva, così da apparire nei tuoi anelli e in qualsiasi app che legge i dati di Salute. La cronologia nell'app conserva i dettagli che Salute non ha: quali sensori sono stati rilevati e dove si sono verificati i gap.

Ti indica quando sta stimando

Un profilo corporeo incompleto, un sensore disconnesso o una stima basata solo sulla frequenza cardiaca vengono segnalati in una sezione Note sotto il valore. Nessun dato viene nascosto o abbellito artificialmente.

Tre modi per ottenerlo

C'è un'app e una sola versione. Ciò che cambia è come ottenerla: due di queste opzioni sono gratuite e richiedono invece impegno o pazienza, mentre la terza è l'App Store.

TestFlight — gratuito, 90 giorni

Aperta a tutti, senza invito necessario. Installa l'app TestFlight di Apple, apri il link pubblico e la versione beta si installerà accanto alle altre app. Ogni build rimane utilizzabile per 90 giorni dalla data di pubblicazione; una nuova build resetta il conteggio, quindi la versione beta continua a funzionare finché viene aggiornata.

Unisciti alla beta pubblica

Installazione manuale — gratuita, richiede un account sviluppatore

Ogni rilascio su GitHub include un file .ipa in configurazione Release. È firmato per la distribuzione, quindi l'installazione richiede di rieseguirne la firma con la tua identità — Xcode, AltStore o Sideloadly gestiscono tutti questa operazione. HealthKit e il Bluetooth in background non sono disponibili per i profili di provisioning gratuiti, quindi questa opzione richiede un account Apple Developer a pagamento. Il codice sorgente completo è disponibile.

Rilasci su GitHub

App Store — USD 4,99

Un unico acquisto. Nessuna abbonamento, nessun acquisto in-app, nessun annuncio, nessun account, e si aggiorna da sola come qualsiasi altra app. Stai pagando per saltare entrambe le opzioni sopra e per il lavoro che c'è dietro.

Visualizza sull’App Store

Prova su TestFlight

Il beta è aperto: non esiste una lista d’attesa né un passaggio di approvazione. Si tratta della stessa app della versione a pagamento, installata tramite il canale beta di Apple anziché dallo store.

1 — Installa TestFlight
L’app beta ufficiale di Apple, gratuita sull’App Store. Deve essere presente sull’iPhone affinché il link abbia effetto.
2 — Apri il link pubblico
Sullo stesso iPhone, apri testflight.apple.com/join/VUJCa5Gw, quindi tocca Accetta e Installa. Nessuna invito e nessun codice.
3 — Aggiungi l’app per l’orologio
Installala dall’app Orologio sul tuo iPhone, allo stesso modo di qualsiasi altra app per orologio. L’orologio funge da sensore, quindi questo passaggio non è opzionale.

Una build di TestFlight è valida per 90 giorni dalla data di pubblicazione. Ogni nuova build riavvia questo periodo, quindi il beta continua a funzionare finché viene aggiornato. Nessuna scadenza sulla versione dell’App Store.

Ogni schermo

Catturato dalla build di spedizione su un iPhone 17 Pro Max e un Apple Watch. Alcune sono state scattate con il telefono durante una pedalata; le altre su un simulatore, che non ha radio Bluetooth, quindi i sensori in quelle sono un set sostitutivo che alimenta l'app con letture reali. Ogni numero sullo schermo è l'aritmetica dell'app. Niente qui è un disegno.

Cosa fa

Tutto ciò che vedi è già disponibile nell'app. Questa pagina non contiene alcuna roadmap.

Un vero e proprio sensore per il battito cardiaco

Pubblicizza il servizio standard Heart Rate Service (0x180D) con Heart Rate Measurement e Body Sensor Location. Qualsiasi sensore Bluetooth si accoppia a questo servizio, senza bisogno di un'app companion o di un plug-in.

Due sensori, un unico valore

Quando orologio e AirPods riportano entrambi dati, HRB media le letture che concordano e scarta l'outlier quando non concordano, preferendo quella più vicina alla tendenza già rilevata.

Cambio virtuale

Lo stesso telefono si offre anche come trasmettitore di marcia tramite il protocollo aperto Bike Control, quindi i pulsanti sotto il sensore di frequenza cardiaca controllano il tuo trainer in MyWhoosh o Zwift. Nessun Clicks, nessun controller Play, nessun secondo dispositivo.

Dynamic Island

Live Activity sulla schermata di blocco e nella Dynamic Island: BPM attuali, la sorgente da cui provengono e se un computer di bordo è sottoscritto. Visibile senza sbloccare.

Finestra fluttuante

Picture in Picture mantiene il numero a schermo mentre usi un'altra app: avvia un allenamento in HRB, passa alla tua app di allenamento e gli BPM ti seguono come una finestra fluttuante. Resiste allo swipe verso lo Schermata Home e fluttua sopra le app non correlate, ed è silenziosa: la finestra non emette suoni e non si mette mai in pausa, non si riduce e non sovrascrive ciò che stai già guardando.

Blocco dello schermo tattile per l'Apple Watch

Una manica, la zip di una maglia o una presa sul nastro del manubrio possono interrompere la trasmissione a metà allenamento. Attiva il blocco e l'app sull'Apple Watch ignora i tocchi accidentali: è necessario un tocco deliberato di un secondo per sbloccarlo, mantenendo i BPM sempre leggibili.

Diagnostica, completa

Impostazioni mostra i centrali connessi per identificatore, frame inviati per abbonato, frequenza dei frame in tempo reale, i byte esatti dell'ultimo frame e quanto tempo fa è stato inviato. Quando qualcosa non funziona, puoi vedere quale metà del collegamento è responsabile.

Animazione sincronizzata al battito

Il cuore sul telefono e sull'orologio batte al tuo tasso misurato e si ferma quando i campioni smettono di arrivare. Un cuore fermo sopra un numero plausibile significa che il sensore si è disconnesso.

Continua l'invio in background

Una volta che un'unità principale si è connessa, il collegamento sopravvive al blocco del telefono. HRB notifica una volta al secondo se il valore è cambiato o meno, come fa una vera fascia e come si aspetta dalle unità principali.

Segnale di test

Una fonte di frequenza cardiaca sintetica per l'accoppiamento e il debug senza indossare nulla. Conferma che l'unità principale vede una trasmissione prima di preoccuparti del sensore.

Venticinque lingue

Ogni schermo del telefono e dell'orologio è tradotto in venticinque lingue, incluso l'arabo con un layout da destra a sinistra anziché inglese specchiato. Selezionala nelle Impostazioni e resta selezionata, indipendentemente dalla lingua del telefono. Anche questo sito è in queste venticinque lingue.

Compatibilità

Qualsiasi app o computer di bordo che accoppia un sensore Bluetooth LE del Servizio Frequenza Cardiaca accoppia HRB allo stesso modo.

MyWhoosh Zwift TrainerRoad Wahoo Garmin Edge (Bluetooth) nRF Connect

Ed ecco cosa legge. Quelli con nome sono quelli con cui l'app è stata sviluppata e testata; un misuratore o un trainer non presente nella lista funziona comunque, perché l'app legge i profili standard Cycling Power e FTMS anziché modelli specifici.

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

Nessun ANT+ — e nessuna app può aggiungerlo

HRB trasmette solo su Bluetooth LE. ANT+ è un protocollo radio separato e un iPhone non ha hardware ANT+, quindi nessun software può trasmetterlo. Questa è una limitazione del dispositivo, non dell'app.

I dispositivi che si accoppiano alla frequenza cardiaca solo tramite ANT+ — inclusa la Garmin Forerunner 935 — non vedranno mai questa trasmissione, indipendentemente dalla configurazione.

Configurazione per MyWhoosh

Funzionano due configurazioni. Quale scegliere dipende da se sei disposto a portare con te un iPhone, perché l'Apple Watch non può fare nulla senza di esso.

Apple Watch + iPhone + AirPods Pro 3

La configurazione precisa. Entrambi i sensori trasmettono, HRB li concilia in un unico valore e MyWhoosh vede un solo sensore. Avvia l'app dell'orologio, seleziona Entrambi come sorgente sul telefono, quindi accoppia HRB nella schermata dei sensori di MyWhoosh. Il telefono rimane nella stanza; l'orologio non deve essere vicino all'unità di controllo, solo vicino al telefono.

iPad + AirPods Pro 3

La configurazione a un solo dispositivo. Le AirPods Pro 3 si accoppiano direttamente all'iPad, quindi HRB, MyWhoosh e Bike Control girano tutti sullo stesso schermo senza bisogno di telefono o orologio. Imposta la sorgente su AirPods: le opzioni dell'orologio sono nascoste qui, perché non c'è nulla a cui connettersi.

L'orologio passa sempre per l'iPhone

Un Apple Watch si accoppia con un iPhone e solo con un iPhone, e non trasmette mai la frequenza cardiaca tramite Bluetooth di per sé. L'app dell'orologio misura, invia la lettura al telefono tramite il collegamento orologio-telefono, ed è il telefono a cui si connette effettivamente il tuo computer di bordo.

Quindi l'orologio aggiunge un secondo sensore a una configurazione con iPhone, ma non aggiunge nulla a una configurazione con iPad. Se vuoi un solo dispositivo sulla scrivania, usa le AirPods sull'iPad e lascia perdere l'orologio.

Accoppia una volta, in primo piano Lascia HRB aperto sullo schermo finché MyWhoosh non segnala il sensore connesso. iOS nasconde i servizi pubblicizzati dalle app in background, quindi la scoperta richiede l'app in primo piano; dopo di che puoi cambiare app o bloccare il dispositivo e la connessione rimane attiva.
Trasmetti da un unico dispositivo Esegui HRB sul telefono o sull'iPad, non su entrambi. Due copie che pubblicizzano contemporaneamente inseriscono due sensori HRB identici nell'elenco di MyWhoosh, e non c'è modo di distinguerli dalla schermata di accoppiamento.
Collegamento Watch, se la riga è rossa La riga dell'app Watch nella schermata principale segnala ciò che il telefono vede effettivamente. Non installato significa che l'app Watch non è mai stata aperta; non raggiungibile di solito significa che l'app Watch non è in esecuzione: aprila e avvia la sessione. La riga scompare del tutto su iPad.
Prova senza sensore Imposta la sorgente su Segnale di Test per trasmettere un segnale sintetico da 50 a 100 BPM. Si accoppia in MyWhoosh esattamente come una lettura reale: il modo più veloce per confermare che il lato sensore funzioni prima di indossare qualsiasi dispositivo.

Domande

Le cose che le persone incontrano per prime e la risposta onesta a ciascuna.

AirDrop non funziona più: interrompi prima la trasmissione

AirDrop individua i dispositivi vicini tramite Bluetooth LE, e lo fa anche HRB, utilizzando la stessa radio. Mentre HRB sta pubblicizzando e un computer di bordo è sottoscritto, mantiene quella radio continuamente attiva. AirDrop quindi o non riesce a vedere il dispositivo dall'altro lato, o lo mostra e va in stallo prima che inizi il trasferimento.

Ferma la trasmissione, o esci da HRB, poi da AirDrop. Funziona di nuovo immediatamente: il riaccoppiamento richiede un solo tap una volta che HRB è tornata in primo piano. Lo stesso vale per qualsiasi altra funzione che diventa inattiva mentre stai trasmettendo: passaggio a CarPlay, una tastiera Bluetooth che inizia a perdere tasti, Continuity Camera.

Posso bloccare lo schermo una volta accoppiato?

Sì. La scoperta richiede che HRB sia in primo piano, ma la connessione sopravvive al blocco, allo sfondo e al passaggio tra app. Quello che non puoi fare è accoppiare per la prima volta con l'app nascosta: iOS interrompe la pubblicazione del servizio in background.

Quanto costa in termini di batteria?

La trasmissione è economica; la sessione di allenamento che produce la lettura non lo è. Aspettati circa quanto costa qualsiasi allenamento per la frequenza cardiaca su quel dispositivo. L'orologio è l'estremità più colpita di un setup iPhone, perché è quello che misura.

Due app possono leggere la trasmissione contemporaneamente?

Sì. Il Bluetooth LE consente a più abbonati di collegarsi a uno stesso sensore, quindi MyWhoosh e una seconda app possono visualizzare gli stessi dati. Lo schermo principale mostra il numero di abbonati in tempo reale, così puoi confermare che entrambi si sono effettivamente connessi.

I BPM si sono bloccati a metà pedalata

La lettura diventa grigia quando i dati diventano obsoleti, invece di ripetere un valore non più valido. Con gli AirPods, questo di solito significa che hanno smesso di trasmettere: il selettore del percorso su quella riga interrompe e ripristina l'audio, ristabilendo il collegamento senza uscire dall'app.

Il mio Garmin non lo trova

Verifica se quel modello trasmette la frequenza cardiaca solo tramite ANT+. Un iPhone non dispone di un radio ANT+, quindi nessuna app può trasmetterlo. I dispositivi Garmin che accettano un cinturino Bluetooth si accoppiano normalmente con HRB; quelli che non lo accettano non lo faranno mai.

Dove vanno i dati?

Al radio Bluetooth, e da nessuna altra parte. Non ci sono account, server o analisi dei dati. Il battito cardiaco proviene da HealthKit sul dispositivo ed esce come valore standard del sensore verso qualsiasi dispositivo con cui ti sei accoppiato.

Requisiti

Cosa serve per funzionare e quanto costa.

iPhone iOS 26 o versione successiva. La trasmissione utilizza il ruolo periferico del Bluetooth, che non è supportato dal Simulator: è necessario un dispositivo hardware reale.
Apple Watch watchOS 11 o versione successiva. L'app per Apple Watch avvia una sessione di allenamento, che è l'unico modo per ottenere la frequenza cardiaca a un tasso utile e per continuare il campionamento con lo schermo spento.
AirPods Opzionale. Gli AirPods Pro 3 trasmettono la frequenza cardiaca al dispositivo che esegue la sessione di allenamento, quindi HRB ne avvia una sul telefono quando li abiliti come fonte.
Prezzo 4,99 USD sull’App Store, a pagamento una sola volta. Nessuna iscrizione e nessun acquisto nell’app. Una versione beta di TestFlight è disponibile insieme alla versione stabile per chiunque desideri provare la versione successiva in anticipo.
Accoppiamento Tieni l’app aperta finché il tuo dispositivo non si connette. iOS nasconde l’UUID del servizio annunciato da un’app in background, quindi la scoperta deve avvenire in primo piano; dopo di ciò, la connessione sopravvive anche con il telefono bloccato.
Nome di trasmissione HRB per impostazione predefinita, modificabile fino a 10 caratteri: i pacchetti di annuncio sono lunghi 31 byte e i dispositivi esterni troncano i nomi più lunghi.

Codice sorgente su GitHub

L'intera applicazione è pubblicata sotto licenza MIT: l'app per iPhone, l'app per Apple Watch, le Live Activity, gli script di build e questo sito web. Se preferisci leggere il codice Bluetooth piuttosto che fidarti ciecamente delle nostre dichiarazioni sulla privacy, è tutto disponibile.

Leggi
github.com/tankbottoms/HeartRateBroadcaster — Swift, nessuna dipendenza, nessun SDK di analytics da controllare.
Compila
Clona, esegui xcodegen generate, apri il progetto e compila. La firma richiede il tuo team identifier; non è richiesto nient'altro.
Installa manualmente
Ogni release include una versione di configurazione Release .ipa con le istruzioni per l'installazione manuale. HealthKit e il Bluetooth in background non sono disponibili con profili di provisioning gratuiti, quindi è necessario un account Apple Developer a pagamento per rieseguirne la firma.