Pořídil
jsem si nový telefon Siemens M65, který v sobě má
integrovaný fotoaparát s kamerou, tak by bylo škoda
to nevyužít. Když jsem byl u Siemensu kupovat USB kabel, tak
jsem se ptal, jestli nemají zkušenosti, jak tento
telefon komunikuje s Linuxem.
7.6.2005 06:00 | Jiří Simon | czytane 18161×
KOMENTARZE
Bylo mi odpovězeno, že s Linuxem mi to
fungovat nebude. Ale i přesto jsem to zkusil a ejhle, ono to funguje
a to mnohem lépe než ve Windows XP. Po prvním připojení
k Linuxu jsem se až divil, co mi to vše vypsalo. Jedna z
informací byla, že se telefon připojil jako zařízeni
/dev/ttyUSB0. Což bylo příjemné a dá se říct,
že i velice pozitivní, proti tomu co mi řekli u prodejce.
Další věcí bylo najít správný
program pro komunikaci. Vybral jsem si scmxx
Scmxx
je konzolový program, jehož domovská stránka je
http://www.hendrik-sattler.de/scmxx/
a aktuální verze 0.7.5.
Tento
program byl napsán pro Siemens S35i, ale dnes už podporuje
snad všechny typy mobilních telefonů značky Siemens.
Jeho základní funkce zahrnují detekování
připojeného telefonu, psaní a čtení SMS zpráv,
archivace telefonních seznamů a manipulace s multimediálními
soubory, jako jsou loga a melodie.
Základnímy parametry jsou --device, --baud, --out, --info, --mem-info,
--lock-info, --toggle-lock,--mem, --slot, --pbook, --sms, --binary.
--device (-d) je zařízení, na kterém se telefon
nachází, standardně je nastaveno /dev/ttyS0.
Pokud se váš telefon nachází jinde, jako
třeba ten můj, na /dev/ttyUSB0 stačí zadat scmxx
--device=/dev/USB0
. Aby se tato hodnota nemusela stále
zadávat do konzole, můžeme si tento parametr uložit ve svém
HOME co ./.scmxx/config
(který si musíme vytvořit) a do
něj přidáme řádek device = /dev/ttyUSBO
.
--baud (-b) je parametr, který určuje rychlost připojeného
zařízení(9600, 19200, 38400, 57600 a nebo 115200. Opět
si můžete toto nastavení uložit do souboru config ve tvaru
baud = rychlost.
--out(-o)
určuje, kam bude směrován výstup. Pro vypsání
dat na standardní výstup je to --out=-
jinak
přesměrování do souborů je --out=/soubor
.
--info
vypíše všechny informace o telefonu, jako jsou
výrobce, model, IMEI, stav baterie. Dále vypíše
informace o SIM kartě a o operátorovi, který je
používán, sílu signálu, jméno
operátora, telefonní číslo, třída GPRS a
další. Na konci seznamu je výčet pamětových
míst a zámků v telefonu.
--mem-info
vypíše podrobněji obsazení paměťových míst vašeho
telefonu, například takto nebo takto.
--lock-info
zobrazí aktuální nastavení některých funkcí
jako je zamknutí klávesnice, zda je ativován PIN
a další.
--toggle-lock
tento parametr může změnit stav zámků v telefonu, na
některé je však potřeba zadat PIN, který předáme
parametrem --pin=pin kód
--set-time
nastaví datum a čas podle aktuálního stavu v systému.
Nelze mu zadat žádnou hodnotu, takže je ideální
si nejprve srovnat přes nějaké ntp čas systému a potom
v telefonu.
--pbook (-P)
přepne se do módu pro práci s telefonními seznamy.
--sms (-S) přepne se do módu pro práci se SMS.
--binary (-N) přepne se do módu pro práci s binárními soubory
(bmp, mid, jpg,..).
--mem upřesňuje paměťové místo ve vybraném módu.
--slot
vybere přímo požadovaný záznam v paměti, používá
se většinou s --mem
, jako hodnotu mu buď předáte
číslo slotu, nebo některé ze speciálních
stringů "all", "read", "unread", "sent"
a "unsent" pro SMS zprávy nebo "all" a
"last". Bohužel tyto stringy se nadají kombinovat,
musí se zadávat vždy jenom jeden. Některé z
těchto slov nelze použít s --send
.
Základní příklady
informace o telefonu:
scmxx --device=/dev/ttyUSB0 --info
scmxx --device=/dev/ttyS0 --baud=57600 --info
pokud jste si však vytvořili soubor config stačí:
scmxx --info
Výpis paměťových míst:
scmxx --mem-info
Výpis zámků:
scmxx --lock-info
Zamkne nebo odemkne klávesnici:
scmxx --toggle-lock=CS
Zapne nebo vypne ochranu kodem PIN SIM karty:
scmxx --toggle-lock=SC --pin=XXXX
Nastavení času v telefonu ze systému
scmxx --set-time
Tak a teď se můžeme pustit do ovládání sms zpráv, telefonního seznamu atd.
Práce s telefonnímy seznamy:
Telefonních seznamů je v telefonu několik. Základní je seznam telefonních
čísel na SIM kartě, dále pak adresář a seznamy
volaných, zmeškaných nebo přijatých čísel
a ještě mnohé další. Seznam čísel
na SIM kartě je v telefonu označen SM, adresář VCF, tyto
informace zjistíte --mem-info
pokud je budete chtít
vypsat na obrazovku nebo do souboru stačí zadat:
scmxx --get --pbook --mem=SM(VCF,RC,MC,...)--out=jmeno_souboru #(nebo jenom -- )
Kdybyste chtěli vypsat jenom určitý řádek tak se přidá parametr
--slot=číslo
. Pokud byste chtěli přidat záznam, tak stačí:
scmxx --send --pbook --mem=SM --number="123456987" --text="text záznamu"
a tento záznam se uloží na první volné místo v seznamu.
Pokud byste chtěli nějaký záznam změnit, tak si zjistíte jeho číslo a potom:
scmxx --send --pbook --mem=SM --slot=číslo_záznamu --number="123456987" --text="text záznamu".
Obsluha SMS zpráv:
Posílání nové zprávy
scmxx --send --sms --direct --srr --text="text zprávy" --number="1235454"
kde --srr
umožní, aby vám zpět přišla doručenka a --direct
zamezí uložení zprávy do
telefonu.
Čtení nepřečtených zpráv:
scmxx --get --sms --slot=unread --out=-
Čtení jednotlivých SMS:
scmxx --get --sms --mem=MT --slot=15 --out=-
zobrazí zprávu uloženou na patnáctém místě. Pokud
bychom chtěli zprávy jenom z telefonu nebo ze SIM karty ta za
--slot=
dáme ME nebo SM.
Práce s binárními soubory:
Při práci s binárnímy daty je potřeba upřesnit, s
čím chcete pracovat a to přes --mem=
kde je možnost si vybrat
z "bmp,mid a dalších voleb závislých na typu telefonu" poslání obrázku do
telefonu provedeme takto:
scmxx --send --binary --mem="bmp" --slot=0 obrazek.bmp
pokud chcete opak, tak:
scmxx--get --binary --mem="bmp" --slot=0 --out=obrazek.bmp
stejně to funguje u ostatních formátů. Pouze u --slot="dir"
dostanete místo obsahu adresářů
v telefonu jenom jejich seznam.
Gscmxx
je grafická
nadstavba nad scmxx s domovskou stránkou
http://gscmxx.sourceforge.net/
, ale je napsána pro scmxx 0.6.X a s novou verzí má
problémy, protože se změnil formát přepínačů.
Přístup k adresářům a souborům v telefonu
Pokud chcete manipulovat s daty v telefonu, tak to scmxx bohužel neumí, ale existuje tu
jiná možnost. A to, že si telefon prakticky přimountnete jako
disk. Budete na to potřebovat dvě věci. V první řadě podporu
filesystému, který je na telefonu což je siefs.
Najdete ho na http://chaos.allsiemens.com/siefs/.
Musíte si ho překompilovat pomocí trojkombinace
configure, make, make install
. A dále potřebujete modul fuse
do svého jádra, který je na
http://fuse.sourceforge.net/.
Např. debian ho má jako balíček, který si
stáhnete a pomocí module-assistant překompilujete.
Potom stačí už jenom si vytvořit někde na disku adresář
a připojit si telefon na určené místo.
Mount -t siefs /dev/ttyUSB0 /mnt/siemens.
Samozřejmě si hned můžete přidat řádek
do /etc/fstab, abyste nemuseli tolik psát.
Všechny zde popsané kousky jsem zkoušel na čtyřech telefonech Siemens a to na ME45,C55,M55 a M65.
Byly mezi nimi nějaké odchylky (hlavně mezi řadou 45 a ostatními), ale nebyly velké.