Difference between revisions of "Java Mobile Orbiter"

From LinuxMCE
Jump to: navigation, search
m (Compilation)
m (On device debugging with a Nokia N and E series phone)
Line 75: Line 75:
 
</pre>
 
</pre>
 
Direct your browser to the file "doc/index.html"
 
Direct your browser to the file "doc/index.html"
== On device debugging with a Nokia N and E series phone ==
+
== 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:
 
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
 
* Register with Nokia and get the Symbian SDK

Revision as of 22:33, 18 June 2008

N73-Javamo.jpg

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

Mobile Orbiter

LinuxMCE Orbiter Symbian Programmer's Guide

Links

Forum thread re JavaMO

Compilation

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