1
Java SE 8 for Tablets, Pis,
and Legos
Stephen Chin
Java Technology Ambassador
JavaOne Content Chair
@steveonjava
2
http://commons.wikimedia.org/wiki/File:Genting_Highlands_theme_park.jpg
3
Lego
Mindstorms
Dev
Boards DukePad
iOS Android
Windows
Tablet
4
World
Population 6.3 Billion 6.8 Billion 7.2 Billion 7.6 Billion
500 Million 12.5 Billion 25 Billion 50 Billion
Connecte...
5
From…
Things
Connected to
the Internet
www.
6
To…
The Internet
of Things
7
Java SE 7
Today
APIs Language
Java SE 7
CDC 1.1
CDC 1.1
(based on SE 1.4.2)
CLDC 1.1
(based on SE 1.3)
CLDC 1.1
8
Java SE 8Java SE 8
Java ME 8
Java 8
Java ME 8
APIs Language
9
Java SE
Java SE
Small
Devices
Beyond Java 8
Small
Devices
APIs Language
10
Java Embedded Native/C/C++
Cross-platform/multi-architecture/ Yes No
Sandbox security model Yes No
Robustness Excellent...
11
LeJOS
How it works on the EV3
12
The Heart of the EV3
§  TI Sitara AM1808
–  ARM9, 300Mhz
§  64MB RAM / 16MB Flash
§  Analog to Digital Converter
§ ...
13
EV3 Motors
14
EV3 Sensors
15
Color and Light Sensor
16
High frequency
sound waves
Measuring mode Vs Presence Mode
Ultrasonic Sensor
17
Infrared Sensor
18
Remote Control
19
Getting Started with LeJOS
§  Micro SD Card (> 2GB)
§  Compatible WIFI adapter
–  NetGear WNA1100
–  EDIMAX EW-7811Un...
20
Getting Started with LeJOS
§  IDE
–  Eclipse Kepler (needed to compile LeJOS source)
§  Jars you need:
–  OpenJDK Jav...
21
Simple LeJOS Application
import	
  lejos.nxt.Button;	
  
import	
  lejos.nxt.LCD;	
  
public	
  class	
  EV3FirstProgra...
22
Running on Device
Copy	
  your	
  jar	
  to	
  device:	
  
Desktop$	
  scp	
  EV3FirstProgram.jar	
  root@<ev3	
  ip>:~...
23
Lego Duke Segway
24
=
Have Java With Your Dessert
Raspberry Pi
25 http://elinux.org/File:Raspi-Model-AB-Mono-2-699x1024.png
26
I2C Hardware via Pi4J
3.3V/GND
MPU-9150
27
And what are these for?
http://i.imgur.com/k0Puu.jpg
28
Chalkboard Electronics Touchscreen
§  10" or 7" Form Factor
§  Connects via HDMI/USB
§  Tested with JavaFX 8
§  10%...
29
JavaFX on Raspberry Pi Gotchas
WebView Media
30
And you can do cool stuff like this…
https://bitbucket.org/stephanj/tweetwall
31
32
Example device that run Java SE Embedded
§  Trimslice
§  Plugcomputer
§  Beaglebone Black
§  Raspberry Pi
§  HDMI ...
33
DukePad
http://j.mp/dukepad
34
35
36
37
38
39
40
41
42
43
44
Getting Involved http://j.mp/dukepad
45
RoboVM
JavaFX on iOS
+ =
46
47
JavaFX on Android
It is about time!
48
Open Source Effort
https://bitbucket.org/javafxports/android/wiki/Home
49
MemeQuest: End-to-end JavaFX
§  Animations, Images, Binding, Controls on the Client
§  DataFX (http://www.javafxdata....
50
51
IoT Developer Challenge
§  Develop an embedded Java + Internet of Things (IoT)
application for a chance to win a trip ...
52
53
Stephen Chin
tweet: @steveonjava
blog: http://steveonjava.com
nighthacking.com
Real Geeks
Live Hacking
NightHacking Tour
54
The preceding is intended to outline our general product direction. It is intended
for information purposes only, and m...
Upcoming SlideShare
Loading in …5
×

Java 8 for Tablets, Pis, and Legos

3,593 views

Published on

Java 8 is the most impactful update to the Java ecosystem since Java 5, introducing an entirely new programming model with lambda expressions, and a whole new platform of applications with support for ARM embedded devices. In this presentation, you will see live demonstrations of Java 8 technology running on embedded platforms such as Raspberry Pi and Lego Mindstorms EV3, allowing Java-based applications to support the internet-of-things.

With new low cost devices entering the market, access to the world of embedded computing is become more cost affordable. And, with continued advances in Java, developers can easily begin creating innovative applications that leverage these low cost devices. Come and learn how to build the future of Java.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,593
On SlideShare
0
From Embeds
0
Number of Embeds
182
Actions
Shares
0
Downloads
65
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Java 8 for Tablets, Pis, and Legos

  1. 1. 1 Java SE 8 for Tablets, Pis, and Legos Stephen Chin Java Technology Ambassador JavaOne Content Chair @steveonjava
  2. 2. 2 http://commons.wikimedia.org/wiki/File:Genting_Highlands_theme_park.jpg
  3. 3. 3 Lego Mindstorms Dev Boards DukePad iOS Android Windows Tablet
  4. 4. 4 World Population 6.3 Billion 6.8 Billion 7.2 Billion 7.6 Billion 500 Million 12.5 Billion 25 Billion 50 Billion Connected Devices per Person 0.08 1.84 6.583.47 2003 2010 20202015 Source: Cisco 3x 5x1x Connected Devices
  5. 5. 5 From… Things Connected to the Internet www.
  6. 6. 6 To… The Internet of Things
  7. 7. 7 Java SE 7 Today APIs Language Java SE 7 CDC 1.1 CDC 1.1 (based on SE 1.4.2) CLDC 1.1 (based on SE 1.3) CLDC 1.1
  8. 8. 8 Java SE 8Java SE 8 Java ME 8 Java 8 Java ME 8 APIs Language
  9. 9. 9 Java SE Java SE Small Devices Beyond Java 8 Small Devices APIs Language
  10. 10. 10 Java Embedded Native/C/C++ Cross-platform/multi-architecture/ Yes No Sandbox security model Yes No Robustness Excellent Varied Multi-tasking/multi-threading Built-in Add-on, platform- specific Automatic memory management Yes No Pre-integrated and customizable Yes Varied Performance Optimized Varied Code updatability Excellent Varied Efficient, scalable development model from small embedded to large systems Yes No Developer community Large Fragmented
  11. 11. 11 LeJOS How it works on the EV3
  12. 12. 12 The Heart of the EV3 §  TI Sitara AM1808 –  ARM9, 300Mhz §  64MB RAM / 16MB Flash §  Analog to Digital Converter §  4 Motor Ports §  4 Sensor Ports §  Bluetooth / USB §  MicroSD
  13. 13. 13 EV3 Motors
  14. 14. 14 EV3 Sensors
  15. 15. 15 Color and Light Sensor
  16. 16. 16 High frequency sound waves Measuring mode Vs Presence Mode Ultrasonic Sensor
  17. 17. 17 Infrared Sensor
  18. 18. 18 Remote Control
  19. 19. 19 Getting Started with LeJOS §  Micro SD Card (> 2GB) §  Compatible WIFI adapter –  NetGear WNA1100 –  EDIMAX EW-7811Un §  Linux (or a Linux VM) §  Details here: Creating Your SD Card http://sourceforge.net/p/lejos/wiki/Home/
  20. 20. 20 Getting Started with LeJOS §  IDE –  Eclipse Kepler (needed to compile LeJOS source) §  Jars you need: –  OpenJDK Java 7 Runtime –  Java Native Access (libjna) §  Download/compile LeJOS Code –  Repo: git://git.code.sf.net/p/lejos/ev3 Creates ev3classes.jar Setting Up Your Dev Environment
  21. 21. 21 Simple LeJOS Application import  lejos.nxt.Button;   import  lejos.nxt.LCD;   public  class  EV3FirstProgram  {          public  static  void  main(String[]  args)  {                  LCD.clear();                  LCD.drawString("First  EV3  Program",  0,  5);                  Button.waitForAnyPress();                  LCD.clear();                  LCD.refresh();          }   }  
  22. 22. 22 Running on Device Copy  your  jar  to  device:   Desktop$  scp  EV3FirstProgram.jar  root@<ev3  ip>:~     SSH  to  device  (password  is  blank):   Desktop$  ssh  root@<ev3  ip>     Run  program:   EV3$  jrun  –cp  EV3FirstProgram.jar  EV3FirstProgram  
  23. 23. 23 Lego Duke Segway
  24. 24. 24 = Have Java With Your Dessert Raspberry Pi
  25. 25. 25 http://elinux.org/File:Raspi-Model-AB-Mono-2-699x1024.png
  26. 26. 26 I2C Hardware via Pi4J 3.3V/GND MPU-9150
  27. 27. 27 And what are these for? http://i.imgur.com/k0Puu.jpg
  28. 28. 28 Chalkboard Electronics Touchscreen §  10" or 7" Form Factor §  Connects via HDMI/USB §  Tested with JavaFX 8 §  10% Exclusive Discount: G1F0U796Z083
  29. 29. 29 JavaFX on Raspberry Pi Gotchas WebView Media
  30. 30. 30 And you can do cool stuff like this… https://bitbucket.org/stephanj/tweetwall
  31. 31. 31
  32. 32. 32 Example device that run Java SE Embedded §  Trimslice §  Plugcomputer §  Beaglebone Black §  Raspberry Pi §  HDMI Stick (white one) §  iMX6 Saberlite / Platform Kit §  iMX53 Tablet §  ST Micro Snowball
  33. 33. 33 DukePad http://j.mp/dukepad
  34. 34. 34
  35. 35. 35
  36. 36. 36
  37. 37. 37
  38. 38. 38
  39. 39. 39
  40. 40. 40
  41. 41. 41
  42. 42. 42
  43. 43. 43
  44. 44. 44 Getting Involved http://j.mp/dukepad
  45. 45. 45 RoboVM JavaFX on iOS + =
  46. 46. 46
  47. 47. 47 JavaFX on Android It is about time!
  48. 48. 48 Open Source Effort https://bitbucket.org/javafxports/android/wiki/Home
  49. 49. 49 MemeQuest: End-to-end JavaFX §  Animations, Images, Binding, Controls on the Client §  DataFX (http://www.javafxdata.org) for communication with DaliCloud back-end §  User Interface: We need to stop Johan from doing User Interfaces. Who wants to help? §  Code + downloads at http://bitbucket.org/lodgon/memequestfx
  50. 50. 50
  51. 51. 51 IoT Developer Challenge §  Develop an embedded Java + Internet of Things (IoT) application for a chance to win a trip to JavaOne §  9 JavaOne trips for 3 professional winning teams (1 trip =JavaOne pass + up to $2,000 for flight & hotel) §  And, for students: 1st place: 3 JavaOne trips 2nd & 3rd place: Laptops & certification vouchers §  Attend free online Get Started training in March and April for a chance to win a Raspberry Pi Starter kit §  Submit online at www.java.net/challenge by May 30th
  52. 52. 52
  53. 53. 53 Stephen Chin tweet: @steveonjava blog: http://steveonjava.com nighthacking.com Real Geeks Live Hacking NightHacking Tour
  54. 54. 54 The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle.

×