You are currently browsing the category archive for the ‘Embedded’ category.
Be sure to sign up for two embedded Java Events and Webinars this week – I will be participating in both:
- Free Webinar with Vinicius Senger on embedded Java ME and the IoT Developer Challenge: Today, May 5th, 11 am – 1 pm PDT
- Virtual Developer Day – Java: A day chock-full of the latest Java content, including embedded Java: Tomorrow, May 6th, starting at 9 am PDT
If other timezones for the Virtual Developer Day suit you better, there will also be sessions in EMEA on May 14th and APAC on May 21st. Find out more here.
Now that Java ME 8 is released a lot of people trying it out and are asking for sample code and demos. We’ve got you covered:
1) The first place you should go is the ”Java ME SDK 8 Developer Guide“. This is your one-stop-shop for getting started with Java ME 8 development on your PC (no external hardware required). Chapter 2 is “Creating a Java ME SDK 8 Sample Project”, and part IV is all about “Sample Applications”.
2) Next, you will want to browse the “Java ME Embedded Developer Guide”, which covers important topics for developing Java ME 8 embedded applications. Chapter 5 talks about “General Purpose I/O”, chapter 6 about “Working with the I2C Bus”, and chapter 7 about “The Serial Peripheral Interface (SPI) Bus”.
3) The Java ME SDK 8 comes with a whole set of ready-to-go demo applications. After installing the Java ME SDK 8 and NetBeans 8, start up NetBeans and make sure the “Java ME SDK Demos” plug-in is installed and active (this should be the default case). Then, create a new project and in the New Project dialog look under the “Samples > Java ME SDK 8.0” folder for a number of complete Java ME Embedded 8 demo projects.
4) Finally, check out the “Getting Started Guide (Raspberry Pi)” and the “Getting Started Guide (Qualcomm IoE)” for information on how to run apps on these platforms, including access to real-world peripherals via GPIO, I2C, SPI, UART, and others.
We are also working on additional demos and sample code – stay tuned for more information on this.
And remember to head over to the OTN Java ME Embedded forum to browse and ask questions – we are monitoring this forum on a regular basis.
Welcome to Java ME 8!
Today, we are announcing the general availability (GA) of the Java ME 8 release.
This release is the culmination of a two-year effort driving a major update of the Java ME technology as a modern embedded software platform, purpose-built as a foundation for new services in the Internet Of Things. We are closely collaborating with industry partners and are seeing strong interest and adoption in Java ME 8 across a number of markets such as wireless modules, automotive, smart sensors, healthcare, industrial automation, smart energy, logistics, and others.
Top 10 Features of Java ME 8
Java ME 8 has been designed to enable advanced embedded software intelligence and increased product value for a wide range of use cases and solutions while maintaining very low system requirements. Top 10 features include:
- Aligned with Java 8 for efficient development
- Designed for Embedded
- Highly portable and scalable
- Consistent across devices
- Advanced application platform
- Modularized software services
- Client domain partitioning
- Direct access to hardware devices
- Compatible with standard APIs
- Enhanced embedded tooling
For more information, please see the screencast “Java ME 8: Top 10 Features”.
What We Are Releasing Today
Todays release comprises of several of components:
Java ME 8 TCK (Technology Compatibility Kit) and RI (reference implementation):
- Java ME Connected Limited Device Configuration (CLDC) 8 (JSR 360)
- Java ME Embedded Profile (MEEP) 8 (JSR 361)
Oracle Java ME Embedded 8 product implementations and tooling:
- Oracle Java ME Embedded 8 product implementations for several embedded platforms (see below)
- Oracle Java ME SDK (Software Development Kit) 8 for embedded software development
Oracle Java Platform Integrator (OJPI) releases for Java ME Embedded 8:
- Enables Oracle partners to deliver value-add products and services based on Java ME Embedded 8 (OJPI information)
Support for the following platforms:
- Raspberry Pi Model B (based on ARM11/Linux)
- Qualcomm IoE Development Platform (based on ARM9/Brew MP)
- Windows x86 device emulation environment (for rapid prototyping/development)
We are also planning on bringing Oracle Java ME 8 to additional platforms such as micro-controller-based devices - please stay tuned.
Where to Find More Information
For more information, please see the following links:
- Oracle Java ME Embedded 8 data sheet
- Oracle Java ME SDK 8 data sheet
- “Java ME 8 Deep Dive” technical presentation
- Java 8 Launch screencasts on Java ME 8 on a variety of different technical topics
- Java Magazine March issue with several articles on Java ME 8
- Video interviews with Oracle executives and Oracle partners on Java Embedded and IoT topics
- General information on Oracle’s Internet of Things Platform, including videos, white papers, and brochures
Getting Started with Java ME 8
To get started developing with Java ME 8, download the Oracle Java ME SDK 8 which comes with a built-in Java ME 8 device emulation environment for rapid development plus great documentation to get you started.
Once you’re ready to move on to real hardware such as Raspberry Pi or the Qualcomm IoE platform, download the ready-to-run Oracle Java ME Embedded 8 platform binaries.
Go here for the full set of Oracle Java ME 8 documentation, including:
- Release Notes
- Getting Started Guides for all platforms
- ME SDK Developer Guide
- Java ME Embedded Developer Guide
- API documentation
Java ME 8 brings exciting new possibilities to the embedded software space. Get started today and stay tuned for more to come!
About 18 months ago we embarked on an ambitious journey to deliver a major update of the Java ME platform standard by filing JSR 360 (CLDC 8) and JSR 361 (MEEP 8) in the JCP (“JSR 360 and JSR 361: A Big Leap for Java ME 8”).
Both JSR 360 and JSR 361 were unanimously approved this week, with 25 YES votes each. Java ME 8 is now a reality, bringing the power of Java 8 to small embedded. Stay tuned for more announcements soon.
“Building Block for the Internet of Things”, Nandini Ramani, VP of Java Product Development, Oracle
Get a new perspective on how enterprises may generate value from IoT and what it takes to make IoT work. Learn about key building blocks for IoT solutions. Get an overview of how Oracle’s products, including Java, enable end-to-end IoT deployments.
“Turning Devices into a Value-Generating Application Platform with Java”, Axel Hansmann, VP Strategy and Marketing Communication M2M, Gemalto
Learn about Gemalto’s vision for the future of IoT, strategy using Java, and adoption plans for Java ME 8. Find out more about Gemalto’s technologies and how they are used, from quick IoT/M2M prototyping to full-scale enterprise solutions.
I’ll be pointing out more interesting videos and content over the next couple of weeks.
The first instance of the Massive Open Online Course (MOOC) “Develop Java Embedded Applications Using a Raspberry Pi” is currently underway.
The response has been overwhelming and we had to cut off registrations and put people on the wait list. So we are now announcing a repeat of the course starting May 19th, 2014 to give all of you who missed it the first time around another opportunity. Enroll now before space runs out again. It’s still FREE.
Here is the next Java ME 8 Developer Drop, b58. As before, this is provided “as is”, with no guarantees of stability or functionality.
To access, go to the EA #2 downloads page and look for “latest developer build”:
Oracle is running the “Internet of Things (IoT) Developer Challenge” until May 30th, 2014. Submit a video and the code of your cool project, and you may win a trip to JavaOne 2014, a laptop, or other great prizes!
Don’t know where to start? Oracle is also providing free live sessions and online training running through April to help you get going. For example, next Monday (April 7) at 6:00pm UTC the session is about the “Internet of Things, Java and Raspberry Pi”. Plus, there is more help via online forums and other resources.
Find out all about the IoT Developer Challenge at The Java Source blog.
Jim Connors published a great blog post a little while ago, describing the benefits of using the new Java SE 8 language and API features on multicore embedded systems like the Boundary Devices BD-SL-i.MX6 (built around the Freescale i.MX6 quad-core architecture).
As you can see in the above diagram, leveraging parallel Java SE 8 Lambda and stream operations can dramatically improve overall performance. What’s more, the effort on the part of the developer is minor and the resulting Java code is portable and scalable across all Java SE 8 platforms, including completely different underlying architectures such as ARM on Linux vs. x86 on Windows.
Compare that to a traditional embedded multicore application, which typically is built with specialized frameworks, knowledge, and tuning and results in platform-specific code with limited portability and scalability. Plus, potentially hard-to-find multithreading bugs …
Out-of-the-box multicore support is another great example of why Java Embedded makes a lot of sense for embedded solutions.
I just posted an expanded and updated Java ME 8 Deep Dive slide deck on SlideShare.
(apologies for the partially messed up colors and slides, SlideShare is going that during the conversion process ;-( )