By Janice J. Heiss on Oct 17, 2011
At JavaOne 2011, Terrence
Barr, Senior Technologist, Mobile & Embedded, Oracle Germany,
presided over a two-hour HOL (Hands-On-Lab) on Monday in which he taught
developers how to build an embedded Java solution that senses and
controls the environment, stores data, and connects to back-end
databases for synchronization and further processing. The session
offered considerable detail along with step-by-step exercises as
participants learned how to create the embedded EnviroTracker system and
application which tracks and processes environmental data. The
application interfaces with a microcontroller to read sensor input
(ambient light brightness), to control output (and LED), and then
further processes the sensor data.
The lab focused on:
• The benefits of Java technology in the embedded space
• The components of embedded Java platforms
• Setting up an embedded Java platform
• Interfacing between the embedded Java platform, the microcontroller, and I/O
• Accessing and controlling I/O from Java
• Processing sensor data
Barr took developers through seven basic tasks or exercises:
1. Create the EnviroTracker
2. Install the OJEC (Oracle Java ME Embedded Client) on the Development Host
The Oracle Java Micro Edition Embedded Client (OJEC) implements the CDC Platform configuration.
3. Develop and Test Your First Embedded Java Application..
4. Install OJEC on the Target Platform and Run Your Java Application
5: Understand I/O and the Arduino Microcontroller
6: EnviroTracker V1: First Contact
7: EnviroTracker V2: Continuous Monitoring and Processing
By the end of a rigorous and demanding, but satisfying two hours, attendees had built a real-world embedded system and created the EnviroTracker Application to track environmental sensor data. They learned how to install and use embedded Java runtimes and tools, and how to interface with I/O devices and microcontrollers from Java applications.
The take home message: Creating sophisticated embedded Java systems and applications is easy due to the platform independence of the Java language and runtime, the scalability of pre-existing Java skills to embedded development, and the comprehensive support provided by mature and feature-rich developer tools.
For more info, go to Terrence Barr's blog.