]> www.wagner.pp.ru Git - sites/home_page.git/blob - software/unix/mobiletools.html
9bbdecfc556f7d05542d7a036ba54113caf009e1
[sites/home_page.git] / software / unix / mobiletools.html
1 <html><head><title>Tools to work with mobile phones</title></head>
2 <meta name="description" content="Things to work with bluetooth/java
3 enabled mobile phone"> 
4 <body>
5
6 <h1>Tools to work with mobile phones</h1>
7
8 <h2>Some theory on using OBEX protocol</h2>
9 Bluetooth phones typically have several distinct channels on which OBEX
10 protocol can be used.
11 <p>
12 You can use <tt>sdptool browse</tt> command to find out which ones are
13 supported on your phone. Or you can use <tt>sdptool search <i>addr</i>
14 <i>service</i></tt> to request information on particular service.
15 </p><p>
16 In the later case <i>service</i> can be specified as some predefined
17 string, known to sdptool, or by hexadecimal constant. You can look this
18 constant up in <tt>sdptool browse</tt> output or in the Bluez include
19 file <tt>sdp.h</tt>.
20 </p><p>
21 Both obexftp and <a href="#t68tool">t68tool</a> require channel to be
22 specified explicitely.
23
24 </p><p>
25 So far I've discovered meaning of following channels:
26 </p><dl>
27 <dt><b>Ir2MESync</b> (0x1104)
28 </dt><dd> Used to synchronize address book and calendar database with phone.
29 <a href="#t68tool">t68tool</a> utility uses this channel. Phones
30 typically do not support directory listing on this channel. But there
31 is <tt>telecom</tt> directory which standard files such as
32 <tt>pb.vcf</tt>, <tt>cal.vcs</tt> etc.
33 </dd><dt><b>OPUSH</b>(0x1105)
34 </dt><dd>This service is used to push objects into phone. Then phone would
35 decide (probably, by asking you) what to do with object - save it in
36 appropriate place or discard it.   This service is used to upload files, 
37 J2ME applications, exchange phonebook entries etc. 
38 <p>
39 When you pick up "Send/Via bluetooth" entry somewhere in your phone
40 menu, this service is used
41 </p><p>
42 There is no way to
43 GET something (even file with known name) via this service. 
44 There is no
45 way to avoid annoying popup windows "What to do with the recieved
46 file?"
47 </p><p>
48 This channel is also used for acepting files from mobile by <a href="http://packages.debian.org/unstable/comm/obexserver">obexserver</a>
49 program. 
50 </p></dd><dt><b>FTRN</b>(0x1106)
51 </dt><dd> This is file transfer protocol which is primarily used by obexftp.
52 It supports directory listings, and doesn't require confirmation of
53 get/put actions. But it doesn't allow access to all information on the
54 phone. On Ericsson T610 only Pictures, Sounds and Themes are available.
55 No phonebook/calendar, no J2ME applications can be get or put this way.
56 </dd><dt><b>BIP</b>(0x111a)
57 </dt><dd>Basic imaging profile. My phone doesn't support it, so I cant't
58 describe it in details. From opd code it looks much like OPUSH
59 </dd></dl>
60 There is a lot of other Bluetooth channels, which might or might not use
61 obex protocol. Some, for instance, use PPP or other network protocols.
62
63
64 <h2>Tools to work with mobile phones on Linux</h2>
65
66 <h3>Bluetooth address resolution project</h3>
67 I've been quite surprised that most Linux bluetooth applications require
68 user to specify numerical bluetooth addresses in the command line or
69 configuration file. So, I invented <a href="btdev.html">my own bluetooth
70 address database</a> and use it in my scripts.
71
72 <h3>T68tool</h3>
73
74 <a name="t68tool"
75 href="http://ftp.45.free.net/pub/debian-cosy/dists/woody/local/t68tool_0.3-2.tar.gz">download</a>
76
77 <p>
78 T68tool is small command-line application which can backup/restore
79 phonebook and calendar from mobile phone and get/send arbitrary files
80 via openobex.
81 </p><p>
82 It uses Ir2MeSync obex service.
83 </p><p>
84 It was originally developed by <a href="http://www.garthy.com/">Garthy</a>, and I've only managed unofficial
85 Debian packages, but long ago downloadable files are disappeared from
86 Garthy's site.
87 </p><p>
88 Tested on Ericsson T68 (by Garthy), R320, R520, T610 (by me) and
89 Nokia 6310 (by me).
90 </p><p>
91 Future development would probably include <tt>${HOME}/.btdev</tt></a>
92 support on C code level and configurable timeouts, because I encounter
93 problems with uploading my phonebook on phone due to large number of
94 photos.
95
96
97 </p><h3>getpb</h3>
98
99 Tcl wrapper around t68tool which converts all phonebook records into
100 uniform (utf-8) encoding and stores it in the
101 <tt>${HOME}/.phonebook.vcf</tt>.
102 <p>
103 It uses (if bluetooth transport is used) local database of bluetooth
104 addresses in <a href="http://www.45.free.net/%7Evitus/mobile/btdev.html"><tt>${HOME}/.btdev</tt></a>.
105 </p><p>
106 </p><h3>phonebook grepper</h3>
107 A companion script to <tt>getpb</tt> - search .phonebook.vcf for
108 contacts.  It also able to add contacts
109 into phonebook using -a option.
110
111 <h3>Bluetooth send script</h3>
112 Simple wrapper around t68tool which allows to avoid specifying bluetooth
113 addresses and channels in the command line. It uses
114 <a href="btdev.html"><tt>${HOME}/.btdev</tt></a> database to convert descriptive names of devices
115 into addresses. 
116
117
118
119
120 <h3>Book generator</h3>
121 It is possible to read books on Java-enabled mobile phone. There is
122 excellent java bookreader on <a href="http://tequilacat.narod.ru/">tequilacat.narod.ru</a>.
123 <p>
124 Unfortunately, Java on mobile phones is intended primarily for games, so
125 each book should be packed into jar archive as separate Java
126 application. Tequilacat provides windows application to do so, but there
127 is nothing quite difficult in packing few text files into existing zip
128 archive (and Jars are zip archives) so I decide to write my own portable
129 shell.
130 <p>
131 I've written commandline  script to convert <a
132 href="http://www.fictionbook.ru">FictionBook2</a> files into tequilacat
133 applets.
134
135 </p><h3>AMR to WAV converter</h3>
136 My ericsson T610 records sound in the AMR (Adaptive Multi-Rate) format.
137 No existing Linux sound tools (like sox) I'm aware of are able to
138 convert this format into something useful. But there is sample code
139 on the <a href="http://3gpp.org/">3gpp.org</a> which compiles under
140 Linux and converts AMR files into raw 16-bit 8KHz audio files.
141 (look to <a href="http://www.3gpp.org/ftp/Specs/html-info/26073.htm">26.073</a>
142 spec. Code has to be compiled with MMS_IO define to be able to deal with
143 real amr format).
144 <p>
145 There is also amr2wav converter for Win32 which happily runs under wine,
146 but I think somebody (may be I) have to write useful frontend to 3gpp
147 codec library.
148
149
150
151
152 </p><h2>Other tools</h2>
153 Links to other useful tools 
154 <a href="http://openobex.sf.net/">ircp</a> very useful thing to exchange
155 files via infrared. Of course bluetooth counterpart would be better, but
156 I haven't found simple app to receive files from phone via bluetooth.
157 <p>
158 To send files to phone one can use t68tool or <a href="http://triq.net/obex">obexftp</a>
159
160
161 </p><h2> Favorite J2ME apps</h2>
162 Below there are links for Java apps for mobile phone I've found
163 interseting or useful
164
165 <h3>Games</h3>
166 <ul>
167 <li><a href="http://krzak.linux.net.pl/f/html/">fremtris</a>. Always
168 needed tetris on my mobile phone since I've tried it on R320. But phone
169 vendors put other, less entertaining games.
170 </li><li><a href="http://www.roguelikedevelopment.org/dweller/">Dungeon
171 Dweller</a> - Always wanted something Rogue-like on the phone. And now I
172 can have it.
173 </li></ul>
174 <h3>Applications</h3>
175 <ul>
176 <li><a href="http://cash2me.sf.net/">Cash2ME</a> personal financial
177 management on the phone. Looks quite promising, but I couldn't get it
178 working on T610.
179 </li><li><a href="http://phoenix.inf.upol.cz/%7Epolakr/">SSH and Telnet</a>
180 Do not work on my phone too
181 </li><li><a href="http://mixa.dev.juga.ru/microcalc/microcalc.htm">MicroCalc</a> - a
182 spreadsheet on mobile phone. Unfortunately, it can exchange data only
183 via WAP. I'd rather send data to computer and back via IR or Bluetooth.
184 </li><li><a href="http://webuser.fh-furtwangen.de/%7Edersch/">FnattLabME</a>
185 MatLab -like calculator. Don't know why one need to do complex math on
186 one's mobile, but looks cool.
187 </li></ul>
188
189
190
191
192
193 </body></html>