You are on page 1of 15

Desarrollo de

Aplicaciones J2ME

Seminario
Octubre
2013

Entorno de Programacin Java


Lenguaje de programacin.
Los mdems Cinterion y MTX se programan en java (J2ME, java micro
edition, subconjunto de Java).
El SDK (gratuito) para desarrollo de aplicaciones j2me consta de:
WTK:

Componentes necesarios para cada plataforma Cinterion para


crear aplicaciones Java y debugarlas.

JDK:

Software de Oracle para el desarrollo de aplicaciones java


(compilador, generacin documentacin, )

IDE:

Eclipse o Netbeans)

ME Plugin:

Plugin para Eclipse para desarrollo aplicaciones J2ME

IMP Debug Connection:


MES:

Conexin de red para debugar aplicaciones

Module Exchange Suite para el acceso a flash (incluye utils consola).

Arquitectura de software
Componentes de la plataforma J2ME
Basada en Oracle Java ME Embedded 3.2:
Standards java CLDC 1.1 HI (JSR139) y IMP-NG (JSR228). Capacidad de
ejecucin multimidlet.
APIs java adicionales (standard):
JSR75 (File Connection), JSR177 (Crypto) y JSR280 (XML)
APIs java adicionales (propietarias):
AT Command, Bearer Control, Watchdog

Perifricos del mdem accesibles desde Java


GPIOs
Puertos de comunicaciones I2C / SPI
Convertidor Analgico / Digital
Convertidores Digital / Analgico
Puertos serie y usb

Arquitectura de software
Diagrama arquitectura Software

CD con el SDK para desarrolladores


De donde descargar el CD?

Servidor FTP:
Login:
Password:

ftp.matrix.es
scw1111
Matrix00

Diferencias Java EHS5-6 / TC65i-X


Pruebas de rendimiento java en EHS5 vs TC65i-X
Generacin de nmeros primos de 0 a 1milln, y envo de datos a un servidor
de eco 10 iteraciones. Todo ejecutado de forma simultnea.

Diferencias Java EHS5-6 / TC65i-X


Nmero de mximo de conexiones simultneas
TC65i-X: 6
6
EHS5/6: 32
Conexiones TCP: 16
Conexiones UDP: 16
Listeners: 20

Nmero de mximo de aplicaciones java corriendo simultneamente


TC65i-X: 1
6
EHS5/6: 8 (7 cuando el debugger est funcionando)
Precaucin con los recursos compartidos por aplicaciones!

Diferencias Java EHS5-6 / TC65i-X


Diferencias interesantes:
USB:

Es posible utilizar USB desde Java (CommConnection)

MES:

Es posible usar el MES incluso cuando una aplicacin


java est en funcionamiento.

Carga app: Es posible cargar aplicaciones java en el mdem


mediante un simple comando AT. Ideal produccin.
Coman. AT: Es posible ejecutar comandos AT por un interface mientras
una aplicacin java est corriendo si ste no est siendo usado.

Diferencias Java EHS5-6 / TC65i-X


Diferencias interesantes:
RAS:

Es posible utilizar un acceso telefnico a redes mientras


una aplicacin java est corriendo.

JRC:

Aplicacin java de control de Cinterion que se ejecuta en


paralelo a la app de usuario. Provee servicios internet,
actualizable por OTAP, compatibilidad, puede solventar
problemas firmware del mdem,

AT^SJRA: Ya no se utiliza. Tampoco AT^SCFG /AppName.


Ahora debe utilizarse AT^SJAM, que permite arrancar, parar y
borrar apps desde comandos AT
Varios:

notifyDestroyed() no para la JVM

Migracin de apps TC65i > EHS5


Comandos AT:
Algunos comandos AT cambian, hay que revisarlos (comillas, parmetros,
respuestas, ). Hay que cargar librera cwmlib_1.0.jar en proyecto.
Case sensitive:
FFS es case sensitive. En general tener cuidado. Por ejemplo
CommConection en el TC65i admita asc0 y ASC0. EHS5 slo ASC0
FileConnection:
Ahora es una implementacin JSR75. Ya no est dentro del paquete
Cinterion.
Watchdog:
La clase Watchdog queda obsoleta (deprecated). Debera usarse Watchdog2
BearerControl (ampliada):
Clase para obtener la IP (ya no vale AT^SICI=0), mltiples contextos PDP

Migracin de apps TC65i > EHS5


System.currentTimeMilis():
El mdulo ya no tendr dos relojes. Por fin el mtodo devolver la misma
hora que la obtenida de la RTC con AT+CCLK (Tambin afecta a la clase
Calendar).

Mapa de clases para desarrollo java

Clases tpicas Cinterion para desarrollo


ATCommand:
La clase ms IMPORTANTE. Permite el enva de comandos AT y gestiona
sus respuestas de la misma manera que se hara desde un puerto serie.
DAC:
Control de la salida PWM del mdulo
ADC
Lectura de los convertidores analgico / digital
InPort
Lectura de los pines digitales de entrada
OutPort
Escritura en los pines digitales de salida
StartStopPulseCounter
Control del pin contador de pulsos (mx 1Khz)
I2cConnection / SPIConnection
Gestin buses I2C y SPI
Watchdog
Gestin del watchdog de la aplicacin

Arranque automtico aplicaciones java


AT^SJRA
Por compatibilidad con versiones antiguas se mantiene. Permite ejecutar
aplicaciones manualmente.
AT^SCFG=Userware/Autostart
nicamente para activar autostart y delay
AT^SJAM
Nuevo comando para gestionar apps java
AT^SJAM=0,A:/HelloWorld.jar,
Instala aplicacin java en el equipo. No olvidar:

En el JAD incluir, ejemplo:


Oracle-MIDlet-Autostart: 1
Oracle-MIDlet-Restart: true
Oracle-MIDlet-Restart-Count: 2

AT^SJAM=1,A:/HelloWorld.jar,
Arranca aplicacin java en el equipo (anlogo a AT^SJRA)
AT^SJAM=2,A:/HelloWorld.jar,
Para la ejecucin de una aplicacin java
AT^SJAM=3,A:/HelloWorld.jar,
Desinstala una aplicacin java del equipo.
AT^SJAM=4 y AT^SJAM=5
Lista aplicaciones instaladas y ejecutndose, respectivamente.

Ejemplos Java sesin demo


HelloWorld:
Creacin de un proyecto simple HelloWorld
Ejecucin del proyecto en entorno de desarrollo. Debug
PipeConnection:
Ejemplo de ejecucin de varios midlets en paralelo.
IMC. Ejemplo de Inter Midlet Communication mediante pipes.

You might also like