Aktuální vydání

celé číslo

06

2022

Vodohospodářství, energetika a využití obnovitelných zdrojů energie

IIoT, vestavné a průmyslové počítače a edge computing

celé číslo

Linux a vestavné mikropočítače v průmyslu

Automa 10/2001

Daniel Kmínek, Vlastimil Pohnětal

Linux a vestavné mikropočítače v průmyslu

Fenomén Linuxu [1] si jistě zaslouží mnoho pozornosti. V tomto článku se hovoří o tvorbě aplikací v Linuxu pro potřeby průmyslu. Autoři nejsou horlivými a nesmiřitelnými zastánci či odpůrci Linuxu ani jiných operačních systémů, a proto uplatňují na předloženou problematiku pohled z odstupu, daného jejich pozicí konstruktérů vestavných počítačů

Proč hovořit o Linuxu?

Odpovězme trochu zjednodušeně: protože má nesporné kvality a je zadarmo. Není to však věc, která za uživatele sama vyřeší všechny problémy. Proto považujeme za nutné formulovat čtyři postupné kroky, jimiž musí projít každý, kdo chce vytvářet aplikace v Linuxu.

1. Získání Linuxu
Prvním krokem je získání Linuxu. Operační systém Linux je systém, který lze snadno získat a nastudovat z volně přístupných zdrojů, tedy zadarmo. Bez přístupu na internet, do diskusních skupin a k dalším zdrojům bude však cesta k jeho využití trnitá. Obrovská tvořivost jeho autorů mu přinesla nesmírně mnoho, především flexibilitu, otevřenost, permanentní aplikování moderních technologií a stabilní a výkonné aplikační programy.

2. Ovládnutí Linuxu
Za druhé je nutné se s Linuxem naučit pracovat. Zde je nutné konstatovat, že šíře a množství aplikovaných metod a postupů jsou pro mnohé matoucí a uživatele, který s Linuxem začíná, doslova ničí. Teprve po ovládnutí prostředí a přiblížení se požadovanému přístupu je možné očekávat výsledky. Zcela jistě je třeba několika týdnů, ba i měsíců usilovné práce. To není neobvyklé: zdůrazňujeme to proto, že bývá zvykem podceňovat nutnost učit se práci s novým programovým vybavením a přeceňovat možnosti intuitivního ovládání.

3. Vytvoření aplikace
Třetím krokem je vytvoření aplikace. Po etapě učení může být uživatel schopen vytvářet vlastní systém přeložením zdrojových textů, parametrizací, spojením s knihovnami atd. Takto vzniklý systém by měl být (s ohledem na to, že je vlastně čerstvým programem) také odpovídajícím způsobem testován.

4. Odladění a optimalizace
Poslední krok je odladění a optimalizace programu. Zásah do zdrojových textů nebo vytvoření ovládače je poslední třešničkou na dortu poznání Linuxu. Odměnou za celé úsilí je kvalitní programový systém vytvořený „na míru“ nejen požadovanému hardwaru, ale i uživateli.

Embedded hardware

Vestavné počítače, používané v široké škále aplikací a oborů (namátkou jmenujme medicínskou techniku, telekomunikace, bankovní automaty, průmyslové aplikace, vojenství, mobilní počítače atd.), se vyznačují především miniaturními rozměry.

Prvním problémem těchto počítačů jsou tedy logicky konektory. Malý modul nemůže být vybaven standardními konektory, protože na ně prostě není místo. Musí být použita tzv. nosná deska, která umožní vyvést signály pro připojení dalších modulů a součástí (klávesnice, monitor, vstupně-výstupní moduly apod.) na standardní konektory. Tato deska může řešit i napájení.

Druhým problémem se může stát návaznost ovládačů řadičů rozhraní na linuxové jádro. Jde např. o konkrétní typ řadiče VGA a jeho základní vstupně-výstupní systém BIOS, řadič rozhraní sítě Ethernet apod. Příčina problému s ovládači spočívá v tom, že Linux po dlouhou dobu nebyl v zorném úhlu výrobců zařízení a pro řadiče, které přicházely na trh, nebyla odpovídající podpora.

Třetím problémem, který se u vestavných počítačů často vyskytuje, je omezená velikost paměťových prostorů, a to jak paměti pro kód programu, tak operační paměti. Často se používají paměti typu flash, disk-on-chip apod. – vestavné počítače bývají nezřídka bezdiskové, tj. bez pevného točivého disku.

V dalším textu budeme popisovat dva osvědčené typy vestavných počítačů. První z nich je ETX-P3, počítačový modul z řady ETX, s procesorem Pentium III na 500 MHz, vybavený téměř jako standardní počítače. Druhý je DIMM-PC/520 z řady DIMM-PC, s procesorem x86 na 133 MHz, 16 MB RAM a 16 MB paměti flash, která se chová jako disk IDE. Samozřejmě je možné použít i DIMM-PC/486 nebo DIMM-PC/386.

Slovníček a webový rozcestník

Linus Torvalds
Linus Torvalds (narozen v roce 1969 v Helsinkách, Finsko) je tvůrcem OS Linux. Vytvořil jej jako jednadvacetiletý student Univerzity v Helsinkách, protože, podle vlastních slov, nebyl spokojen s operačním systémem svého PC (MS DOS) a dával přednost OS UNIX, který byl aplikován na velkém univerzitním počítači, ovšem pro malý osobní počítač nebyl vhodný.
V současné době žije L. Tovarlds v městě Santa Clara v Kalifornii (USA). Pracuje ve firmě Transmeta, která vyvíjí a vyrábí produkty pro mobilní zařízení s možností připojení na internet. Má dvě dcery, Patricii Mirandu a Danielu. Zda je jejich oblíbenou hračkou plyšový tučňák, se mi nepodařilo zjistit.

Linux
Volně šiřitelný operační systém. Existují tisíce programů pro Linux a samotný Linux je rozšířen v mnoha modifikacích v miliónech exemplářů (v roce 1999 to bylo odhadem sedm miliónů instalací), především ve webových serverech, firewallech, ale i v automatizaci (Linux je kompatibilní s normou POSIX). Vyčerpávající informace lze nalézt (v českém jazyce) na internetové adrese www.linux.cz. Na této adrese jsou i odkazy na další související stránky, i na české i zahraniční servery FTP, kde lze získat software pro Linux. Hledáte-li cokoliv týkající se OS Linux, lze doporučit český rozcestník Linux Links: www.ll.cz. Jako dva příklady volně šiřitelných aplikací lze jmenovat relační databázi MySQL (www.mysql.com) nebo webový server Apache (www.apache.org).

Red Hat
Red Hat je jedna z nejznámějších distribucí Linuxu. Tvůrcem je společnost Red Hat, Inc. V souladu s licenčními podmínkami GPL je i distribuce Red Hat zdarma. Lze si k ní však koupit příručky, manuály a zajistit technickou podporu. Distribuci lze najít a zdarma si zkopírovat z www.redhat.com. Pro české uživatele je výhodnější použít českou mutaci této distribuce, která je k dispozici na www.linux.cz/redhat-cz.

Embedded Linux
Existuje množství distribucí vhodných pro vestavné počítače. Jsou charakteristické úsporným kódem a malými nároky na paměť. Za mnohé lze jmenovat např. Blue Cat společnosti LynxWorks, Emjlinux, vhodný především pro DIMM-PC, nebo Etlinux pro PC/104. Bližší informace lze najít např. na www.linuxembedded.com.

Real-time Linux
Chceme-li použít Linux pro aplikace pracující v reálném čase, narazíme na problém, co je to vlastně reálný čas. Jiné požadavky jsou na prezentaci digitálních videopořadů, jiné na řízení robotů nebo kosmických lodí. Linux, díky tomu, že má otevřený kód a jeho jádro splňuje normu POSIX, lze po větším nebo menším úsilí přizpůsobit většině požadavků na práci v reálném čase. Nejznámější distribuce, které Linux přizpůsobují pro práci v reálném čase, jsou RTAI (Real Time Application Interface) nebo RTLinux. Bližší informace lze najít na www.realtimelinux.org

Microwindows
Většina instalací Linuxu na stolních nebo přenosných počítačích používá jako grafické uživatelské rozhraní X Window System. Tento systém je však pro většinu vestavných aplikací nepoužitelný, protože ke svému běhu potřebuje mnoho paměti. Proto byly vyvinuty Microwindows, GUI pro vestavné aplikace, které lze jako všechny systémy pro vestavné aplikace snadno přizpůsobit pro konkrétní hardware. Chcete-li se o Microwindows dozvědět více, navštivte microwindows.censoft.com

„Velké a malé“ aplikace

Příkladem „velké“ aplikace může být instalace (Embedded) Linuxu na stavebnici Linux ETX Kit. U takovéto stavebnice můžeme postupovat běžným způsobem. Sestavíme podle návodu mikropočítač, založíme do CD-mechaniky první CD-ROM dodávané distribuce a spustíme instalační proces. Distribuce je připravený soubor programů doplněný instalačním programem, který uživateli pomůže snadno vytvořit požadovaný systém na jeho stroji. Příkladem je distribuce Red Hat. Při instalaci si uživatel pouze vybírá, které části systému chce či nechce instalovat.

Jestliže uživatel potřebuje sestavu, která nebude mít pevný točivý disk, ale jen polovodičový disk, tvořený např. kartou CF, musí mít na paměti nižší kapacitu karty a technologická omezení daná především povoleným počtem zápisů na kartu. Může s výhodou využít přepnutí disku do režimu pouze čtení (read-only). Typické aplikace jsou např. mikroserver nebo informační panel [2].

Obdobnou cestu však lze jen obtížně použít pro vytvoření systému s moduly DIMM- -PC. Čím „menší“ cílová aplikace bude, tím náročnější je vytvoření operačního systému. K cíli vedou dvě cesty. První cesta, tak říkajíc shora, je postup, kdy je za základ vzata některá z mnoha distribucí Linuxu a ta je postupně upravována (oklešťována) podle potřeb uživatele. Při druhé cestě, zdola, se začne u samotného jádra Linuxu a několika základních knihoven a postupně se doplňují a vytvářejí jen takové programy (vlastnosti), které uživatel požaduje. Je však nutné realizovat některé činnosti, které nejsou při běžných instalacích obvyklé. Proto je potřebné nový systém vytvořit nejprve na pracovní stanici (výkonné PC) a následně jej přesunout na malý vestavný mikropočítač. Příkladem těchto aplikací je např. miniaturní vestavný webový server (mitePC), směrovač (router; miteROUTER) doplněný bezpečnostními funkcemi apod. [2].

Není-li v silách budoucího uživatele nesnadnou cestou instalace projít, může si vybrat hotovou sestavu, která zaručuje spolehlivou součinnost s programovým systémem. Příklad takové sestavy je Linux mitePC-L Kit.

Systém miteLINUX vznikl s cílem mít k dispozici vestavný systém, který by aplikacím poskytoval „přívětivé„ grafické rozhraní, přestože má k dispozici omezený paměťový prostor 8 až 16 MB pro kód programu a 8 až 16 MB pro operační paměť RAM. Do systému byla začleněna Microwindows [3]. Potřeba vytvářet aplikaci na hostitelském systému a výsledek poté přemísťovat do vývojové sestavy vedla k zabudování serverů Telnet a ftp. Data lze přenášet jak pomocí sítě Ethernet, tak přes sériovou linku.

Protože sestava má nejen grafický displej LCD (1/4 VGA), ale i dotykové stínítko, jsou v systému miteLINUX začleněny potřebné ovládače. V souladu s licenčními podmínkami Linuxu je k dispozici i úplný soubor zdrojových textů.

Realizace průmyslové aplikace „na míru“

Vývoj hardwaru a systému založeného na Linuxu „na zelené louce„, tj. od úplného počátku, je nesmírně náročný. Pro většinu aplikací, kde chce uživatel použít operační systém Linux, doporučujeme použít hotové a ověřené procesorové moduly nebo připravené stavebnice.

V současné době již existují oddělené vývojové větvě Linuxu, které se soustřeďují na požadavky speciálních oblastí, např. na aplikace, kde je vyžadována vyšší bezpečnost, činnost v reálném čase apod. Uvedené postupy jsou v plném rozsahu platné i pro ně.

[1] http://www.linux.com
[2] http://www.mite.cz, ftp://ftp.mite.cz
[3] http://www.microwindows.org


Je Linux zadarmo?

Slogan říká, že Linux je zadarmo. Přesto existují firmy, které se Linuxem „živí“. Jak je to možné?

Linux podléhá licenci GPL. To je plným českým názvem Obecná veřejná licence GNU, založená na principu, že kupující se softwarem nabývá práva jej nejen provozovat, ale i modifikovat a dále distribuovat. Aplikace vytvořené pomocí programů, na něž se vztahuje GPL, musí být také šířeny v souladu s GPL (např. nesmí být chráněny patentem nebo v patentu musí být uvedeno, že zdrojový kód aplikace je volně dostupný). Prodávající ovšem nenese za software, na nějž se vztahuje GPL, žádnou záruku. Samotný zdrojový kód musí být šířen volně, tj. jen za poplatek úměrný ceně média, na němž je distribuován. Stejně tak volná musí být možnost software instalovat, spouštět i podle potřeby měnit a přizpůsobovat.

Co je to GNU? GNU (rekurzivní zkratka, GNU’s not Unix) je iniciativa, která se zabývá volně šiřitelným softwarem (české internetové stránky mají adresu www.gnu.cz). Vznikla dříve než Linux, ale teprve tehdy, když se Linux po svém vzniku ke GNU přihlásil, stala se světově známou. V rámci GNU bylo vyvinuto mnoho volně šiřitelného softwaru. Koupí-li si uživatel distribuci Linuxu např. od Red Hat, koupí si vlastně jen jádro Linuxu, vše ostatní je GNU. To, co se nazývá Linuxem, často bývá software GNU běžící na linuxovém jádru.

Další pojem, který si zaslouží vysvětlení, je volně šiřitelný software. Volně šiřitelný software je software, jehož zdrojový kód je (v souladu s GPL) volně dostupný a lze jej libovolně měnit a přizpůsobovat. Zakladatelé GNU vycházeli z přesvědčení, že patentovat zdrojový kód a omezovat jeho využití je nesprávné a neetické – stejně jako není správné patentovat třeba matematickou metodu nebo definici fyzikálního jevu.

Naproti tomu lze volně šiřitelný software, na rozdíl od freewaru a sharewaru, komerčně využít, ovšem za předpokladu respektování licenčních podmínek. Jak? Nesmí se prodávat zdrojový kód programu, ale může se prodávat literatura, školení, uživatelské příručky a účtovat poplatky za technickou podporu. K nejznámějším firmám, které se zabývají komerční činností v souvislosti s Linuxem, patří Red Hat (česká prezentace je na www.linux.cz/redhat-cz).

Záleží na uživateli: buď si ze  serveru ftp zdarma zkopíruje instalační soubory a pak se nějak utká s tím, aby je správně nainstaloval a používal, nebo si koupí manuál, podle nějž se naučí systém instalovat a pracovat s ním, a k tomu zpravidla dostane zdarma potřebné instalační soubory, nebo, má-li speciální požadavky, na něž jeho programátorský um nestačí, zaplatí si tvorbu aplikace podle svých představ. Nechce-li se starat vůbec o nic, zaplatí si ještě technickou podporu a servis.

Programátoři, kteří tvoří programy pro Linux, tedy neumřou hladem, firmy, které vyvíjejí linuxové aplikace, nezaniknou. Vždy se najdou uživatelé, kteří rádi využijí nabídky na vývoj specifických řešení se zárukou funkce a technickou podporou. Tím, že zvolí Linux, získají aplikaci s otevřeným kódem, kterou v případě potřeby nemusí upravovat jen původní dodavatelská firma, ale i jakákoliv jiná firma, která to umí.

(ed)