Difference between revisions of "Java Mobile Orbiter"
m (→On device debugging with a Nokia N and E series phone) |
m (→Compilation) |
||
Line 29: | Line 29: | ||
[http://forum.linuxmce.org/index.php?topic=2893 Forum thread re JavaMO] | [http://forum.linuxmce.org/index.php?topic=2893 Forum thread re JavaMO] | ||
− | = | + | = JavaMO development guide = |
== Preparations == | == Preparations == | ||
=== Checkout === | === Checkout === | ||
Line 101: | Line 101: | ||
<pre> | <pre> | ||
while $a; do rfcomm release /dev/rfcomm0 ; rfcomm bind /dev/rfcomm0 00:17:C4:C3:36:24 3 ; cat /dev/rfcomm0 ; done | while $a; do rfcomm release /dev/rfcomm0 ; rfcomm bind /dev/rfcomm0 00:17:C4:C3:36:24 3 ; cat /dev/rfcomm0 ; done | ||
+ | </pre> | ||
+ | Example output (process list, system info and the javamo console output): | ||
+ | <pre> | ||
+ | 0x000004380x10204578CPU 191985135 1 DRIVES C 46539776 23182336;D 5629952 5627904;E 2030960640 30343168;Z 20971520 0; RAM 5627904 46137344 20971520 APPLICATIONS JavaMO 692 -1 -1 -1 2654876;EiksrvBackdrop 97 -1 -1 -1 106830749;Menü 163 -1 -1 -1 5559722;EcmtAgent 601 -1 -1 -1 1263824;Standby-Modus 150 -1 -1 -1 16982482;Sdt.out_redir 648 -1 -1 -1 243194;Telefon 146 -1 -1 -1 11353271;Protokoll 394 -1 -1 -1 1592987;Kontakte 330 -1 -1 -1 1927398;MultimediaList 161 -1 -1 -1 510864;SysAp 122 -1 -1 -1 4535278; 77 -1 -1 -1 9002;Anykey 148 -1 -1 -1 290618;blinkingled 240 -1 -1 -1 266265;Player 266 -1 -1 -1 331695;Autolock 238 -1 -1 -1 103759;Galerie 310 -1 -1 -1 1241149;screensaver 154 -1 -1 -1 16530914;akncapserver 97 -1 -1 -1 106830749;btnotifappserver 108 -1 -1 -1 684661;Securitynotifierappserver 106 -1 -1 -1 311309;VolumePopup 266 -1 -1 -1 331695;MPlayerInfoPopup 266 -1 -1 -1 331695;VolumePopup 150 -1 -1 -1 16982482;CTSecDlgAppServer 110 -1 -1 -1 63354;SyncMLNotifierAppServer 114 -1 -1 -1 59234;cconndlgappserver 116 -1 -1 -1 62744;locnotifierappserver 104 -1 -1 -1 63476;0x000000780x1020456c | ||
+ | ReceiveLong: long result: 102 | ||
+ | Got BD_CP_SHOW_IMAGE | ||
</pre> | </pre> |
Revision as of 22:40, 18 June 2008
Introduction
The JavaMO is a lightweight Mobile Orbiter client. It receives rendered pictures from the Bluetooth dongle Orbiter and sends keystrokes back. The protocol used over Bluetooth is BD.
JavaMO is under active development. An alpha version can be found on the charonmedia svn tree.
Installation
For most phones you need the jad and the jar file. Copy both to the phone and select the jad from the file or application manager.
Classes
The JavaMO consists of multiple java classes:
- BDCommand
- BDCommandProcessor
- JavaMO
- SerializeClass
- BTServer
See also
LinuxMCE Orbiter Symbian Programmer's Guide
Links
JavaMO development guide
Preparations
Checkout
Checkout the source from the charonmedia.org svn tree:
svn co http://svn.charonmedia.org/home/hari/javamo cd javamo
Installing Java
First we install the Java SDK. I used version 6 update 6. Download it from the sun download center: http://java.sun.com/javase/downloads/index.jsp
chmod +x ./jdk-6u6-linux-i586.bin ./jdk-6u6-linux-i586.bin
That gives us the directory "jdk1.6.0_06".
Now install the wireless toolkit version 2.5.2: http://java.sun.com/products/sjwtoolkit/download.html
./sun_java_wireless_toolkit-2_5_2-linux.bin
Specify the _full_ path to the "jdk1.6.0_06/bin" directory (this example assumes javamo was checked out to "/home/hari/src/javamo"):
Enter a path to the Java 2 SDK: /home/hari/src/javamo/jdk1.6.0_06/bin
After the installation you should have the following subdirectories in the javamo directory:
- jdk1.6.0_06
- WTK2.5.2
Building the application
just run "make":
make
You will find the "JavaMO.jad" and "JavaMO.jar" file in the "output" directory if the compile succeeds.
Install the application on the phone
That strongly depends on the type of phone. For Nokia Symbian Series with a memory card you can use the "install" target in the "Makefile". Just adapt the Bluetooth address of the phone in the "Makefile" and run:
make install
Then go to the file browser on the phone, switch to the memory card and select the "JavaMO.jad" file. Make sure you have enabled the installation of unsigned applications in the application manager.
Building the documentation
make javadoc
Direct your browser to the file "doc/index.html"
On device debugging with a Nokia N and E series phone and Linux
To get the output from the application running on the phone on a computer screen, do the following:
- Register with Nokia and get the Symbian SDK
- Transfer the "EcmtAgent_MIDP.SIS" application on the phone and run it, uses bluetooth per default
- Go to system - application manager on the phone and install the "RedMIDlet.jar" (shows "not installed")
- Go to the application folder and run the "Sdt.out.redir" application
- do a "sdptool browse" on your notebook with a supported bluetooth dongle (hci device must be up) to find out the rfcomm port. You should see something like this:
Service Name: EcmtAgent Service Description: Bluetooth bearer for EcmtAgent Service RecHandle: 0x10043 Service Class ID List: "Serial Port" (0x1101) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 3 "RFCOMM" (0x0003) Channel: 3 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100
- run a command like the following after substitution of the Bluetooth address and the rfcomm channel:
while $a; do rfcomm release /dev/rfcomm0 ; rfcomm bind /dev/rfcomm0 00:17:C4:C3:36:24 3 ; cat /dev/rfcomm0 ; done
Example output (process list, system info and the javamo console output):
0x000004380x10204578CPU 191985135 1 DRIVES C 46539776 23182336;D 5629952 5627904;E 2030960640 30343168;Z 20971520 0; RAM 5627904 46137344 20971520 APPLICATIONS JavaMO 692 -1 -1 -1 2654876;EiksrvBackdrop 97 -1 -1 -1 106830749;Menü 163 -1 -1 -1 5559722;EcmtAgent 601 -1 -1 -1 1263824;Standby-Modus 150 -1 -1 -1 16982482;Sdt.out_redir 648 -1 -1 -1 243194;Telefon 146 -1 -1 -1 11353271;Protokoll 394 -1 -1 -1 1592987;Kontakte 330 -1 -1 -1 1927398;MultimediaList 161 -1 -1 -1 510864;SysAp 122 -1 -1 -1 4535278; 77 -1 -1 -1 9002;Anykey 148 -1 -1 -1 290618;blinkingled 240 -1 -1 -1 266265;Player 266 -1 -1 -1 331695;Autolock 238 -1 -1 -1 103759;Galerie 310 -1 -1 -1 1241149;screensaver 154 -1 -1 -1 16530914;akncapserver 97 -1 -1 -1 106830749;btnotifappserver 108 -1 -1 -1 684661;Securitynotifierappserver 106 -1 -1 -1 311309;VolumePopup 266 -1 -1 -1 331695;MPlayerInfoPopup 266 -1 -1 -1 331695;VolumePopup 150 -1 -1 -1 16982482;CTSecDlgAppServer 110 -1 -1 -1 63354;SyncMLNotifierAppServer 114 -1 -1 -1 59234;cconndlgappserver 116 -1 -1 -1 62744;locnotifierappserver 104 -1 -1 -1 63476;0x000000780x1020456c ReceiveLong: long result: 102 Got BD_CP_SHOW_IMAGE