přejít na obsah přejít na navigaci

Linux E X P R E S, Mobilní telefony v Linuxu

Mobilní telefony v Linuxu

Přestože výrobci mobilních telefonů neposkytují žádnou podporu pro Linux, většinu běžných mobilních telefonů v něm lze bez problémů připojit k počítači. Anna Bernáthová .


K dispozici je velký výběr programů které umožňují správu telefonu i připojení k internetu přes GPRS, různé modely jsou ale různě podporovány. Obecně přitom platí, že čím rozšířenější telefon je, tím spíš bude fungovat bez problémů – nejlépe podporovány jsou nejrozšířenější značky jako Nokia, Siemens nebo SonyEricsson. Mnoha dalších telefonů ale funguje díky tomu, že používají kompatibilní AT příkazy – příkladem může být např. mnoho modelů značky Alcatel. Pro připojení mobilního telefonu k počítači můžeme použít různé technologie, nejběžnější a nejpohodlnější způsoby jsou připojení přes IrDA, bluetooth nebo USB kabel.

Nefunguje vám připojení telefonu k počítači přes USB kabel? Často může pomoci vyzkoušet hardware jiného výrobce – mimo jiné bylo pozorováno, že zatímco s originálním kabelem od Nokie se spojení často nedaří, neznačkový model kabelu z bazaru odvede lepší práci. Pokud máte možnost, rozhodně se vyplatí kabel před nákupem vyzkoušet.

Bluetooth

Protože bluetooth bývá v počítačích integrován jen málokdy, budeme pravděpodobně potřebovat bluetooth adaptér. Nejdostupnější a nejčastěji používané jsou USB adaptéry, dobře otestované a funkční u nás nabízí například firma MSI. Většina z nich potřebuje ke své funkčnosti modul hci_usb. K dalšímu nastavení potom použijeme balíčky bluez (pokud naše distribuce nabízí GUI pro konfiguraci bluetooth zařízení jako např. SUSE nebo Mandriva, můžeme ho použít, pravděpodobně bude na bluez založeno). Po instalaci bluez vytvoří spouštěcí skript, v závislosti na distribuci tedy můžeme bluetooth rozhraní aktivovat např. příkazem /etc/init.d/bluetooth start. Pokud služba běží a vše proběhlo v pořádku, vypíše nám příkaz hciconfig seznam dostupných zařízení a jejich MAC adresu.

Obrázek: 2.jpg

Nyní se můžeme rozhlédnout kolem sebe příkazem hcitool scan. Pokud máme v okolí telefony s puštěným a viditelným bluetoothem, po chvíli se nám objeví výpis s jejich jmény a MAC adresami. Já jsem svůj telefon pojmenovala Anicka, a proto jsem jej našla ve výpisu. Se zařízením na druhé straně nyní můžeme provádět mnoho různých věcí, nejprve bychom si ale měli nastavit v souboru /etc/bluetooth/pin nějaký PIN. Tento PIN potom bude telefon vyžadovat při připojení, pokud na něm autorizaci pro konkrétní zařízení. Dosažitelnost mobilního zařízení ověříme programem l2ping 00:02:5B:00:xx:xx, seznam dalších možností, které telefon nabízí, nám prozradí příkaz sdptool browse. Za povšimnutí stojí zejména OBEX File Transfer, kterému se budeme věnovat později.

Pokud máte v úmyslu zakoupit nový telefon a zajímá vás, jak bude spolupracovat s Linuxem, vyplatí se zkonzultovat databázi telefonů na internetu. Vlastníte-li nepodporovaný telefon, stále nemusíte věšet hlavu. Autoři Gammu jsou ochotní implementovat podporu pro jakýkoliv další telefon, často to ani nedá příliš mnoho práce. Rozhodně se vyplatí je kontaktovat.

Obrázek: 3.jpg

Pokud chceme používat telefon pro připojení k internetu přes GPRS, můžeme si vytvořit zařízení /dev/rfcomm0. Použijeme k tomu příkaz rfcomm connect rfcomm0 00:02:5B:00:xx:xx 1, adresu získáme pomocí hcitool scan, číslo na konci je číslem kanálu pro sériová spojení. Obvykle to bývá kanál 1 (dial-up nebo serial), občas ale také např. 2 nebo 5. Zjistit to můžeme pomocí sdptool browse. Pokud se zařízení /dev/rfcomm0 nepodařilo vytvořit, můžeme to zkusit udělat ručně příkazem mknod /dev/rfcomm0 c 216 0.

IrDA

Podobně jako u bluetooth, ani IrDA port není běžným vybavením domácího počítače. Nabídka zařízení, která můžeme použít, je poměrně rozmanitá - kromě nejběžnějších a nejlevnějších USB adaptérů lze koupit také port připojitelný k IrDA sběrnici na základní desce. Jako u většiny dalšího hardwaru, i tady platí, že čím bude zařízení na trhu déle a bude lépe vyzkoušené, tím spíš bude bez problémů fungovat.

Pokud používáme distribuční jádro, pravděpodobně bude obsahovat všechny potřebné moduly. Veškeré další nástroje, které budeme potřebovat pro práci s portem IrDA, potom najdeme v balíčku irda-utils. Pokud používáme IrDA port na sériovém portu, musíme zavést modul irtty_sir, zadat příkaz irattach /dev/tty0 -s, který vytvoří zařízení /dev/ircomm0 provázané s tímto sériovým portem a položit telefon k IrDA portu. Jestliže se nám spojení podařilo, najdeme v souboru /proc/net/irda/discovery informace o mobilním zařízení na druhé straně, např:

IrLMP: Discovery log:
nickname: Nokia 6230i, hint: 0xb125, \\
saddr: 0x9f6b61a1, daddr: 0x000097fd

S USB adaptéry je méně práce, stačí jen zavést potřebný modul (obvykle irda-usb). Nevýhodou těchto zařízení je, že jejich funkčnost v Linuxu obvykle nezjistíme, dokud je nevyzkoušíme. Například můj USB IrDA adaptér funguje s alpha verzí modulu mcs7780, a to můžu hovořit o štěstí.

Jedním z nejsilnějších nástrojů pro synchronizaci je program jménem MultiSync, dostupný na webových stránkách multisync.sf.net. Podporuje některé telefony značek Nokia, Siemens a SonyEricsson, kromě toho umožňuje synchronizaci s Novell Evolution, OpenLDAP, MS Active Directory a spoustou dalších programů i zařízení. MultiSync je modulární program v rané fázi vývoje, mnoho pluginů je zatím dostupných jen přes CVS.

USB kabel

Připojení telefonu přes USB kabel je poměrně problematické – každý výrobek se chová jinak, liší se přitom i kabely různých dodavatelů pro stejné modely. Některé telefony se přitom chovají různě podle toho, jestli je na nich aktivován přenos dat, nebo ne – v prvním případě se chovají jako USB mass storage zařízení, v druhém vytvoří zařízení /dev/ttyACM0, /dev/ttyUSB0 nebo něco podobného, které se chová jako sériový port. V případě, že se nám po připojení kabelu moduly nezavedou a zařízení nevytvoří, můžeme zařízení prozkoumat pomocí příkazu lsusb a podle výsledku pátrání vyzkoušet zavést např. moduly usbserial nebo cdc_acm. Výsledek je ale nejistý.

Jak na data

Pro odesílání a přijímání souborů z telefonu poslouží OpenOBEX, což je svobodná implementace standardu OBEX umožňující přenášet soubory přes bluetooth i IrDA. Jsme-li příznivci příkazové řádky, poslouží nám příkaz obexftp. Pro připojení přes infraport slouží volba -i, pro připojení přes bluetooth volba -b macadresa. Chceme-li odeslat na telefon soubor tucnak.png, použijeme příkaz obexftp -i -p tucnak.png. Zajímá-li nás obsah adresáře Grafika, napíšeme obexftp -i -l Grafika. Pro stažení souboru použijeme volbu -g, napříkladobexftp -i Grafika/Klipart/Travel.jpg.

Uživatelé KDE mohou směle sáhnout po programu KMobileTools. Jak je u podobných programů zvykem, číslo verze ještě nepřekročilo jedničku. Program přesto spolupracuje s obdivuhodným množstvím telefonům (nejvíce potěšeni budou majitelé mnohých modelů od Motoroly) a jeho uživatelské rozhraní vypadá velmi pěkně a intuitivně.

Pro práci se soubory na telefonu existují i různá zajímavá GUI, například GNOME Bluetooth nebo OBEXTool. Práce s nimi se neliší od práce s běžným souborovým manažerem.

Dva nejrozšířenější programy používané na Linuxu pro práci s mobilními telefony se jmenují Gnokii a Gammu. Oba dva jsou určené pro terminál a ve funkčnosti se funkčně částečně překrývají. Kromě běžné práce se soubory zvládají vytáčet telefonní čísla, odesílat SMS, zálohovat a synchronizovat telefonní seznam či SMS. Různé modely telefonů jsou přitom podporovány různě, s telefony nejrozšířenějších značek ale obvykle zvládají většinu běžných úkonů. Oba tyto programy se staly základy velkého množství grafických aplikací, pro Gnokii existuje grafické rozhraní Gnocky, pro Gammu zase Wammu. Knihovny z Gnokii využívají mimo jiné i některé programy pro KDE, například KDE PIM nebo KnokiiSync. Postupně se na ně podíváme.

Obrázek: 4.jpg

Gnokii

Již podle názvu je zřejmé, že hlavním cílem autorů tohoto programu byla podpora mobilních telefonů značky Nokia. Ta je sice jejich hlavním zájmem stále, program ale funguje i s některými dalšími telefony schopnými komunikovat pomocí AT příkazů, například s mnohými telefony značky Siemens. Seznam podporovaných telefonů otestovaných vývojáři je k dispozici v manuálové stránce (man gnokii), alespoň částečně jich ale pravděpodobně bude fungovat mnohem víc.

Balíček gnokii je dnes k dispozici téměř v každé distribuci. Po instalaci je třeba editovat konfigurační soubor /etc/gnokiirc (příklady a komentáře najdeme přímo tam), případně soubor .gnokiirc v domácím adresáři. Je nutné nastavit zejména parametry port, connection a model. Pokud máme Nokii, zadáme do řádku za model číslo našeho telefonu, pro pokusy s jiným telefonem napíšeme AT. Vlastníme-li Nokii se Symbianem, zadáme do konfiguračního souboru model=series60. Do řádku connection lze zadat hodnoty irda pro připojení přes infračervený port, infraport pro spojení s některými telefony nekompatibilními se standardem IrDa a nebo serial pro jakékoliv další spojení (pokud používáme jiný telefon než podporovanou Nokii, možná nám bude lépe fungovat volba connection=serial i při připojení přes infračervený port). Máme ještě další možnost - používáme-li novější verzi gnokii a bluetooth, můžeme za port= uvést přímo MAC adresu telefonu (zjistíme ji pomocí hcitool scan) a potom connection=bluetooth. Pokud se konfigurace podařila, vypíše příkaz gnokii --identify jméno telefonu a několik dalších údajů, v opačném případě prozradí, proč komunikace s telefonem selhala.

Nyní se můžeme pustit do práce. Věrným průvodcem nám bude manuálová stránka programu, v které najdeme seznam všech voleb a popis, co znamenají. Většinou se samy vysvětlují, kupříkladu příkaz gnokii --sendsms +420xxxxxxxxx nám odešle na zadané číslo SMS, její text si přitom vezme ze standardního vstupu. Příkaz gnokii --getsms ME 5 10 zkopíruje pátou až desátou zprávu z paměti mobilního telefonu, gnokii--dialvoice +420xxxxxxxxx vytočí telefonní číslo, a tak můžeme pokračovat.

Obrázek: 5.jpg

Pokud nemáme rádi konzoli, můžeme vyzkoušet některé GUI pro gnokii. Společně se podíváme na xgnokii, které používá stejný konfigurační soubor jako gnokii, pro práci se SMS, kalendářem a seznamem kontaktů. Toto GUI sice není zrovna pastvou pro oči, ale reaguje svižně a bez problémů.

Obrázek: 1.jpg

S kontakty ve formátu vCard, který používají téměř všechny mobilní telefony, dovede pracovat většina z nejrozšířenějších e-mailových klientů používaných na Linuxu. Export i import kontaktů zvládá Novell Evolution i Kontact, bohužel se ale zdá, že neexistuje žádné funkční rozšíření pro Thunderbird.

Gammu

Způsob používání Gammu se dost podobá Gnokii a rozhodně nejde o náhodu. Gammu kdysi vzniklo jako větev Gnokii (bylo známé pod názvem MyGnokii), od té doby bylo ale kompletně přepsáno. Podporuje velké množství telefonů a nabízí mnoho funkcí, v jejich záplavě se lze snadno ztratit. Seznam podporovaných telefonů je k dispozici na stránkách projektu (www.gammu.net), kromě jiných jde o mnoho modelů značek Acatel, Nokia, SonyEricsson nebo Siemens. Vývojáři mají v plánu podporovat i telefony Samsung (jejich používání je dnes na Linuxu velmi problematické, některé modely ale s Gammu fungují), bohužel zatím nemají k dispozici hardware.

Přestože existuje velké množství hardwaru, který umožňuje spojení počítače s mobilním telefonem, zdaleka ne všechno funguje ve spolupráci s Linuxem bez problémů. Funkčností jednotlivých značek a modelů těchto zařízení se zabývá webová stránka tuxmobil.org, kterou se vyplatí konzultovat nejen při nákupu IrDA či bluetooth adaptérů, ale i notebooků, které mají tento hardware integrovaný.

Konfigurační soubor pro Gammu se jmenuje ~/.gammurc a vypadá velice podobně, jako výše zmíněné /etc/gnokiirc. V adresáři s dokumentací (např. na SUSE Linuxu ho najdete v /usr/share/doc/packages/gammu/) v adresáři examples/config se můžeme podívat okomentovaný příklad toho, jak by měl takový soubor vypadat. Na rozdíl od gnokii může překvapit ohromné množství různých hodnot, které lze zadávat k parametru connection. U některých telefonů je třeba vyzkoušet několik různých možností, než začne vše fungovat tak, jak má. Čas může ušetřit vyhledání našeho modelu v databázi mobilních telefonů na webových stránkách http://www.cihar.com/gammu/ phonedb, kde jsou tyto údaje o různých modelech uvedené. Ukázku typické konfigurace při připojení přes bluetooth jsem dala do rámečku.

[gammu]
device=00:01:e3:11:xx:xx
connection=blueat
synctime=no
lockdevice=yes
startinfo=yes

Funkčnost konfigurace otestujeme příkazem gammu --identify. Potom se již můžeme ponořit do hlubin nejrůznějších voleb, které Gammu poskytuje. Na rozdíl od gnokii umí Gammu posílat MMS, vizitky, zvuky, animace či obrázky a využívá pokročilejších vlastností mnohých telefonů.

Obrázek: 6.jpg

I Gammu má vlastní grafické uživatelské rozhraní, jmenuje se Wammu a je napsané v Pythonu. Jeho konfigurační soubor najdeme v ~/.Wammu, ale o téměř veškeré nastavení se postará sám, takže není nutné do něj zasahovat. Při spuštění automaticky prohledá všechny dostupné porty (kromě /dev/rfcomm0, při připojení přes bluetooth musíme toto zařízení zadat ručně), toto prohledávání se ale během našeho testování zasekávalo, takže bylo výhodnější zadat zařízení ručně. Samotné GUI vypadá mnohem lépe než xgnokii, trpí ale dětskými nemocemi - komunikace s telefonem není stabilní ani při připojení přes infraport, program čas od času spadne, nepohodlí způsobuje také nefunkčnost kolečka u myši. Na ovládání samotné je potřeba si zvyknout, například, pokud chcete někomu zatelefonovat, musíte napřed zvolit adresáta, kterého zároveň musíte mít v seznamu kontaktů. To není příliš intuitivní.

Obrázek: 7.jpg

Používání gnokii a xgnokii se subjektivně jeví být mnohem příjemnější a pohodlnější, gammu a Wammu ale zase podporují mnohem víc telefonů a nabízejí více funkcí. Nejlepší je tedy mít nainstalované obě aplikace a využívat je podle momentální potřeby.

Pod náporem všudypřítomné inzerce nabízející drahé vyzváněcí tóny se to sice nezdá, ale na internetu lze najít velké množství melodií s licencí GNU GPL. S konverzí mezi jednotlivými formáty vám potom pomůže nástroj Ringtone Tools dostupný na webových stránkách ringtonetools.mikekohn.net.

Vyzkoušeli jsme…

Pro testování jsme zvolili několik běžných telefonů, jejichž použití by nemělo činit větší problémy. Nenarazili jsme ani s modelem celkem novým (Nokia 6230i), ani s modelem starším (Nokia 6210), zkoušeli jsme s telefony provádět běžné úkoly a programy až na drobné výjimky reagovaly tak, jak měly. Podívejme se na podrobnosti:

Obrázek: 9.jpg

Největší část testování jsme věnovali programům gnokii a xgnokii (ve verzi 0.6.4). Podíváme se, jak nastavit jednotlivé modely telefonů a které funkce jsou podporovány. U Nokií si můžeme vybrat, jestli budeme používat konfiguraci model=6210 apod., nebo model=AT, přičemž dosáhneme různé funkčnosti. Některé telefony jsme zkoušeli připojit různými způsoby, ukážeme si konfigurační soubory pro každý z nich. Dále nás bude zajímat odesílání a přijímání SMS, vytáčení hlasových hovorů, práce s kalendářem a seznamem kontaktů. Hned na úvod podotkneme, že spouštíme-li gnokii s parametrem model=AT, mohou se nám zobrazit ve staženém seznamu kontaktů nějaké položky navíc, což působí poněkud rušivě.

Siemens S55 (Gammu):
Funkce          Podpora
Kalendář        ne
Kontakty        ano
SMS - získávání ano
SMS – odesílání ano
Vytáčení        ano
Konfigurace:
[irda]
port = /dev/ircomm0
model = AT
connection = serial
[bt]
port = xx:xx:xx:xx:xx:xx
model = AT
connection = bluetooth
Nokia 6230i (Gammu):
Funkce          Podpora
Kalendář        ano
Kontakty        ano
SMS – získávání ano
SMS – odesílání ano
Vytáčení        ano

Poznámka

Nokia 6230i je poměrně nový telefon, plné funkčnosti proto zatím dosáhneme pouze připojením přes bluetooth. Připojení přes USB kabel i IrDA neumožní práci s kalendářem.

Konfigurace:
[irda]
port = /dev/ircomm0
model = AT
connection = irda,serial
[bt]
port = xx:xx:xx:xx:xx:xx
model = 6230,AT
connection = bluetooth
[usb]
[usbserial]
port = /dev/ttyUSB0
model = AT
connection = serial
[cdc_acm]
port = /dev/ttyACM0
model = AT
connection = serial
Nokia 6210 (Gammu):
Funkce          Podpora
Kalendář        ano
Kontakty        ano
SMS – získávání ano
SMS – odesílání ano
Vytáčení        ano

Poznámka

Telefon lze připojit i s parametrem model = AT, zkoušet to je ale zcela zbytečné. Nezobrazí se pak totiž všechny SMS složky, nelze pracovat s kalendářem a v kontakt listu jsou všechny záznamy zdvojené.

Konfigurace:
[irda]
port = /dev/ircomm0
model = 6210
connection = irda
Siemens S55 (Wammu):
Funkce          Podpora
Kalendář        ano
Kontakty        Ano*
SMS – získávání ano
SMS – odesílání ne
Vytáčení        ano
* Ale načítání trvá velmi dlouho a záznamy se zobrazují
ztrojeně.

Poznámka

Pokud je telefon připojen, program přibližně každých pět sekund na sekundu zatuhne.

Konfigurace:
[irda]
device = /dev/ircomm0
model = at
connection = at115200
[bt]
device = xx:xx:xx:xx:xx:xx
model = auto
connection = blueat

Obrázek: 8.jpg

Nokia 6230i (Wammu):
Funkce          Podpora
Kalendář        ne
Kontakty        ano
SMS – získávání ano
SMS – odesílání ano
Vytáčení        ano
Konfigurace:
[irda]
device = /dev/ircomm0
model = at
connection = irdaphonet
[bt]
port = xx:xx:xx:xx:xx:xx
model = auto
connection = bluephonet
[usb]
port = /dev/ttyACM0
#můžeme použít i /dev/ttyUSB0
model = AT
connection = at115200
Nokia 6210 (Wammu):
Funkce          Podpora
Kalendář        ne
Kontakty        ano
SMS – získávání ano
SMS – odesílání ano
Vytáčení        ano
Konfigurace:
[irda]
device = /dev/ircomm0
model = auto
connection = irdaphonet

Závěr

Práce s běžnějšími modely mobilních telefonů na Linuxu není nic, čeho by se bylo třeba obávat. Pokud nepoužíváme pro spojení s telefonem příliš exotický hardware, udělají moderní distribuce většinu práce za nás, ruční konfigurace také nečiní větších problémů. Nástroje, které jsou na Linuxu dostupné, se funkčností mohou měřit s komerčními programy známými z jiných operačních systémů, přestože jejich vývojáři nemají k dispozici téměř žádnou dokumentaci. K jejich používání je sice třeba se tu a tam pustit do nějaké ruční konfigurace, při běžném používání se ale lze spolehnout na pohodlné GUI.

Obrázek: 10.jpg

Samotné spojení přes IrDA i bluetooth se chovalo velice stabilně se všemi testovanými modely telefonů, a to i přesto, že jsme používali vývojovou verzi ovladače pro USB IrDA adaptér, který se v lsusb hlásil jako Noname a se standardním ovladačem nefungoval.

Nahoru

Odkazy

Příspěvky

nastaveni pin
1. 05. 2006, 22:45:06
Odpovědět  Odkaz 
Jsem totalni newbie, a nejak se mi ani pres vi, ani pres editor v MC nepodarilo nastavit PIN pro sparovani s BT devicem. Jaky je pro to postup?
Diky za info..
JJ
Stanislav Vasko Re: nastaveni pin
Stanislav Vasko 2. 05. 2006, 19:16:50
Odpovědět  Odkaz 
Ahoj,

pokud ti to nebezi, chce to vice informaci, ne jen takovy vykrik, minimalne presne bod ktery zlobi, nebo prepis erroru co dostavas.

Jiste ale je, ze editor nema vliv na to, co kam pises a chyba napsana v kazdem editoru je stale chybou.

Mej se a preju hodne elanu, Standa
Re:nastaveni pin
Anna Taliánová 11. 01. 2009, 01:43:11
Odpovědět  Odkaz 
Sice nepíšeš jakou máš distribuci, ale platí, že jako root zedituješ soubor s názvem pin v adresáři /etc/bluetooth/ a soubor jako root uložíš.

Syntaxe příkazu pro terminál je tato:

název používaného textového editoru /etc/bluetooth/pin

- Například tedy: vi /etc/bluetooth/pin
- V Ubuntu je to terminálový příkaz: sudo gedit /etc/bluetooth/pin
MultiSync nechce mluvit s telefonem
Marek 19. 06. 2007, 11:44:47
Odpovědět  Odkaz 
Potřeboval bych poradit s MultiSyncem. Mám Suse 10.1 a chtěl jsem synchronizovat Evolution s 6230i přes bluetooth. Wammu mi s telefonem komunikuje úplně v pohodě, ale MultiSync ani ťuk. Sice ho najde, ale už se k němu nepřipojí. Můžete mi poradit. Díky
Mobilní telefony v Linuxu
Vivan 25. 03. 2010, 21:14:34
Odpovědět  Odkaz 
Sony Ericsson W205 internet o2, ako ho dostať cez USB do PC? Debian(distroKanotix).
Dá sa to vôbec?

wvdial
--> WvDial: Internet dialer version 1.54.0
--> Initializing modem.
--> Sending: ATZ
--> Sending: ATQ0
--> Re-Sending: ATZ
--> Modem not responding.

wvdial.conf som odkopiroval z navodu podľa ktoreho to ma fungovať.
------
Pokus s KPPP:
modem ttyS0
Query Modem
Modem Ready
Nasleduje vypisanie AT1 AT2 až AT7 v tej priebehovej lište
a potom sa objavi tabulka tych AT ale okienka sú prázdne.
Mobilní telefony v Linuxu
M 26. 12. 2015, 12:51:56
Odpovědět  Odkaz 
Propojení Ubuntu a Nokia Lumia 820

Přes kabel ani náhodou :-D Přes Bluetooth úplně v pohodě. Stačí vyhledat v počítači Bluetooth, spárovat a pak už posílat :-)

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz