Thursday Aug 28, 2014

Easy IoT Sensor On-Boarding Using Jini Auto-Discovery and Java SE Embedded (Part 1)

If you ever wanted an easy-peazy way to have your Raspberry Pi auto-discover your IoT sensors and devices, but you haven't been using Jini IoT Edition concepts with Java SE Embedded, then you're doing it wrong.

I'll take you through the straight-forward steps to on-board your IoT sensors and devices quickly using Java SE Embedded technology and the concepts from the Jini IoT Edition.

Parts List:

 1 Raspberry Pi Model B $35
 1 Parallax RFID Card Reader Serial $39
Grab those parts and come back here for the next part in this series... Jini, IoT, Java SE Embedded, Raspberry Pi. It'll be fun!

Full series of steps:
Easy IoT Sensor On-Boarding Using Jini Auto-Discovery and Java SE Embedded (Part 1)
Easy IoT Sensor On-Boarding Using Jini Auto-Discovery and Java SE Embedded (Part 2)
Easy IoT Sensor On-Boarding Using Jini Auto-Discovery and Java SE Embedded (Part 3)
Easy IoT Sensor On-Boarding Using Jini Auto-Discovery and Java SE Embedded (Part 4)
<<< Previous  | Next >>>

Tuesday Aug 26, 2014

How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 9)

This is the final part of "How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Technology". You've followed along and now have your Raspberry Pi connected to your home thermostat to control your heating, cooling, and fan controls of your furnace and A/C. You also ran through a Java diagnostic app that cycled through the heating, cooling, and fan relays to make sure you are able to turn on and off the controls programmatically. Very nice.

Now, it's up to you to create your user interface and control software. Remember to utilize the Web since you are connected via Wi-Fi to your home wireless network. Just make sure to use the proper HTTPS connection to any server and check for proper authorization for every connection. Using certificate based authentication is best, but that's a topic that's outside the scope of this series.

For the UI, just make sure Jetty is installed on your RPi. Jetty is a Java SE Embedded based Web server to run your UI on your local LCD touchscreen.

   sudo apt-get install jetty
   (cd /usr/share/jetty; sudo java -jar start.jar)

Now, when you boot up your Raspberry Pi, just configure your boot-up to bring up the Midori Web browser on the Ada Fruit TFT LCD screen pointing to your local Jetty Web server and your UI page to your software.


That should get you started on your way to building your own home thermostat control based on Java SE Embedded technology. Not too shabby!

Good luck on finishing out your project! Hope this was useful in getting you on your way to creating your own Nest startup.

Full series of steps:
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 1)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 2)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 3)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 4)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 5)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 6)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 7)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 8)
How to Build Your Own $3.2bln Nest Startup Using Java SE Embedded Tech (Part 9)
<<< Previous  | Next >>>

Monday Aug 25, 2014

Geertjan describes Raspberry Pi, Java SE Embedded & NetBeans Remote Platform

I was having an offline discussion with Geertjan about using NetBeans remote platform development with Java SE 8 Embedded on the Raspberry Pi. Soon as I mentioned how you do that with just a few straight-forward steps using sudo apt-get install oracle-java8-jdk, he's got it in a Web article.

That's fast!


Geertjan describes RPi & Java

Here's a quote:

 Once you have set up a Raspberry Pi, 
 the next step is to install "JDK 8 
 for Arm" on it. Here is how, on the 
 command line of the Raspberry Pi:

  sudo apt-get update
  sudo apt-get upgrade
  sudo apt-get install oracle-java8-jdk

 Once you have done that, you need: 
 Putty, WinSCP, SSH, and other command 
 line tools, right? Wrong.
Nice! Geertjan is right. All you need is to install oracle-java8-jdk on your RPi and have the NetBeans IDE running over the network on a host system, and you're cookin'!

Thursday Aug 21, 2014

Java 8 for Tablets, Pis, and Legos at Silicon Valley JUG - 8/20/2014

A bunch of people attended the Silicon Valley Java Users Group meeting last night and saw Stephen Chin talk about "Java 8 for Tablets, Pis, and Legos". I was there and thought Stephen's presentation and demos were very cool as always.

Here are some photos (mostly taken by Arun) from last night.


Photos from SV JUG 8/20/2014

The most interesting combination of the topics from last night (to me at least) is to combine Lambdas from Java SE Embedded 8 with running on an embedded device like the Raspberry Pi, or even better on an i.MX6 target device with a quad-core processor. Lambdas and Embedded, now that's a cool combo...

Tuesday Aug 19, 2014

Java SE Embedded-Enabled Raspberry Pi Ice Bucket Challenge

Help fight ALS at:


Java SE Embedded-Enabled Raspberry Pi Ice Bucket Challenge

My Java SE Enabled Raspberry Pi accepts the nomination for the ALS Ice Bucket Challenge and I hereby nominate the Nest thermostat, the Fitbit fitness tracker, and Apple TV.

Take the Ice Bucket Challenge. Help find the cure for ALS:

Friday Aug 15, 2014

Why are embedded device apps still written in C/C++? Why not Java programming language?

At the recent Black Hat 2014 conference in Sin City, the Black Hatters were focusing on Embedded Devices and IoT. You know? Make your networked-toaster burn your bread 10,000 miles away, over the Web for grins and giggles.

Well, apparently the Black Hatters say it can be done pretty easily these days, which is scary.


Securing Embedded Devices & IoT

Here's a quote:

 All these devices are still written 
 in C and C++.

 The challenges associated with 
 developing securely in these languages 
 have been fought for nearly two decades.
 "You often hear people say, 'Well, why 
 don't we just get rid of the C and C++ 
 language if it's so problematic. Why 
 don't we just write everything in C# or 
 Java, or something that is a little 
 safer to develop in?'," DeMott says. 
Gah! Why are all these IoT devices still using C/C++? Of course they should be using Java SE Embedded technology! It's a natural fit to use for better security on embedded devices. Or, I guess, developers really don't mind if their networked-toasters do char their breakfast. If it can be burned, it will be... That's what I say. Unless they use Java. :-)

Wednesday Aug 13, 2014

Paul Krill states: "Oracle is strengthening Java" technology

The editor-at-large at InfoWorld, Paul Krill, says that "Oracle is strengthening Java" in his recent opinion piece, and gives his reasons why. Well, that's good to know, since a strong Java makes for a set of happy Java developers, especially Java SE Embedded developers, who need plenty of strength in a smaller package.


Paul Krill: Oracle strengthening Java

Here's a quote:

 Oracle followed up Java SE 7 with 
 Java SE 8, with capabilities for 
 functional programming offered via 
 Project Lambda. In fact, some have 
 even feared Oracle was moving Java 
 too far with Lambda expressions.

 Up next for the standard edition of
 Java is version 9, which is expected 
 in 2016 and is slated to provide 
 modularity capabilities deferred 
 from Java SE 8. 

That's right. Cool new Java features just keep chugging along into all these new versions (Java SE 7, 8, and coming next 9). That goes for Java SE Embedded also, which is fully compliant with Java SE 7, 8, and eventually 9 with all its modular goodness. So, make sure to ask that Google when they'll have all these great features in Android. ;-) Inquiring minds want to know...

Wednesday Aug 06, 2014

AMD and Oracle collaborating on OpenJDK for ARMv8 64-bit servers

Here's an article on Project Sumatra, the AMD/Oracle collaboration to put Java SE Embedded technology onto their new ARM 64-bit motherboard (which can also accept x86 chips).


AMD and Oracle Collaborate on ARM 64-bit

Here's a quote:

 The board ships with software including 
 the LAMP stack—Red Hat Fedora Linux, 
 Apache web server, MySQL database and 
 PHP tools. The board also supports Java 
 7 and 8, which don’t yet have native 
 support for parallel acceleration across 
 CPUs and graphics processors. The 
 acceleration can be added to Java 
 virtual machines only through extra 
 layers of code. AMD and Oracle are 
 collaborating on an OpenJDK project 
 called Project Sumatra, which will bring 
 native CPU-GPU parallel execution to ARM 
 servers with Java 9, which is due next 
If you're into Big Iron servers running Java SE Embedded software (best type of combo for power savings and embedded programming), then you'll want Java SE Embedded ARMv8 64-bit support which is on its way. Just get ready, since racks and racks of these ARM 64-bit servers running embedded Java apps will be the next phase of data center processing...

Tuesday Aug 05, 2014

Silicon Valley JUG Wed 8/20/2014 Java SE Embedded 8 on Lego, Raspberry Pi, & Tablets

For those in the Silicon Valley area who like Raspberry Pi, Lego Mindstorms and Java SE Embedded, Stephen Chin (Oracle Java Ambassador) will be giving a presentation about Java SE Embedded 8 for tablets, RPi, & Lego Mindstorms on Wed. 8/20/2014 @ 6pm-9pm, Pacific Time at Google, Building CL2, Crane Beach Conference Room:

Sign up here:

Silicon Valley JUG Wed 8/20/2014

Java 8 for Tablets, RPis, and Legos
    Wednesday, August 20, 2014
    6:00 PM to 9:00 PM
    Crane Beach room, Google Bldg CL2
    1200 Crittenden Lane, 
    Mountain View, CA

    6:00 - 7:00 Networking & light 
                dinner - Thanks Google 
    7:00 - 7:15 Announcements
    7:15 - 8:45 Steve Chin will talk 
                about Java 8 Lambdas 
                and Devices
    8:45 - 9:00 Q&A
Good topic, good food, so-so venue... 2 out of 3 ain't bad. What else can you ask for? ;-)

Monday Aug 04, 2014

James Gosling's article about using Java SE Embedded 7 on ARM

Here's a cool Slate Magazine article I saw Yael W. like on Facebook about how James Gosling uses Java SE Embedded 7 on ARM for his wave riding Liquid Robotics robots.


James Gosling's Article

James Gosling
August 2 at 10:10am

Java sailing in the arctic!! These are some of 
our new bots whose control system is running on 
top of the embedded ARM JVM (we're still on JDK 
7). We've got two other groups of them in the 
arctic this summer, including three very close 
to the north magnetic pole - had to write some 
very special navigation code. Crazy stuff

Now, that is cool stuff and an awesome use of the Java SE Embedded technology. Internet of Wave Riding Things (IoWRT).

Friday Aug 01, 2014

New Raspberry Pi Model B+ Runs Java SE Embedded Apps Just Like Model B

What's the difference between the new Raspberry Pi Model B+ and the old Model B? Well, it's more than just the plus sign (+) in the name. There are more USB ports, better sound, and lots and lots more GPIO Pins.

Now that's what I'm talking about! I like having more GPIO pins when connecting my Java SE Embedded apps to all types of tasty devices like sensors and actuators!

See Raspberry Pi video blogger, Carrie Anne Philbin's run-down of the list of new features of the new RPi Model B+ on YouTube:

Geek Gurl Reviews RPi Model B+

And to add to the Geek Gurl's video (above), you should know that of course, all your old Java SE apps will run on the new RPi Model B+ without any problem, because... duh... "Write Once, Run Anywhere" Ya know? Java? Hello? Good stuff!

Just remember to update your version of the Java SE Embedded platform to the latest release on your Raspbian operating system:

sudo apt-get install oracle-java8-jdk

That's it! You will now have the most recent Java SE Embedded platform, the most awesome embedded platform for your Raspberry Pi Model B, B+, and any other letter and arithmetic symbol you can think of. Port your Model B Java apps to the Model B+ by just copying over the JAR files. What's easier than that? :-)


Hinkmond Wong's blog on making the Internet of Things (IoT) smarter with Java Technology and Artificial Intelligence (AI)


« August 2014 »