Java 8 for Tablets, Pis, and Legos
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Java 8 for Tablets, Pis, and Legos

on

  • 1,273 views

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

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.

Statistics

Views

Total Views
1,273
Views on SlideShare
1,270
Embed Views
3

Actions

Likes
3
Downloads
35
Comments
0

3 Embeds 3

https://twitter.com 1
http://www.slideee.com 1
http://nighthacking.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Java 8 for Tablets, Pis, and Legos Presentation Transcript

  • 1. 1 Java SE 8 for Tablets, Pis, and Legos Stephen Chin Java Technology Ambassador JavaOne Content Chair @steveonjava
  • 2. 2 http://commons.wikimedia.org/wiki/File:Genting_Highlands_theme_park.jpg
  • 3. 3 Lego Mindstorms Dev Boards DukePad iOS Android Windows Tablet
  • 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 From… Things Connected to the Internet www.
  • 6. 6 To… The Internet of Things
  • 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 Java SE 8Java SE 8 Java ME 8 Java 8 Java ME 8 APIs Language
  • 9. 9 Java SE Java SE Small Devices Beyond Java 8 Small Devices APIs Language
  • 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 LeJOS How it works on the EV3
  • 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 EV3 Motors
  • 14. 14 EV3 Sensors
  • 15. 15 Color and Light Sensor
  • 16. 16 High frequency sound waves Measuring mode Vs Presence Mode Ultrasonic Sensor
  • 17. 17 Infrared Sensor
  • 18. 18 Remote Control
  • 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 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 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 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 Lego Duke Segway
  • 24. 24 = Have Java With Your Dessert Raspberry Pi
  • 25. 25 http://elinux.org/File:Raspi-Model-AB-Mono-2-699x1024.png
  • 26. 26 I2C Hardware via Pi4J 3.3V/GND MPU-9150
  • 27. 27 And what are these for? http://i.imgur.com/k0Puu.jpg
  • 28. 28 Chalkboard Electronics Touchscreen §  10" or 7" Form Factor §  Connects via HDMI/USB §  Tested with JavaFX 8 §  10% Exclusive Discount: G1F0U796Z083
  • 29. 29 JavaFX on Raspberry Pi Gotchas WebView Media
  • 30. 30 And you can do cool stuff like this… https://bitbucket.org/stephanj/tweetwall
  • 31. 31
  • 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 DukePad http://j.mp/dukepad
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. 41
  • 42. 42
  • 43. 43
  • 44. 44 Getting Involved http://j.mp/dukepad
  • 45. 45 RoboVM JavaFX on iOS + =
  • 46. 46
  • 47. 47 JavaFX on Android It is about time!
  • 48. 48 Open Source Effort https://bitbucket.org/javafxports/android/wiki/Home
  • 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
  • 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
  • 53. 53 Stephen Chin tweet: @steveonjava blog: http://steveonjava.com nighthacking.com Real Geeks Live Hacking NightHacking Tour
  • 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.