Premium

Získejte všechny články
jen za 89 Kč/měsíc

Nokia a Linux

V tomto článku bych vám chtěl představit program gnokii, který by se vbudoucnu mohl stát plnohodnotnou náhradou programu Nokia Cellular DataSuite ataké bych Vás chtěl seznámit s problémy, které potkávají na každém krokuvývojáře Open Source programového vybavení a zvláště takového programovéhovybavení, které musí komunikovat s hardwarem.

V tomto článku bych vám chtěl představit program gnokii, který by se v budoucnu mohl stát plnohodnotnou náhradou programu Nokia Cellular DataSuite a také bych Vás chtěl seznámit s problémy, které potkávají na každém kroku vývojáře Open Source programového vybavení a zvláště takového programového vybavení, které musí komunikovat s hardwarem, ale nepředbíhejme.

Mobilní telefony jsou již normální věcí, šetří svým majitelů čas a zároveň jim umožňují být stále v kontaktu s potřebnými lidmi. A protože jsou stále se svými majiteli, pokouší se jim i jinak zpříjemňovat a zjednodušovat jejich život - moderní telefony (jako např. Nokia 6110 a podobné) umožňují např. zaznamenávat schůzky do připraveného kalendáře, ukládat či posílat krátké zprávy (SMS) apod. A to vše z klávesnice mobilního telefonu. Někdy je ovšem takové zadávání nepraktické a v případě, že máte napsat text zprávy, která má délku kolem sta znaků dokonce i zničující (už jste to někdy zkusili?). A proto opět nastává čas počítačů. Totéž si uvědomila společnost Nokia (a některé další) a vyvinula pro své mobilní telefony programové vybavení s názvem Cellular DataSuite (CDS), které umožňuje většinu věcí spravovat i pomocí počítače a sériového nebo infračerveného připojení.

Ovšem má to jeden háček - Cellular DataSuite je k dispozici pouze pro komerčně distribuované operační systémy (Microsoft Windows). Uživatelé jiných operačních systémů (jako např. Solaris, AIX, SCO Unix, OS/2 nebo třeba Linux) prostě mají smůlu a pokud chtějí svého miláčka spojit se svým druhým miláčkem, musí jednoho z nich přebootovat do Windows (u telefonů to zatím nejde, takže to odnese počítač :-).

Jak z toho kola ven? Existuje několik možností a žádná není komplexní náhradou zmiňovaného programového vybavení. Uživatel, který potřebuje pouze datová volání a nepotřebuje editovat seznam kontaktů (tedy telefonní seznam) nebo posílat či přijímat krátké textové zprávy, si může zakoupit např. PCMCIA kartu s přívlastkem GSM ready nebo only (druhá je pouze pro GSM sítě, první můžete použít i jako obyčejný faxmodem). Naproti tomu uživatel, který potřebuje zmiňované služby, již tak velký výběr nemá. Prostě Cellular DataSuite používat musí. Ale je to opravdu nutné? Proč ještě není Cellular DataSuite pro jiné operační systémy? Napadá mne pouze jediné vysvětlení - společnost Nokia nechce podporovat jiné systémy, protože by pak měla přiliš mnoho zákazníků a měla by moc velký zisk. Nic jiného mne v tuto chvíli nenapadá. Pokud o něčem víte, napište mi.

Ale vraťme se zpět k programu gnokii. Tento program vznikl z čisté touhy neopouštět ten svůj operační systém kvůli komunikaci s mobilním telefonem a tento v něm přímo využívat. Vše začal Hugh Blemings, australský programátor a hrdý majitel telefonu Nokia 3810. Začal se zajímat o to, jakým způsobem komunikuje jeho telefon s programem CDS a své poznatky se nebál zveřejnit a veškeré programové vybavení, které původně psal pouze pro své potešení, zveřejnil ve zdrojové podobě. To mu umožnilo plně koordinovat své zkoumání i s ostatními programátory na celém světě a proto je nyní podporována drtivá většina vlastností telefonů 3810, 3110 a 8110(i). Pokud máte jeden z těchto mobilních telefonů, můžete pomocí programu gnokii (a samozřejmě originálního či podomácku vyrobeného sériového kabelu) posílat či přijímat SMS zprávy, přenášet či zaznamenávat zprávy z telefonního seznamu případné monitorovat stav telefonu (úroveň signálu, stav baterie a další). To vše bez pomoci společnosti Nokia, která ani neodpověděla na žádost Hugh Blemingse o pomoc či případnou spolupráci při vývoji.

Podobná situace nastala i při podpoře novějších telefonů (Nokia 6110 a 5110). Jejich podpora byla započata teprve před necelým měsícem, ale již dnes můžete s pomocí programu gnokii udělat spoustu zajímavých věcí. Ale než si je ukážeme, musíme si program gnokii nainstalovat. Stáhneme si jej ze serveru ftp://multivac.fatburen.org/pub/gnokii buď ve zdrojové podobě nebo již přímo zabalený ve formátu RPM vhodném pro distribuce Red Hat Linux. Instalace je velmi jednoduchá. Stačí zdrojové texty rozbalit pomocí příkazu

tar xvfz gnokii-0.2.4.tar.gz

Zdrojové texty se nám rozbalí do adresáře s názvem gnokii-0.2.4. Nyní je na čase si přečíst soubor s názvem README (ale kdo by četl dokumentaci, že). Takže zde jen stručný návod - program gnokii potřebuje vědět, jaký typ mobilního telefonu máte a na jakém sériovém portu jej máte připojen (infračervené připojení zatím není podporováno). Podle Vaší konfigurace nastavíte v souboru Makefile některé proměnné. Já mám například mobilní telefon Nokia 6110 připojený originálním kabelem na port COM1 (tedy /dev/ttyS0) a tak musím odkomentovat řádek

MODEL=-DMODEL="\"6110\""

Totéž musíte udělat, pokud máte telefon Nokia 5110. Nyní je vše připraveno pro překlad. Stačí napsat make a podle rychlosti Vašeho počítače si buď odskočit na kávu nebo něco jiného... Po překladu je finální program uložen pod názvem gnokii.

Pokud budete instalovat program gnokii pouze z RPM balíku, stačí pouhé zadání

rpm -Uvh gnokii*rpm

a měli byste mít vše připraveno. Při instalaci z RPM se nainstalují dva programy - jeden s názvem gnokii3810 a druhý s názvem gnokii6110. Význam a funkce obou je zřejmá.

Nyní tedy máme program připraven a můžeme začít zkoušet, kam až se vývojáři dostali v podpoře komunikačního protokolu (vše ukážeme na typu Nokia 6110, podpora telefonů 3810 a spol. je ale podstatně dále).

Dokumentace je poměrně strohá a tak vyzkoušíme program gnokii pouze spustit - vypíše nám podrobnější informace o své činnosti a podporované argumenty. Začneme je tedy postupně zkoušet.

Prvně se ale ujistíme, zda jsme program gnokii přeložili správně - zadáme následující příkaz a podíváme se, jestli je program gnokii opravdu přeložen s podporou pro náš mobilní telefon:


SnowWhite:~/gnokii-0.2.4$ ./gnokii --version
GNOKII Version 0.2.4 Copyright (C) Hugh Blemings 1999.
Built 01:06:10 Apr 2 1999 for 6110 on /dev/ttyS0
SnowWhite:~/gnokii-0.2.4$

Ano, je tomu tak. Ale nyní již k jednotlivým funkcím. Není jich sice mnoho, ale některé již jsou vcelku užitečné.

Vždy když zapínáme telefon (pokud to tak máme nastaveno), musíme zadat PIN. Zkusíme tedy náš připojený telefon vypnout a zapnout tak, aby čekal na zadání našeho čísla PIN a spustíme příkaz

gnokii --enterpin

Program gnokii není jasnovidec a tak se nás na PIN zeptá:

Enter your PIN:

Při zadávání na klávesnici se PIN stejně jako při zadávání na telefonu nevypisuje a tak je naše bezpečí chráněno. Pokud jsme naše čtyři číslice zadali, můžeme stisknout Enter a uvidíme, co gnokii udělá. Já jsem köd zadal dobře a tak mi můj mobilní telefon na displeji vypsal zprávu "Code Accepted!" a zaregistroval se do sítě mého GSM operátora. Po zadání chybného kódu telefon nepříjemně pípne, vypíše zprávu "Code error!" a opět čeká na nové zadání PINu. Gnokii přitom vypíše:


Message: PIN:
Code Error
You're not my big owner :-)

Vývojáři jsou opravdu veselé kopy... Ale nezkoušejte to více než dvakrát, nemuseli byste potom najít svůj bezpečnostní kód...

Nyní tedy máme zadaný PIN a chceme zjistit, do jaké že to sítě jsme vlastně zaregistrováni, jaké je zde pokrytí a další informace. Ke zjištění těchto informací slouží tzv. monitorovací mód:


./gnokii --monitor
...
Message: Mobile phone identification received:
Serial No. NOKIA4905261xxxxxxxx
NSE-3
0501505
4200
Firmware: 4.73
Magic byte1: 8e
Magic byte2: 12
Magic byte3: 82
Magic byte4: 86

Jak vidíme, program gnokii nám vypíše velice zajímavé informace - kromě našeho sériového čísla i typ telefonu a číslo firmware (ano, nechám si jej už upgradovat ;-). Magické byty jsou velká můra vývojářů, protože netuší, jak se zjišťují resp. neznají jejich přesný význam.

Ale to není vše. V těsném závěsu nám gnokii zahlásí aktuální stav hodin, data a budíku:

Message: Clock
Time: 01:14:51
Date: 1999/04/02
[Sending Ack of type 11, seq: 3]
Message: Alarm
Alarm: 08:30
Alarm is off

Pokud to ovšem Váš telefon nepodporuje (jako např. 5110 a datum), můžete obdržet přinejmenším zmatené výsledky (např. datum 1991/10/31 apod.)

Za datem a časem ihned následuje zpráva o registraci v síti operátora:

Message: Phone status received:
Mode: registered within the network
Power source: battery
Battery Level: 3
Signal strength: 4

Pro testování jsem použil kartu sítě Paegas, protože její BTSka je "co by kamenem dohodil" (ostatně je to i vidět na maximálním pokrytí). Telefon je v tuto chvíli opravdu napájen baterií a opravdu na indikátoru svítí pouze tři proužky. Skvělé.

Význam následující zprávy snad ani není třeba komentovat - programátoři implementovali funkci, která umožňuje zjistit primární SMS centrum a jeho číslo:
Message: SMS Center received:
1. SMS Center name is Paegas SMS
1. SMS Center number is +420603052000

A to je ze zatím uvolněné verze vše. Ale co bychom to byli za zpravodajství, kdybychom nepřinesli něco ze zákulisí - na autorově disku již leží i verze, která má následující vylepšení.

Message: Network registration:
CellID: 0c15
LAC: 6046
Network: 230-01

Dokáže nám sdělit, do které sítě (230-01 je první operátor v zemi s kódem 230, což je Radiomobil v ČR) jsme přihlášeni.

Message: Keyboard lock
Keyboard is locked

Dokáže nám sdělit, že jsme zamknuli případně odemknuli klávesnici nebo že se nám někdo pokouší dovolat:

Message: Incoming call alert:
Number: +420546xxxxxx
Name: Domov

(Zkoušel jsem volat z normální pevné linky na mobil). Dokáže nás také informovat o příchozí SMS zprávě (v brzké době snad i o jejím obsahu, jenom to napsat :-):

Message: SMS Message Received
Remote number: +420603052000
Date: 99-04-02 01:36:41

Právě jsem dostal SMSku.
Message: SMS Status Received
The number of messages: 1
Unread messages: 1

Opravdu a je jediná, zkusím si ji přečíst:

Message: SMS Status Received
The number of messages: 1
Unread messages: 0

A smazat:

Message: SMS Status Received
The number of messages: 0
Unread messages: 0

A už tam žádná není... Jak jednoduché.

V příštích verzích by se měla objevit plná podpora pro SMS zprávy a telefonní seznam, následovat bude také podpora kalendáře.

Jak vidíte, mají to vývojáři těžké, nemají k dispozici specifikaci komunikačního protokolu mezi CDS a mobilním telefonem, ale i přesto se jim daří komunikovat. Pojďme jim pomoci a vyzkoušejme své miláčky i s programem gnokii.

  • Nejčtenější

Neomezená data dává O2 ještě levněji než dříve. S odměnou jsou za hubičku

15. dubna 2024  7:02

Základní datově neomezený tarif za cenu nižší, než standardně stojí tarif s 12 GB dat? U O2 na...

Doma si natáhnete neviditelné kabely k internetu. Huawei ukázal inovace

17. dubna 2024

Huawei na každoroční roadshow ukázal v Praze své inovace pro letošní rok. Vedle průmyslových...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

K mobilu teď dostanete televizi zdarma a levnější jsou také iPhony

16. dubna 2024,  aktualizováno  10:12

Výrobci mobilních telefonů se už zase začínají předhánět ve výhodných nabídkách. Přímé slevy jsou...

Apple ukázal, že přejít na iPhone 15 Pro z předchůdce nemá smysl

11. dubna 2024

Apple na svém webu zveřejnil nástroj pro snadné srovnání vybraných modelů iPhonu. Uživatelé...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Čínský smartphonový standard dorazil do Česka. Není co vytknout, ani cenu

17. dubna 2024  7:02

Motorola představila hned tři modely z top řady Edge. První se začne prodávat model Edge 50 Pro,...

Pošlete sportovní fotku a vyhrajte smartphone nebo dres Patrika Schicka

8. dubna 2024,  aktualizováno  18.4 13:04

Zachyťte na fotografii sportovní moment a vyhrajte úplnou novinku, smartphone vivo V40 SE s bohatou...

Tento podnik budou milovníci vína zbožňovat. Musí se ovšem vzdát mobilu

18. dubna 2024  12:33

Se zajímavým způsobem, jak strávníky přimět ke vzájemné komunikaci, přišel majitel restaurace v...

Ultra smartphone i odlehčená novinka. Motorola zahustila nabídku

18. dubna 2024

Společně s modelem Pro se na český trh chystají ještě další dvě novinky od Motoroly. Jednou je...

Čínský smartphonový standard dorazil do Česka. Není co vytknout, ani cenu

17. dubna 2024  7:02

Motorola představila hned tři modely z top řady Edge. První se začne prodávat model Edge 50 Pro,...

eMimino soutěží: Vyhrajte balíček v hodnotě 1 000 Kč z dm drogerie
eMimino soutěží: Vyhrajte balíček v hodnotě 1 000 Kč z dm drogerie

Milovníci kosmetiky pozor! Tento týden soutěžíme o pět velkých balíčků v celkové hodnotě 5000 Kč. Zapojte se do soutěže a vyhrajte lákavý balíček...

Náhle zemřel zpěvák Maxim Turbulenc Daniel Vali, bylo mu 53 let

Ve věku 53 let zemřel zpěvák skupiny Maxim Turbulenc Daniel Vali. Letos by se svou kapelou oslavil 30 let na scéně....

Charlotte spí na Hlaváku mezi feťáky, dluží spoustě lidí, říká matka Štikové

Charlotte Štiková (27) před rokem oznámila, že zhubla šedesát kilo. Na aktuálních fotkách, které sdílela na Instagramu...

Vykrojené trikoty budí emoce. Olympijská kolekce Nike je prý sexistická

Velkou kritiku vyvolala kolekce, kterou pro olympijský tým amerických atletek navrhla značka Nike. Pozornost vzbudily...

Rohlík pro dítě, nákup do kočárku. Co v obchodě projde a kdy už hrozí právník?

V obchodech platí pravidla, která občas zákazník nedodržuje. Někdy se navoní parfémem, aniž by použil tester, nebo...

Ve StarDance zatančí Vondráčková, Paulová, hvězda Kukaček i mistryně světa

Tuzemská verze celosvětově mimořádně úspěšné soutěže StarDance britské veřejnoprávní televizní společnosti BBC se už na...