Lubor Jurena: Umělý open-source pankreas
Luborovi před několika lety diagnostikovali diabetes prvního typu. Je to autoimunitní onemocnění, kdy imunitní systém člověka ničí vlastní buňky slinivky břišní. Není to způsobeno stravou ani životním stylem.
To způsobuje akutní nebo chronické zdravotní komplikace, které jsou způsobeny špatnou výrobou inzulinu.
Léčba spočívá v podávání inzulinu, jehož potřebné množství je závislé na hladině glukózy v krvi, jídle a aktivitě. V roce 1921 byl v Kanadě poprvé získán inzulín, nejprve ze psí slinivky a později z dalších zvířat. Bylo potřeba ho chemicky vyčistit a považuje se to za jeden z největších úspěchů medicíny.
Byla za něj udělena Nobelova cena.
Dávkování je velmi jemné a přesné, je možné jej provádět pomocí předplněného pera nebo pomocí inzulinové pumpy. Pero nedokáže například u dítěte dostatečně jemně nastavovat dávkování.
V minulosti bylo potřeba si vždy odebrat kapku z krve z prstu a změřit se pomocí glukometru. Tento přístup je už zastaralý.
Moderním řešením je průběžné měření glukózy, kdy je na kůži trvale připojený senzor, který pomocí Bluetooth odesílá v krátkých intervalech naměřenou hodnotu. Zařízení je velmi malé a vydrží na baterii sedm až deset dnů, podle výrobce.
Informace je možné posílat do telefonu a předávat třeba rodičům, kteří pak mají přehled o stavu dítěte.
Poté se objevily inzulínové pumpy, které jsou připojeny k tělu a stále dávkují inzulín. Dříve bylo nutné průběžně měnit ručně nastavení pumpy, což není vždy pohodlné.
Propojení nebylo možné, protože data ze senzorů byla přenášena proprietárními protokoly. Bylo nutné odečíst hodnotu, vydělit osmnácti a nastavit do pumpy.
V roce 2014 začal John Costik programovat aplikaci Nightscout, protože jako rodič chtěl sledovat zdravotní stav svého dítěte ve škole. Jde o komplexní přenášení dat ze senzoru do databáze s webovým rozhraním a API. Je možné řídit i přístup, například jen pro čtení nebo pro zápis.
Je to stále jedinečné řešení, které nemá v komerční oblasti náhradu.
Nightscout má velmi rozsáhlé možnosti integrace a umožňuje získávat data z mnoha různých senzorů. Není potřeba senzory nijak hackovat, řada výrobců umí pomocí aplikace v telefonu rovnou odesílat data do Nightscoutu. Poté je možné data sledovat v telefonu, hodinkách, Alexe nebo data posílat do Grafany.
Máme k dispozici senzor a pumpu, mohly by tedy spolupracovat. Chceme vytvořit umělou slinivku, která bude fungovat sama a automaticky dávkovat inzulín.
V roce 2015 začal vývoj algoritmu pro přesné dávkování závislé na aktuálním stavu pacienta.
Komunikace s pumpou musí být obousměrná, protože je potřeba mít zpětnou vazbu o tom, že se vše podařilo a situace je bezpečná. Komunikace zajišťuje algoritmus OpenAPS, jehož první implementace byla vytvořena v JavaScriptu pod licencí MIT. Původní algoritmus byl velmi jednoduchý, neuměl podávat korekční bolusy, ale už uměl pumpu nastavovat.
Následující verze z roku 2017 už uměla podávat mikrobolusy, tedy dávky na základě příjmu potravy. Pumpa neví, že jste něco snědli, ale systém rozpozná jídlo na základě vývoje glykémie.
Má také dynamické limity pro bezpečnost uživatelů. Algoritmus má také predikci působení a aktivity inzulínu a zpracování sacharidů.
První verze byla postavena na Raspberry Pi a vyžadovala externí napájení a spoustu dalších zařízení. Dali jste si to celé do batohu a mohli jste jít na pivo.
Příliš pohodlné to ale nebylo a bylo to lepší než komerční řešení.
V roce 2016 pak vznikla verze AndroidAPS, která integruje algoritmy OpenAPS. Pacient musí projít několikatýdenním testem, kdy jsou mu postupně odemykány jednotlivé funkce. Pacient je pak edukovaný a chápe funkci systému.
Umožňuje to také přímou bluetoothovou komunikaci s pumpou, CGM a chytrými hodinkami.
AndroidAPS také umí integraci s Nighscoutem, takže je možné třeba během noci ovládat podávání inzulínu u dítěte. Začala doba přidávání podpory všech možných senzorů do aplikace.
Potíž je, že je potřeba všechna spojení hackovat a odchytit, protože výrobci nespolupracují. Tohle už je ale nositelné a pohodlné.
Aplikaci je nutné si vždy sestavit ze zdrojových kódů a nahrát do vlastního telefonu. Nevíme, jestli to ale bude ještě do budoucna možné.
Jde o neschválené zdravotnické aplikace a ty Google nikdy do Play nepřijme. Zatím si je ale můžete nahrát do telefonu jinou cestou.
Pro iOS existuje od roku 2019 aplikace Loop, jejíž vývoj je ovšem velmi konzervativní a pomalý. Naopak aplikace iAPS má velmi agilní vývoj a podporuje kompletní integraci do ekosystému Apple. Pokud máte iPhone, získáte nejpokročilejší možnosti a více variant algoritmu.
Po neshodách vývojářů vznikl fork Trio, který pokračuje konzervativnějším a bezpečnějším způsobem.
Následně přišly z komunity rozšiřující algoritmy, které lépe reagují na dynamické potřeby. Člověk jinak reaguje ráno, jinak večer a jinak, když jste nemocní.
Vznikl proto algoritmus AutoISF nebo DynISF, které vytvářejí vlastní regulaci.
V současné době je možné vzít prakticky jakýkoliv senzor na trhu a propojit je s jednou z mnoha pump. Stává se, že pacient dostane alergii na některý senzor a není pro něj problém přejít na jiné řešení.
V roce 2020 se do Česka dostaly i první komerční propoje, jde ale o uzavřená řešení a je potřeba pak odebrat celou sadu zařízení. Mobilní aplikace jsou často nefunkční, mají omezené funkcionality a mají problémy s aktualizacemi.
Spoléhají také na vstupní informace od pacienta a jejich reakce na změny jsou velmi pomalé.
Může se zdát, že jsou komerční uzavřená řešení bezpečnější. Například firma Medtrum odmítá zveřejňovat studie, informace o konkrétních algoritmech a mají problémy s patenty. Ale je to schválené řešení a může se dodávat.
Chybí jim také pořádná automatizace a nedokáží reagovat na nejnovější doporučení. Některé komerční systémy mají například možnost korigovat nastavení pumpy jen jednou za šedesát minut.
Otevřená řešení mohou využívat pokročilejší automatizace, kdy třeba měníte profily podle aktuální polohy. Když třeba překročíte práh fitcentra nebo kanceláře, může se pumpa začít chovat jinak.
Na vlastním těle si tak můžete spustit automatizaci. Připravuje se integrace AI, kde je možné z fotografie jídla odhadnout množství sacharidů a glykemický index.
Jde o neschválené zdravotnické pomůcky, takže lékař nemůže tyto systémy poskytovat ani nastavovat. Jeden můj lékař říká, že nejlepší pacienti jsou ajťáci, kteří už přijdou s hotovým řešením.
Uživatel ale musí převzít zodpovědnost, což obvykle lékař zapíše do zprávy.
Do budoucna bude třeba řešit například to, že pumpy začínají používat silnější šifrování. Chybí také jazykové překlady, což komplikuje některým uživatelům přístup. Objevují se ale i pumpy postavené na open-source propojeních, ale jde o jednostrannou aktivitu, která nepřispívá zpět do vývoje.
David Čermák: Postkvantová kryptografie na ESP32
Na internetu běží spousta šifrované komunikaci, o které věříme, že ji nebude nikdo schopen rozšifrovat. Existuje ale reálné riziko, že v budoucnu to možné bude. Je to zajímavé i pro nás firmwaráře, protože i malá zařízení mohou přenášet citlivá data.
Taková zařízení mají dlouhou životnost i desítky let a je poměrně komplikované je aktualizovat.
Aktualizace bývá založena na klasické kryptografii, kterou budou možná schopny kvantové počítače prolomit. Vzniká ale velké množství standardů a metod, které jsou odolné proti lámání kvantovými počítači. Podle Cloudflare Radaru vzrostl podíl spojení pomocí postkvantových algoritmů z 15 na 50 procent. Něco se v této oblasti opravdu děje.
Ohroženy jsou především asymetrické algoritmy a klasické postupy týkající se PKI. To není tak vážná hrozba, protože bychom ji museli provést v reálném čase.
V případě elektronického podpisu firmwaru to ale už hrozbu představuje, protože si útočník může dát na čas s přípravou své upravené verze.
Systém je potřeba od začátku designovat tak, aby bylo možné rychle přepnout na nové algoritmy. Hybridní přístup znamená kombinaci více kryptografických metod, kdy můžeme v případě selhání jedné stále používat tu druhou.
U malých embedded zařízení jsme vždy omezeni velikostí paměti, spotřeby zařízení a výkonem. Je potřeba používat ověřené algoritmy a dát si pozor na postranní kanály.
Většina zavaděčů používá klasické algoritmy, které mohou být ohroženy kvantovými počítači. Klíče jsou obvykle navázány na hardware a bývají součástí firmwaru. Můžeme aktualizovat firmware, ale změna zavaděče bývá už složitější.
Musíme si například předem vyhradit paměť pro nové klíče, které přijdou v budoucnu.
K dispozici máme algoritmus ML-DSA (Dilithium), který pro firmwaráře není ideální, protože používá velké klíče a podpisy. Mají několik kilobajtů a doporučují se tu hybridní řešení.
Vhodnější by měl být LMS/XMSS, který je rychlý, má kratší podpisy i klíče a nevyžaduje se u něj hybridizace. Je také už podporovaný v embedTLS.
Použít už můžeme wolfBoot, implementaci X-CUBE-PQC od ST nebo komerční řešení od PQShield. Potřebujeme tři knihovní funkce: vytvoření klíče, enkapsulaci a dekapsulaci. Jedna strana vytvoří klíč, pošle s jeho pomocí data a ta se na druhé straně vybalí.
Poté už probíhá komunikace klasickým způsobem, protože symetrické šifry nejsou postkvantově ohrožené.
V první fázi je potřeba se zaměřit na podpisy firmwarů a poté na jejich transport. Měli bychom systémy také navrhovat agilně s ohledem na budoucí rozvoj.
Vlastimil Slinták: LinHT: open-source SDR transceiver
Amatérské rádio je služba pro samovzdělávání a technická studia. Cílem je se vzdělávat v oblasti techniky a radiokomunikací.
Podstatou není povídat si s někým pomocí vysílačky zadarmo. Jakmile získáme radioamatérskou licenci, získáme přístup k pásmům, která jsou běžné veřejnosti nedostupná. Můžeme používat vlastní frekvence a vyšší výkony.
Ve druhé polovině dvacátého století si musel radioamatér postavit vše svépomocí: antény, zesilovače i celá analogová rádia. Výpočetní technika přišla až později, takže vše bylo složeno z elektronek nebo diskrétních tranzistorů.
Bylo potřeba rozhodně umět pájet. Dnes se dá všechno smrsknout do jedné malé krabičky.
Princip SDR je takový, že použijeme A/D převodník, kterým přijmeme proud dat. Ta se předají do softwaru, který pak udělá všechnu složitou práci. Můžete přijímat spoustu věcí, pokud si to umíte naprogramovat.
Radioamatéři jsou stále zvědaví a stále se vzdělávají, jen technologie se vyvíjejí. Pro začátek stačí jednoduché levné USB zařízení RTL-SDR a můžeme přijímat.
SDR přesouvá většinu zpracování analogového signálu do počítače. Z hardwarových zařízení je možné používat HackRF, ADALM Pluto a mnoho dalších. Pro software je možné použít GNU Radio, SDR++ nebo OpenWebRX. To se hodí do laboratoře, ale už se to nehodí na cesty.
Radioamatéři rádi používají přenosné ruční radiostanice, u kterých může být pořizovací cena okolo 60 eur. Existují komunitní úpravy, které dovolují rozšířit hardwarové schopnosti.
Příkladem může být Quansheng UV-K5, pro který existuje řada alternativních firmwarů. Komunita si píše vlastní software pro jinak velmi omezené ručky.
Obvykle jsou postaveny na čipu STM32.
Pro analogový přenos hlasu se používají modulace AM, FM, NBFM nebo SSB. Pro digitální přenos je možné používat D-STAR, YSF, DMR nebo TETRA. Jejich společným rysem je, že jsou to patentované uzavřené protokoly.
Můžete je se správným zařízením používat, ale už je nemůžete měnit a zkoumat. Tohle popírá myšlenku radioamatérství.
Existují tedy také open-source módy pro přenos hlasu jako FreeDV nebo M17. Je možné experimentovat s různými kodeky. Moderním kodekem je RADE, který potřebuje menší šířku pásma.
Digitální režim M17 je určen pro přenos hlasu i dat a od začátku je postaven jako protokol pro amatérské rádio. Přenáší se například značka a nešifruje se.
Je to přímá alternativa k uzavřeným systémům, která je otevřena a plně dokumentována. Je to navrženo od radioamatérů pro radioamatéry.
O vývoj se stará nezisková organizace M17 Foundation, jejímž hlavním projektem je právě rozvoj digitálního módu a všeho, co s ním souvisí.
Cílem projektu je vytvořit vlastní přenosné rádio, na kterém poběží Linux a GNU Radio a bude plně programovatelné a otevřené. Nechceme to dělat komplet z nuly, to by bylo příliš náročné.
Proto je vše připravováno na komerčním zařízení Retevis C62, kde se vymění základní plošný spoj za vlastní. Z levné omezené čínské ručky se stane plně programovatelné zařízení.
Tvar plošného spoje je daný, stejně jako umístění konektorů a třeba antény. Srdcem nové desky je plošný spoj o rozměrech 30×30 milimetrů, který obsahuje procesor NXP i.MX93 s velkým výkonem, který spotřebuje 2,5 W a napájený je 5 V. Úplně přesně se nám vejde do spodní části hlavní desky.
GNU Radio běží v upravené distribuci Yocto Linux a pro rádiovou část se používá čip SX1255. V Linuxu se nám to chová jako běžná zvuková karta v ALSA.
Pro zvukovou část se používá audio kodek WM8960. Ten už je opuštěný a budeme ho muset nahradit.
Ze softwarového hlediska se vše omezuje na použití zvukové karty s pomocí ALSA.
V současné době existují čtyři prototypy v první testovací revizi. Připravujeme revizi B, kterou už bychom měli doporučovat nadšencům pro běžné použití.
Bude mít vylepšené chlazení, lépe zvládnuté napájení, podporu nového kodeku a vlastní 5W zesilovač. Detaily jsou průběžně dokumentovány na webu m17project.org nebo na českém webu Uart.cz/2811.
Jakub Jirůtka: E-ink cedulky ke dveřím učeben
Cedulky na dveřích bývají obvykle vytištěné na papíře a tím statické. V případě FEL ČVUT jde o papírové cedulky s rozvrhem učebny na celý rok. Slouží jednak k lepšímu nalezení správné přednášky či cvičení, jednak se navíc část učeben může používat jako studovny v době mimo výuku. Na většině dveří ale rozvrh úplně chybí nebo nereflektuje změny.
Zatímco číslo učebny je prakticky neměnný údaj, rozvrh se mění poměrně často. Aktualizace papírových rozvrhů je poměrně náročná činnost, navíc nedokáže ukázat mimořádné akce, například zkoušky nebo blokovou výuku. Není ani jednoduché zjistit, jaká přednáška právě probíhá, zvlášť když fakulta pravidelně učí podle rozvrhů jiných dnů v týdnu, například kvůli opakujícím se výpadkům výuky během květnových svátků.
U nových učeben je vedle dveří vyveden ethernetový kabel, plánem tedy bylo mít zařízení, které může být napájené pomocí PoE. Bohužel, většina místností takovou přípravu nemá. Řešení s e-ink displejem proto umožní bateriový provoz. Původní řešení používalo displeje o velikosti 7,5 palce. Mimo jiné proto, aby bylo možné vytisknout rámeček na běžné 3D tiskárně.
Ukázalo se ale, že 7,5” displeje jsou příliš malé a také, že standardní PoE způsobuje víc škody než užitku: je potřeba velký měnič, který produkuje poměrně hodně tepla, samotný konektor je velký a i ethernetový kabel je obtížné ohnout a schovat do rámečku.
Testovali také ovládání gesty, ale zpoždění e-ink displeje je tak velké, že to uživatele spíše mate a ovládání tedy není intuitivní.
Třetí revize cedulek je výrazně tenčí a používá displej o velikosti 10,2 palců. Testovali jsme i jedenáctipalcový, ale ten se ukázal už příliš velký pro tisk rámečku na běžné 3D tiskárně,
poznamenává Jakub Jirůtka. Displej je řízen deskou ESPink od českého výrobce LaskaKit. Jedná se o open hardware s dvoujádrovým procesorem ESP32.
K ní je kromě displeje připojená také LiPol baterie s kapacitou 10 Ah. Měla by vydržet 6–12 měsíců, ale až praxe ukáže, jestli výpočet odpovídá realitě.
V místech s ethernetovým kabelem je možné rámečky přímo napájet napětím 7 V po kabelu. Data se ale vždy přenášejí pouze prostřednictvím Wi-Fi. Rámeček vyrobil Vlad Waas pro projekt Živý obraz. Původní rámeček počítal s velikostí 7,5”, změna na 10,2” znamenala v podstatě celý rámeček navrhnout znovu.
Celé řešení používá MQTT, do kterého řadič dveřních cedulek vkládá informace z API rozvrhů a dalších zdrojů. Vzhledem k bateriovému napájení je potřeba šetřit spotřebu. Každé zařízení si spolu s aktualizací uloží i informaci v kolik hodin se má znovu probudit a stáhnout další verzi cedulky. Děje se to obvykle jednou za hodinu, tak aby cedulka mohla ukazovat, co právě v místnosti probíhá. Vzhledem k omezenému množství paměti je použita knihovna pngle která dekóduje PNG proudově, bez nutnosti ukládat celou bitmapu do paměti.
Zařízení jsou monitorována pomocí nástroje Prometheus, včetně síly signálu, stavu baterie a podobných. Velkým problémem v provozu se ukázala funkce Wi-Fi fast scan – některé cedulky se k síti nepřipojovaly. Tato funkce totiž způsobí, že se ESP32 připojí k prvnímu AP, které uvidí, což může být na druhém konci budovy. Spojení je pak nekvalitní, nebo se dokonce ani nenaváže. Ukázalo se také, že hodiny reálného času v ESP32 jsou velmi nepřesné.
V budoucnu je v plánu optimalizovat připojení k Wi-Fi sítím, nasadit rámečky na více místech a také zveřejnit 3D modely a firmware rámečku.
David Koňařík: Android jde do kytek
Android byl od začátku od roku 2008 otevřený software. Google od začátku většinu kódu zveřejňuje a přidává do něj nějaké svoje proprietární kusy pro certifikované smluvní partnery.
Bylo vždy možné si sestavit vlastní verzi, která nemusela některé části obsahovat.
Během letošního května Google ohlásil, že přestane zveřejňovat mezivýsledky svých vývojových kroků. S vydáním Androidu 16 také vývojáři přestali vydávat zdrojové kódy pro telefony Pixel. Podle Googlu už nejsou Pixely referenčními zařízeními a máme používat emulátor.
Mluví se také o tom, že Google sice vydává pravidelné bezpečnostní záplaty, ale předává je nejprve pouze exkluzivním partnerům. Některé chyby schovává a záplaty prý bude uvolňovat až s velkým odstupem.
To opět komplikuje možnost si sestavovat bezpečně vlastní systém.
První čtvrtletní záplata Androidu 16 se objevila už 14. srpna a přestože Google tvrdil, že zdrojové kódy uvolní, zatím se to po více než dvou měsících nestalo. V létě se šířily drby, že AOSP končí, ale Google říká, že to není pravda. Jeho dosavadní kroky jsou ale velmi nepřesvědčivé.
Další ranou je, že někteří výrobci omezili možnost odemknutí bootloaderu. Mají proces šíleně komplikovaný nebo ho přestali nabízet úplně.
Například v případě Samsungu to dříve fungovalo bez problémů, dnes už to u nových modelů není možné.
Android se stává nepřátelským vůči jednotlivým malým vývojářům, už nejsou k dispozici některé věci, na které jsme byli zvyklí. Je načase vzít Android do vlastních rukou a udělat z něj pravý komunitní projekt.
Výhodou je, že AOSP je stále otevřeným projektem a komunitní převzetí je stále možné.
(Autory obrázků jsou Petr Krčmář a Ondřej Caletka.)








