Wednesday Dec 10, 2014

Angela demos IoT wearable sensors & email on a Raspberry Pi

Here's Angela Caicedo (Java Evangelist here at Oracle) along with Yolande Poirier (Java Community Outreach Manager also at Oracle) giving a quick demo of IoT wearable sensors in a jacket, along with the ability to read e-mail. Angela creates the coolest IoT demos!

I wonder if any of the items are for sale at Amazon... Good as a Holiday Gift. Just sayin'...

See:

Angela Caicedo Demos Her IoT Wearables

There's a bonus IoT magic trick at the end of the video. I think it's really magic. Magic with IoT technology! :-)

Tuesday Dec 09, 2014

IDC IoT Eyechart: Find Oracle

In a recent IDC publicly available PDF report ("IDC FutureScape: Worldwide Internet of Things 2015 Predictions"), there is a nice IoT Eyechart included in slide #18.

Did you ever play the game, "Where's Waldo?". Well, here's your chance to play, "Where's Oracle?". Just click on the eyechart to embiggen it.

See:

IDC IoT Eyechart: Find Oracle

So, in the IoT world for now (end of 2014), we can see Oracle in this IDC report eyechart in the boxes for: Analytics Services, Platforms (Device & Application Enablement), Services, and Servers.

And, that's not too shabby to be in those four boxes. The Platforms (Device & Application Enablement) box is my favorite, since that also includes Java SE Embedded on the Raspberry Pi, which should make open source developers and hobbyist happy too. And, when open source developers are happy, everybody's happy! ;-)

Monday Dec 08, 2014

Forbes article: 6 Ways to Define Your IoT Strategey

Here's a Forbes article on "Six Ways to Define Your Internet of Things Strategy". No surprises here. The article's author breaks IoT into 3 groups: Enablers, Engagers, & Enhancers. Uh... Is "Engagers" even a word? Well, we're going to let that pass, for IoT's sake. ;-)

Oracle is in the first 2 groups: Enablers and Engagers (sic), especially with the use of open standards-based technologies, such as Java technology, to "enable" and "engage" IoT developer needs. Natch, since this is the place to get your Java.

See:

6 Ways to Define Your IoT

Here's a quote:

 Most Engagers will deploy an 
 initial wave of basic connected 
 devices and services. Then they 
 will build further services by 
 using analytics to gain insights 
 from the wealth of new data that 
 the IoT provides them. As these 
 deployments unfold, Engagers 
 will look for ways to increase 
 value. This is where Enhancers 
 will come in...
I'm still wondering which spell-checker the author used, since "Engagers" should've came up hot. Maybe, he used an "Enabling" spell-checker that enabled the word "Engagers" to pass... ;-)

Tuesday Dec 02, 2014

IoT Reaching Escape Velocity

Here's an IoT article on TechCrunch that talks about the new increase of hardware incubators, entrepreneurs, crowdfunding, VCs, new companies and products popping up left and right making the Internet of Things take off like a rocket.

See:

IoT Reaching Escape Velocity

Here's a quote:

 While the Internet of Things 
 will inevitably ride the ups 
 and downs of inflated hype 
 and unmet expectations, at 
 this stage there’s no putting 
 the genie back in the bottle.

 The IoT is propelled by an 
 exceptional convergence of 
 trends (mobile phone ubiquity, 
 open hardware, big data, the 
 resurrection of AI, cloud 
 computing, 3D printing and 
 crowdfunding).
Well, if IoT is reaching "Escape Velocity" then we better make sure to use Java technology to keep a well-grounded foundation for the platform we're launching the Internet of Things from. Just continuing on with the metaphor... Rockets and all. Cool.

Monday Dec 01, 2014

Cyber Monday - IoT deal - SparkFun MiP Robotic Platform w/Free Shipping

SparkFun is having a special IoT deal: Free Shipping on the MiP Robotic Platform $99.95 (while supplies last!)

This robot comes with documentation and apps are available to control it with an iOS and Android smartphone. But, with a bit of tweaking, I'm guessing you could also get it to work with a Raspberry Pi and a Java app... Just sayin'...

See:

SparkFun MiP Robot

Here's a quote:

 Description: The MiP Robotic Platform 
 is the first self-balancing robot 
 that you get to control and play 
 games with. The MiP can drive, dance, 
 plays games, battle with other MiPs...
Great as an IoT stocking stuffer!

Monday Sep 22, 2014

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

Now that we know that we'll be using a Parallax USB RFID Reader as an IoT sensor for our Jini Auto-Discovery, we can do a quick refresher of how Jini Auto-Discovery works.

In the diagram to the right we see that, multiple IoT devices on the right side connect the Jini network (such as via Wi-Fi, Bluetooth, or in this case USB), where a Java VM is listening. Once that IoT device shows up on the Jini network, it will need a Jini proxy running in a Jini client application to "proxy" the IoT device as a Jini "service provider" (in other words, an IoT sensor, actuator, or device will perform an action for a Jini client, such as take a measurement/reading, move a servo motor, etc.) via a Jini "proxy". This is how an IoT network of devices becomes more automated and easier to integrate, with everything talking the Java programming language to each other using Java objects.

And, this gives us the key to how the RFID reader will be auto-discovered by our Jini network, so that we just plug it in, and it works (with any other IoT app, network or device)!

So, Jini technology allows for disparate IoT devices and networks (such as a Fitbit wearable, Apple HealthKit heart monitor, Google Nest thermostat, WeMo light switch, or any other IoT device) interact with each other, with apps, and with the cloud.

Next, we'll take a closer look at the how the Jini Look-Up Service running on the Java VM is the integral part of this picture...

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 >>>

Thursday Sep 04, 2014

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

For the Discovery part of the Jini Auto-Discovery of an IoT sensor, we'll need the specification of the device we are trying to on-board. In this case, we are integrating the Parallax USB RFID Reader using the Jini technology techniques for device discovery.

After a quick Web search, we see there is information about how to manually connect the Parallax USB RFID Reader at Stephen James Mason's blog post:

See:
https://stephenjam.es/wp/raspberry-pi-rfid-reader-with-java-and-pi4j-part-1/

That gives us the key to integrating that specific sensor into a Jini network that we are creating. Just take the part that is manually being done (in the blog post) and write a Jini discovery adapter to watch for it when that particular Parallax USB RFID Reader gets connected to the Raspberry Pi.

...
int result = serial.open( "/dev/ttyUSB0", 2400 );
...
In the RFID reader manual, the key 
transmitted is described as a sequence 
of bytes, such as “ 0x0A, 0×30, 0×46, 
0×30, 0×31, 0×38, 0×34, 0×46, 0×30, 
0×37, 0×41, 0x0D”, where 0x0a is the 
start byte, and 0x0d is the stop byte, 
leaving the remaining 10 bytes as the 
tag’s unique key. 
So, the sequence (above string of bytes from the USB device) is what we use to "discover" that specifically the Parallax USB RFID Reader was just connected to the USB port of the Raspberry Pi. At that point of discovery, we "Look-Up" the correct Jini proxy to use to communicate with that RFID Reader from inside a Java application (using the manufacturer's RFID Reader manual as our guidance).

Next, we'll take a closer look at the Jini code that is used to "discover" that RFID reader sequence of bytes (or its "fingerprint") so that the Jini auto-discovery phase happens each time a new connection is made, instead of doing that "manually" like it is described in Stephen James Mason's blog post. Automatically done is the way to go, and it's the Jini way!

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 Sep 02, 2014

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

To start us off auto-discovering IoT sensors and devices for quick on-boarding, we'll first take a look at the basics of Jini technology.

There are two main concepts:

 Discovery: boot-strap sensor/device
 Look-Up: directory of services
For the purposes of IoT easy on-boarding, both concepts are important. We want the sensor or device to boot-strap itself (with proper authentication and authorization) onto the IoT network. Then, we want the sensor or device to look-up the proper Jini proxy to use for communication.

Those are the basic steps behind Jini and will be what makes on-boarding to an IoT network so easy. In the next post, we'll drill down to how to make your IoT sensor or device do each step. Exciting... :-)

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 >>>

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.

See: http://www.ediy.com.my/index.php/blog/item/102-raspberry-pi-running-midori-browser-without-a-desktop

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!

See:

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.

See:

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: http://www.alsa.org/fight-als/

See:

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: http://www.alsa.org/fight-als/ice-bucket-challenge.html

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.

See:

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.

See:

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...

About

Hinkmond Wong's blog on making the Internet of Things (IoT) smarter with Java Technologies

Search

Archives
« August 2015
SunMonTueWedThuFriSat
      
1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
18
19
20
21
22
23
25
26
27
29
30
31
     
Today