- předchozí článek - následující článek - obsah - úvodní stránka -

Linuxové noviny 01-02/99

PalmPilot a Linux

Michal Choura, 9.ledna 1999

Co je Linux asi všichni víte, ale co je to ten PalmPilot (nyní již jen Palm)? PalmPilot je počítač kategorie PDA (Personal Digital Assistant), tedy jakýsi "osobní záznamník", který se od jiných podobných výrobků na trhu poněkud odlišuje. Na první pohled je patrné, že nemá klávesnici, ovládá se pouze perem. Umí rozpoznávat zjednodušené tiskací písmo, kterému se říká grafiti. Jestli je výhodnější klávesnice nebo ovládání perem je sporné, mě trvalo přibližně jeden až dva měsíce, než jsem se na Pilotovi naučil psát bez velkého přemýšlení (ale mé písmo i na papíře přečte jen málokdo, většinou ani já ne :-) Domnívám se, že klávesnice je u takto malých zařízení problematická, vzhledem k rozměrům tlačítek mi připadá, že pero je rychlejší. Další rozdíl je v rozměrech, můj PalmPilot Professional měří jen 12x8,1x1,7 cm, budoucí verse mají být ještě menší. Asi nejvýznamnější rozdíl je však v přístupu výrobce. Zatímco většina výrobců informace o svých PDA tají, není problém k Pilotovi sehnat na stránkách výrobce http://www.palmpilot.com/ kompletní dokumentaci jak operačního systému, tak přenosového protokolu (HotSync) mezi vestavěnými aplikacemi a jejich protějšky na PC. A tak existuje již mnoho aplikací, umožňujících propojit Pilota s Linuxem.

Všechny verse Pilotů jsou vybaveny procesorem Motorola M68328 (DragonBall). Nejstarší model (PalmPilot 1000) měl 128 kB volné paměti RAM pro data a další aplikace, nejnovější PalmIII má již 2 MB. Všechny modely mají seriový port, kterým se připojují k PC. Ten lze u některých modelů (PalmPilot Professional, PalmIII) použít i k přímému připojení modemu, takže lze z Pilota prohlížet webovské stránky nebo stahovat elektronickou poštu. Nejnovější model PalmIII má i infračervený port, a majitel tedy může komunikovat s jinými uživateli Pilota, s PC nebo třeba s mobilním telefonem i bez kabelu.

Pro české a slovenské uživatele Linuxu je obzvláště důležitá podpora mateřského jazyka. Pro PalmPiloty existuje jednak komerční implementace češtiny, kterou vytvořil původní dovozce Pilotů, jednak GNU Czech http://sgi.felk.cvut.cz/~brachtlm/pilot/, která je (konečně) šířena pod licencí GNU GPL. Volně šířená čeština vznikla jako reakce na neschopnost dovozce opravit chyby ve svém produktu, které v určitých situacích vedly k samovolným restartům Pilota s možnou ztrátou dat. Ale má i další, pro uživatele otevřených systémů důležitou, vlastnost - umí pracovat i s fonty v kódování ISO 8859-2. Proto není problém přímo vyměňovat data mezi Pilotem a Linuxem.

[ ical ]

Pilot a Linux

Základní balík pro spolupráci PalmPilotů s Linuxem (ale i libovolným unixovým systémem) je pilot-link ftp://ryeham.ee.ryerson.ca/pub/PalmOS/. Je to sada utilit, vlastně příkazů, které zajišťují komunikaci mezi počítači. Například pro zazálohování obsahu celého PalmPilota do aktuálního adresáře napíši

   pilot-xfer -s /dev/ttyS2

[ pilot ical ]

Přepínač -s navíc zajistí, že se přenesou pouze soubory, které se od minulé zálohy změnily, takže se doba zálohování zkrátí a navíc se šetří kapacita baterií v Pilotovi. Balík má i další utility, které umějí například přenést poznámku, zapsanou v Pilotovi, do souboru na Linuxu a naopak, nebo dokonce přenést novou poštu z linuxového mailboxu do Pilota a poštu, napsanou v Pilotovi, zase odeslat. Mezi nejzajímavější patří možnost přenést data z Pilota do některého z plánovacích programů na Linuxu. Utilita read-ical přenese data z Pilotího plánovacího kalendáře a "ToDo" listu do plánovacího programu ical http://www.research.digital.com/SRC/personal/Sanjay_Ghemawat/ical/. Přenos ale zatím funguje jen jednosměrně, z Pilota do icalu. Lepší podpora je pro program plan http://www.in-berlin.de/User/bitrot/, utilita sync-plan umí využívat síťového serveru netplan a přenést záznamy z Pilota do netplanu a naopak. Uživatel tedy může zapisovat v terénu data do Pilota, sesynchronisovat s netplanem, upravovat je na Linuxu s pořádnou klávesnicí a pak změny přenést zase zpátky do Pilota.

Pilot-link je základní balík, bez kterého se snad ani nelze obejít. Existují ale i grafické programy pro synchronisaci. Práce s nimi je obvykle pomalejší, ale vypadá efektně. Mezi nejlepší asi patří program kpilot http://www.slac.com/pilone/kpilot_home/, který je součástí projektu KDE. Kromě zálohování Pilota má i vestavěné aplikace pro editaci záznamů v adresáři a poznámek. Umí také zajistit synchronisaci mezi aplikacemi v Pilotu a obdobnými aplikacemi v KDE. Existuje i projekt gnome-pilot, který by měl umět i synchronisaci přes síť využitím architektury Corba, ale jak je v Gnome (zatím) zvykem, implementace poněkud zaostává za smělými plány.

[ kpilot ]

Další podobný program je PilotManager http://www.moshpit.org/pilotmgr/. Jedná se o balík napsaný v Perlu a Tcl/Tk. Opět má grafický interface, kterým je možné Pilota zálohovat, instalovat do něj nové aplikace a umí i synchronisovat některé Pilotí aplikace s obdobnými aplikacemi na Linuxu.

Další zajímavá aplikace je http://xcopilot.cuspy.com/, což je emulátor PalmPilota pro Linux. Emulace je vynikající, program umí emulovat nejen instrukce procesoru, ale i jeho grafický výstup, takže předložíte-li mu ROM ze svého Pilota, získáte kompletního Pilota na Linuxu. Například všechny ukázky k tomuto článku byly sejmuty programem xcopilot.

Bez zajímavosti jistě není ani implementace VNC (Virtual Network Computing) pro PalmPiloty http://www.icsi.berkeley.edu/~minenko/PalmVNC/. VNC je systém, který umožňuje vzdálenou práci v grafickém prostředí. Pro Pilota existuje klient, kterým se lze graficky přihlásit k nějakému VNC serveru, třeba na Linuxu. Pravda, práce s X programy na černobílém displeji s rozlišením 160x160 bodů není ideální, ale v nouzi je to použitelné.

[ uCLinux ]

Linux na Pilotu?

Když už máme na stolním počítači Linux, se kterým Pilota synchronisujeme, proč nemít Linux i na Pilotovi http://ryeham.ee.ryerson.ca/uClinux/? Ano, i na takový počítač, jako je PalmPilot, bez klávesnice, s jednoduchým procesorem, bez jednotky správy paměti, bez pevného disku nebo disketové jednotky, jen s několika megabajty paměti, lze portovat Linux. Linus Torvalds o autorech uCLinuxu, jak se port jmenuje, v rozhovoru pro časopis Linux Journal z prosince 1998 prohlásil:

...the people who did the port of Linux to the PalmPilot must be crazy, but I enjoyed seeing that kind of thing happen.

Nejnovější verse uCLinuxu, o které jsem se dozvěděl 30 min po dopsání tohoto článku :-), umí nabootovat do shellu s přimountovaným rootovským filesystemem z ramdisku, kernel má dokonce plnohodnotnou podporu sítí TCP/IP a pokusně podporuje framebuffer na Pilotím displeji. Existují již i nějaké uživatelské aplikace, např. webový server Apache, telnet, pppd a samozřejmě shell. Po nabootování v emulátoru xcopilot se třeba můžeme podívat:

> ps aux
  PID PORT STAT SIZE SHARED %CPU COMMAND
    1      S     15K     0K 37.0 init
    2      S      7K     0K 13.0 kflushd
    4   S0 R     23K     0K  5.0 sh
    6   S0 R     18K     0K  0.0 ps
> free
     total:  used:  free: shared: buffers: cached:
Mem: 856064 466944 389120       0   286720       0
Swap:     0      0      0
> 

Autoři by dokonce chtěli vytvořit pro PalmPilota modul, který by obsahoval 1 MB flash ROM, 8 MB RAM a síťovou kartu ethernet, aby bylo možné plnohodnotně připojit Pilota do sítě. Kromě nahrazení Pilotího operačního systému volně šiřitelným (open source) Linuxem je hlavní význam portu pro vestavěné (embedded) aplikace s procesory Motorola. *


- předchozí článek - následující článek - obsah - úvodní stránka -