PaceOS English

Stav: PaceOS běží na skutečných hodinkách – zatím na jedněch a jen jako PaceOS live: z počítače přes USB se spustí do RAM, do paměti hodinek se nic nezapíše a restart vrátí původní systém. Na hodinkách funguje displej a rozhraní, tlačítko, Wi-Fi, Bluetooth (PaceOS Connect), příjem GPS a mikrofon. Zatím chybí trvalá instalace, běh venku s GPS, snímač tepu a změřená výdrž baterie. Instalátor v prohlížeči zatím zveřejněný není – podrobný stav.

Časté otázky

Kdy si PaceOS budu moct nainstalovat?
Zatím nevíme. PaceOS už běží na skutečných hodinkách, ale jen jako PaceOS live: z počítače přes USB se spustí do RAM a do hodinek se nic nezapíše. Trvalá instalace ještě hotová není a instalátor v prohlížeči zatím zveřejněný není. Zamčený zavaděč (unlocked: no) spuštění z RAM odmítne; na hodinkách, na kterých PaceOS běží, je zavaděč odemčený. Zaručit, že to půjde na všech hodinkách, nemůžeme. Stav a plánovaný postup jsou na stránce Instalace.
Které telefony a prohlížeče fungují s PaceOS Connect?

Přes Bluetooth (stránka paceos.lukaskovar.com) jen prohlížeče s Web Bluetooth:

  • Chrome a Edge na Windows, macOS, ChromeOS a Androidu – ano.
  • Chrome na Linuxu – jen po zapnutí chrome://flags/#enable-experimental-web-platform-features.
  • iPhone a iPad (žádný prohlížeč), Firefox a Safari – ne, Web Bluetooth nemají.

Po obnovení stránky je potřeba hodinky v prohlížeči vybrat znovu. Prohlížeč se s hodinkami poprvé spáruje šestimístným kódem, který ukážou hodinky.

Přes USB kabel nebo Wi-Fi funguje běžný prohlížeč i bez Web Bluetooth: hodinky samy nabízejí stránku Connect na http://172.16.42.1/connect/ (kabel) nebo na adrese, kterou ukážou v Menu → PaceOS Connect (Wi-Fi). Přes Wi-Fi je přístupná jen tehdy, když je tahle obrazovka na hodinkách otevřená.

Telefon pro oznámení a hudbu je Android s aplikací Gadgetbridge (viz další otázka). Pro iPhone taková aplikace není.

Funguje Gadgetbridge?

Hodinky mluví protokolem Bangle.js, který Gadgetbridge (svobodná aplikace pro Android) už umí. Přes něj dostanou oznámení, hovory, čas a časové pásmo a počasí na ciferník, ovládají hudbu v telefonu a hlásí stav baterie. Telefon umí hodinky i najít (zavibrují) a hodinky umí rozezvonit telefon (Menu > Telefon > Najít telefon).

Posledních 20 oznámení zůstává v hodinkách (Menu > Telefon, nebo ťuknutí na obálku na ciferníku): přečtete je celé, zavřete (i v telefonu) nebo odpovíte rychlou odpovědí, kde to aplikace dovolí (odpovědi nastavíte v Connect). Hovor má vlastní stránku: odmítnout, přijmout, ztišit; tlačítko hovor odmítne. Seznam je jen v paměti – nikdy se nezapisuje do úložiště hodinek ani do logu.

Oznámení za běhu se řídí pravidlem: výchozí jsou jen hovory a zprávy, ostatní hodinky spočítají a řeknou po běhu. V tichých hodinách oznámení mimo běh nevibrují a nerozsvítí displej.

Protokol je otestovaný na zprávách přepsaných z Gadgetbridge a v emulátoru. Bluetooth na hodinkách už funguje (PaceOS Connect z Chrome), s Gadgetbridge v telefonu ale zatím vyzkoušené není. Postup párování doplníme po zkoušce.

Gadgetbridge běhy nepřenáší; ty jdou přes Wi-Fi na Stravu a intervals.icu, nebo je stáhnete v Connect.

Jak funguje Strava a intervals.icu?

Hodinky nahrávají běhy samy přes Wi-Fi, bez telefonu a bez serveru PaceOS mezi tím: po uložení běhu, nebo v Menu → Synchronizovat. Každý běh se nahraje jednou.

  • Strava: na strava.com/settings/api si vytvoříte vlastní aplikaci a do Connect (Účty) zadáte Client ID, Client Secret a refresh token s oprávněním activity:write. PaceOS nemá vlastní server, který by přihlášení držel za vás.
  • intervals.icu: ID sportovce a API klíč z Settings → Developer Settings. Hodinky navíc stáhnou tréninky naplánované na příštích 8 dní; v menu Tréninky jsou podle jména a dne.

Soubory FIT si můžete stáhnout i ručně (Connect → Běhy) a nahrát kamkoli, třeba do Garmin Connect.

Nahrávání je otestované proti napodobeným serverům Stravy a intervals.icu. Se skutečnými účty se ověří při zkoušce v terénu.

Jak dlouho vydrží baterie?

Na hodinkách zatím nezměřeno. Výrobce pro původní systém uvádí zhruba 11 dní jako hodinky a 35 hodin s GPS. Jestli se k tomu PaceOS přiblíží, ukáže až měření na hodinkách.

Změřené je zatím jen to, co jde v emulátoru: na ciferníku systém mezi minutami usíná a spí 95 % času. To je chování procesoru v emulátoru, ne odběr proudu – displej, GPS a rádia emulátor nezměří.

Co šetří baterii už teď: Wi-Fi je vypnutá, dokud ji nezapnete; GPS a snímač tepu běží jen za běhu a na obrazovce GPS (bez startu se po 5 minutách vypnou); podsvícení se rozsvítí jen po stisku, dotyku nebo upozornění. Otevřené je, jestli půjde uspávat procesor i mezi body GPS za běhu.

Menu → Systém ukazuje po odpojení nabíječky naměřený odběr a odhad výdrže.

Můžu se vrátit k původnímu systému?

Tak je to naplánované. Před čímkoli se celá paměť hodinek zazálohuje a záloha se ověří. Zkušební start z RAM do paměti hodinek nic nezapíše a restart vrátí původní systém. Instalace bude nabídnutá až s vyzkoušenou cestou zpět ze zálohy.

Na skutečných hodinkách je zatím vyzkoušená záloha a start z RAM s návratem restartem. Obnova ze zálohy vyzkoušená není.

Je to bezpečné?

Dnes není co instalovat, takže hodinkám nic nehrozí. Zásah do systému hodinek je ale vždycky riziko – proto záloha, start z RAM a kontroly před každým dalším krokem. Až bude instalace možná, je na vlastní riziko.

Co je v PaceOS pro bezpečnost:

  • Aktualizace jsou podepsané. Hodinky před zápisem zkontrolují podpis, model, že jde o novější verzi, a všechny kontrolní součty. Ani ovládnutý server tak nemůže do hodinek nic nainstalovat.
  • Hesla k Wi-Fi a tokeny ke Stravě a intervals.icu jdou do hodinek jen jedním směrem: Connect je umí zapsat, ale nikdy přečíst zpět.
  • Rozhraní hodinek odmítne jakoukoli cizí webovou stránku. Přes Wi-Fi je dostupné jen s otevřenou obrazovkou PaceOS Connect.
  • Prohlížeč se přes Bluetooth páruje kódem z hodinek a spojení je šifrované.

Co zatím chybí: data v hodinkách nejsou šifrovaná (kdo má hodinky a počítač, přečte běhy) a zavaděč nekontroluje podpis jádra.

Funguje PaceOS na jiných hodinkách?
Ne. PaceOS je jen pro Amazfit Pace (A1602/A1612).