What You See Is What You Get Element

A Perfect Match: Java and the Internet of Things

by Timothy Beneke

Examples of how Java is shaping the Maker Movement and the Internet of Things

Published June 2014

The recent MakerCon Conference, hosted by Oracle, along with the 2014 Maker Faire, made it clear that the Maker Movement—a vital source of hardware innovation—is catching fire and opening up rich possibilities for Java developers. The match between the Maker Movement's ingenious intelligent devices and embedded software technology is central to the development of the connected world, the Internet of Things (IoT), and machine-to-machine (M2M) technology. As embedded devices get cheaper, more powerful, and more connected, and as the Internet of Things grows, Java developers are receiving strong support from Oracle as they face radical new challenges and opportunities. Java is best equipped to serve as a unified standardized platform for the Internet of Things. To that end, a major effort to unify the Java platform is underway—specifically, Java ME with Java SE—to shrink Java SE into the embedded space and smaller devices.

The Internet of Things and the rise of an M2M ecosystem are in the process of converging with cloud computing and big data, requiring a seamless platform that runs from the device to the data center with Java. Oracle offers an integrated, secure, comprehensive platform for the entire Internet of Things architecture across all vertical markets, with these key features:

  • Real-time response capabilities for millions of device endpoints
  • Faster time to market
  • End-to-end security
  • Integration with IT systems
  • A worldwide, coordinated ecosystem of partners
  • End-to-end compatibility and lifecycle solution management

Java remains the number one choice among developers and the world's leading development platform, with some 9 million Java developers worldwide.

As part of its support of the Maker Movement, Oracle Technology Network recently sponsored an IoT Developer Challenge, an online contest that will reward developers who create an Internet of Things application using embedded Java with computer boards, devices, or other Internet of Things technologies. The winning teams will get airfare, hotel, and registration to the 2014 JavaOne Conference. Projects have been submitted from over 25 countries. Submissions are currently being evaluated for quality, innovation, and usefulness. Project winners will be featured on OTN and honored at JavaOne. Winners will be announced in June.

What Is the Maker Movement?

The Maker Movement, with its focus on hardware innovation, has strong precedents in US history, perhaps most recently manifest in the arts and crafts movement, the Do it Yourself (DIY) movement associated with Stewart Brand and the Whole Earth Catalog that originated in the 1960s, and stereotypical garage tinkerers with big dreams—best exemplified by Steve Jobs and Steve Wozniak of Apple fame.

Wikipedia summarizes maker culture as "a technology-based extension of DIY culture," with typical interests including "engineering-oriented pursuits such as electronics, robotics, 3-D printing, and the use of CNC (Computer Numerical Control) tools, as well as more traditional activities such as metalworking, woodworking, and traditional arts and crafts," with an emphasis on new and unique applications of technologies. The convergence of several historical forces—for example, the availability of tools and the internet, including virtual communities, enhanced visualization, and new software applications—is fueling the Maker Movement, which is branching out from Northern California across the US and to Europe and East Asia.

The Maker Movement now has journals, blog sites, a substantial literature, annual events, and several hundred thousand people across the globe participating in maker activities each year. It has all the features of a genuine movement, including a manifesto written by TechShop's Mark Hatch that emphasizes nine key concepts: make; share; give; learn; tool up; play; participate; support; and change.

In summary the manifesto states that "making" is fundamental to human expression and feeling whole, and sharing what you make is necessary to complete that wholeness. Giving away what you have made, or at least giving away knowledge about how it was made, is a way of giving a part of yourself to the world. Establishing a lifelong learning path is a key to human happiness. "Tooling up" is essential for being a successful maker—makers are lucky in that tools have never been cheaper or more powerful. A spirit of play is key to creative making. Further, the manifest states that participation in the maker community will make it easier to thrive and, finally, that makers should be ready, willing, and prepared to change as technology accelerates.

Make: Magazine

The 2005 launch of Make: magazine by Dale Dougherty, CEO of Maker Media, provided an important stimulus to the movement that continues today. Make: provides a wealth of wide-ranging information about DIY and do -it-with-others (DIWO) projects, including electronic ventures using Arduino, computers, the Raspberry Pi, and robotics. 3-D printing is of equal importance, along with metalworking and woodworking. As its title suggests, Make: offers step-by-step instructions on how to make things.

Java Meets the Maker Movement

For many Java developers, the rise of the Maker Movement presents an opportunity to renew their creative passions and explore new ways to apply their skills. Java Champion Vinicius Senger of Brazil is a case in point. A software developer for more than 20 years, Senger is the founder of Globalcode (this is its Portuguese home page, which can be autotranslated by Google), the largest Brazilian educational center specializing in software development. In addition, he started a company devoted to open source home automation and educational robotics and is the winner of a 2011 Duke's Choice Award for his project jHome, which offers a home automation API based on Java EE.

Senger is confident that the application of Java to M2M and IoT technology will have a big impact. "Bringing M2M and the IoT to the internet will change our lives. For instance, in the area of healthcare, we now have clothes that monitor people when they sleep. Electronic cigarettes might someday be connected to social networks on the internet to help people stop smoking, something we could not have imagined ten years ago. Constant heart monitoring on the internet is now a reality."

For Senger, the Internet of Things reaches into his personal life. "I have a sail boat, and now my boat is part of the internet so I can control it and know if someone is turning on the engine. I have friends who like wine and now monitor their wine and keep track of the humidity and are aware if something goes wrong with refrigeration."

“Java is the best platform for the IoT because it's flexible for computers of different sizes.”

Java Champion Vinicius Senger

The sky's the limit for Senger. "Every market has opportunities with M2M and IoT," he observes. "It's a very exciting moment in the industry because we have so many new devices, new computers, and new boards. The market is growing so fast, and there are so many opportunities and technologies to play with."

So what is the role of Java in all of this? "Java was born to do this kind of stuff," says Senger. "In the last ten years, Java has been all about providing corporate solutions, selling items on the internet, and banking, but Java was initially designed as a programming language to connect things such as home appliances. We are returning to the Java of fifteen years ago, and the creators of Java are very happy about this development. Java is the best platform for the Internet of Things because it's flexible for computers of different sizes." This is a great time for Java developers, according to Senger. "The great thing about working with embedded is that there are so many possibilities. I like horses and I like wine—there are opportunities to be found with horses and wine. I like home information and robotics, so I found an opportunity there. Because of the Internet of Things, Java developers can put their passion into their work."

Senger strongly supports Oracle's attempts to engage with the Java community. "Oracle is making the VM work very well on different types of computers and boards such as the Raspberry Pi," notes Senger. "It is doing a great job with tools such as NetBeans. Its work with the embedded space and the IoT community has been excellent. Oracle is serving the Java and Maker communities well."

“You can translate your knowledge of Java from developing on the enterprise to embedded things.”

Noel Portugal,
Principal User Experience Developer, Oracle

User Experience and the Internet of Things

Noel Portugal, Principal User Experience Developer at Oracle, is confident that the Internet of Things will powerfully impact the way we live, with sensors and connected devices finding their way into our homes and workplaces enabling us to harness a growing amount of accessible data to our advantage. According to Portugal, the user experience (UX) status quo is in for a change.

For Portugal, being a maker means having the ability to create something that did not exist before or to replicate something, but in a new way. "I have always been very curious and obsessed with action and reaction," says Portugal. "You do one thing, and another happens. I was really excited to learn that I could trigger something with a computer. So learning about microcontrollers and embedded devices has been very inspiring to me. A lot of makers come from the software community. I am a software developer and not an electronics engineer—a lot of what makers are now learning is already known by electronics engineers. New tools are available that enable software developers to design devices and make them work."

This is where embedded Java enters the story. "The Java team has been working with the embedded community to make sure that the Raspberry Pi software runs fine," says Portugal. "So we have built Oracle Java SE Embedded on the Raspberry Pi."

What should Java developers who want to write for the Internet of Things know about what Oracle is doing to make it easier?

"Java powers the internet, our banks, and retail enterprises—it's behind the scenes everywhere," remarks Portugal. "So we can apply the same architectures, security, and communication protocols that we use on the enterprise to an embedded device. I have used Arduino, but it would be hard to start a web server with it. But with Raspberry Pi, I can run a server, or, for example, use general-purpose I/O where I can connect sensors. The point is that developers can translate their knowledge of Java from developing on the enterprise to embedded things."

Making Robots with Java

Dan Royer, of Marginally Clever, exemplifies the match between the maker spirit and Java. "I love to make robots," exclaims Royer, "and create different kinds. I use Java in just about everything I make, because it takes care of so many things for me. I don't have to do any memory management and the documentation is really thorough. It's a joy working with Java."

Royer's most popular product, Makelangelo, is an art-creation robot that enables users to take a picture from the internet or a phone and convert it in two seconds with Java software that communicates GCode (the language of 3-D printers) to send a message to the Arduino platform, which then moves motors that drive around a board. All of his image conversion styles and 3-D management, along with other programs, use Java.

Creating Prosthetic Hands

Ali Lemus, a Java developer in Guatemala, is working on a low-cost prosthetic hand. The simple mechanical version costs under US$50, while a more sophisticated Java-enabled bionic version that relies on artificial intelligence (AI) and machine learning sells for under US$150.

By exerting tension with one shoulder, it is possible to move a prosthetic hand to grasp objects. "For more complex actions, we embedded a Raspberry Pi that comes preloaded with embedded Java," explains Lemus. "It uses artificial neural network sensors to read data from muscles and then analyze the data. We have other microcontrollers that Java works with as well; Java's flexibility and its libraries make it a great match."

Lemus is creating a switch that will enable users to move back and forth between the mechanical and bionic version of the hand. "It's great to be able to grab and open things," says Lemus. "But what if you want to paint? Then you need the bionic version. After two or three months of using the mechanical version, the person will be able to move back and forth with flex sensors. The more the person uses it, the better the AI machine will function."

A JavaFX 2–Based GUI Controller

Riley Porter, a founder of Synthetos, uses JavaFX 2 to make CNC (Computer Numerical Control) GUI controllers for the TinyG motion controller for robots that make 3-D printers, among other things. A Python developer and malware expert by trade, Porter learned JavaFX for the GUI. "It is very difficult to create distributed binaries that work on all platforms," explains Porter. "I use Java SE 7 and JavaFX because I like their ability to do FXML design with loosely coupled UIs. My partner changes a lot on the back end, so I need to be able to query the board and figure things out. JavaFX is very good for data binding—I like being able to dynamically update things with bindings so I don't have to worry about updates or observables."

Conclusion

With so much innovation happening so fast, we can expect to see important changes in our daily lives in the coming years, if not months, as Java and the Maker Movement get to know each other better.

See Also

About the Author

Timothy Beneke is a freelance writer and editor. His articles, covering a wide range of topics, have appeared in many publications, including Mother Jones, the East Bay Express, and Java Magazine. He has written extensively about Java for years.

Join the Conversation

Join the Java community conversation on Facebook, Twitter, and the Oracle Java Blog!