====== Resetítko (System Keeping Unit SKU01A) ====== Zařízení je určeno k udržování vědeckých měřících systémů, jako jsou robotické dalekohledy, nebo komplikované měřící stanice v neustálém provozu. Resetítko poskytuje v systému tyto služby: * Umožňuje resetovat libovolnou komponentu v systému stanice. * Poskytuje zálohované a zabezpečené napájení. Proti přetížení, přepětí, podpětí, nestabilitám a podobně. Toto napájení je zároveň monitorováno. * Poskytuje alternativní přístupové kanály k hlavním systémům stanice. * V případě detekce problému převede systém do bezpečného stavu (fail safe) a tuto situaci oznámí obsluze. ===== Funkce jednotky ===== Principem resetítka je, že má paralelní přístup ke všem, nebo k většině subsystém, které mohou být postiženy poruchou. Tento přístup je realizován buď připojením zařízení skrz resetítko např. za použití [[cs:usbhub|USB Hubu]] ovládaného resetítkem, nebo externím připojením resetítka na paralelní komunikační kanál zařízení. Například port [[https://cs.wikipedia.org/wiki/RS-232|RS232]]. Resetítko by také mělo obsahovat log činností systému, aby řídící systém mohl diagnostikovat příčinu vzniku chyby. ===== Konstrukce ===== Zařízení obsahuje mikrokontroler, s jednoduchým operačním systémem omezeným pouze na nezbytně nutné funkce. Případná aktualizace firmware může proběhnout přes komunikační kanál z[[cs:arm| hlavního řídícího počítače]] pouze za předpokladu, že celý systém stanice je v definovaném stavu. Konstrukce přístroje dále obsahuje moduly záložního napájení z [[cs:lion1cell|lion akumulátorů]] nebo [[cs:supercap|superkondenzátorů]] a komunikační rozhraní. ==== Komunikační rozhraní ==== Konstrukce zařízení umožňuje v teoreticky využívat všechny komunikační moduly dostupné ve stavebnici MLAB, mezi prakticky využitelné pro většinu systémů však patří: * [[cs:i2c|I2C]] * RS232 * RS485 * CAN * Ethernet * [[cs:usbhub|USB HUBu]] === Paralelní servisní kanály === Resetítko by mělo mít k dispozici svůj nezávislý servisní a monitorovací kanál určený k jeho ovládání. Takový komunikační kanál může být realizován těmito technologiemi. * [[https://cs.wikipedia.org/wiki/Global_System_for_Mobile_Communications|GSM]] * [[https://en.wikipedia.org/wiki/LPWAN|LPWAN sítě]] jako je například LoRa. Obzvláště zajímavým řešením je pro tento případ použití IoT technologí například ze sítě [[https://www.thethingsnetwork.org/| The things network]], která umí posílat velmi malé množství dat i směrem k zařízením. Bylo by tak možné bez fixních nákladů na připojení resetovat celý systém, nebo jeho části. ==== Detekce poruchy ==== === Heartbeat a watchdog === Základním způsobem detekce poruchy je monitorování heartbeat signálu pomocí [[https://en.wikipedia.org/wiki/Watchdog_timer|watchdogu]]. V případě využití systémového počítače s běžícím operačním systémem Linux by mělo být možné poruchu zjistit ze systémového [[http://www.sat.dundee.ac.uk/psc/watchdog/watchdog-configure.html|watchdog daemona]], který by resetítku pravidelně posílal zprávu o svém stavu. === Ostatní možnosti === Exaktní algoritmická detekce poruchy je komplikovaná, neboť by musely být dopředu známé všechny možné chybové stavy systému a i samotného řídícího algoritmu. Možným řešením by proto mohlo být použití metod [[http://en.wikipedia.org/wiki/Artificial_intelligence|AI]], nebo [[http://en.wikipedia.org/wiki/Artificial_neural_network|neuronových sítí]]. Které se budou učit na základě potvrzené správné funkce systému. Použití by v takovém případě vypadalo tak, že zařízení bude spuštěno v automatickém provozu a obsluha bude pouze v roli pozorovatele držet tlačítko potvrzující správnou funkci zařízení. V případě, že by došlo hned během testovacího provozu k nějaké poruše, tak tlačítko pustí. Informace získané z tlačítka by měly sloužit k naučení se AI algoritmu o tom jak vypadá bezvadný provoz zařízení. Zároveň při puštění tlačítka bude aktivován fail-safe režim a ověřena jeho funkčnost. ===== Příklady systémů které resetítko potřebují ===== * [[cs:robozor:arom|]] * [[cs:isms|]] * [[cs:rmds|]] * [[cs:sm|]]