Devoxx 2013 io t

1,626 views
1,493 views

Published on

KICKSTART YOUR RASPBERRY PI AND/OR LEAPMOTION PROJECT - Presentation about Java Embedded and Raspberry Pi

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,626
On SlideShare
0
From Embeds
0
Number of Embeds
196
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Devoxx 2013 io t

  1. 1. #DV13 #iothackfest Tori Wieldt, Yara Senger, Yoland and Vinicius Oracle / OTN / Globalcode @java
  2. 2. Thanks!  Oracle Technology Network:  Tori Wieldt, Senior Java Community Manager  Yolande Poirier, Java Community Manager  Devoxx Team  Thank YOU for being here! #DV13-#iothackfest @java
  3. 3. Vinicius Senger  +20 years working with software development  Founder of Globalcode, training &consulting since 2001  Java EE developer profile  Started with electronics, Sun Spot, Arduino and Linux    Embedded 5 years ago Duke’s Choice Award 2011 JavaOne Rockstar 2012 Now I'm Maker! #DV13-#iothackfest @java
  4. 4. Yara Senger  SouJava President  Java Champion  Duke’s Choice Award 2011  JavaOne Rock Start 2012  Director of The Developer’s Conference  and …  My wife!!!  #DV13-#iothackfest @java
  5. 5. #DV13-#iothackfest @java
  6. 6. Ubatuba = 86 different beaches! Come visit us! #DV13-#iothackfest @java
  7. 7. Devoxx IoT Hack Fest  Promoted by Oracle and Devoxx;  Two days of IoT, Java and hacking!  Not a competition;  Educational content in the morning;  Hacking and hands-on in the afternoon;  Mentors and Experts for Java Embedded Platform  Sponsored by Oracle Technology Network (cwyat) #DV13-#iothackfest @java
  8. 8. 3 Java IoT / Embedded "Hack Fest" rd  July, Brazil TDC: RPi Hackathon  October, US JavaOne: RPi Developer Challenge  November, BE Devoxx: IoT Hack Fest #DV13-#iothackfest @java
  9. 9. Devoxx Hack Fest  Learn: Raspberry Pi & Java / Leap Motion  Idea brainstorm: World Wide Cafe with Yara Senger  Team Development: Make a prototype during two days  with mentors help Publish: source code, OTN Blog and during Steve's talk tomorrow! #DV13-#iothackfest @java
  10. 10. The Prizes  Knowledge  Networking  FUN!!!!!!  Hugs for Free!! #DV13-#iothackfest @java
  11. 11. Monday  9:30 – 11:00 - Vinicius Senger • Introduction to Raspberry Pi and IoT • Raspberry Pi + GPIO + Java • Hands-on Lab with Oracle's Kit  11:00 – 11:45 - Introduction to Leap Motion  11:45 – 12:30 – Brainstorm and Team Formation  13:30 – 20:00 - Project Development • Your team can use Oracle's Kit! #DV13-#iothackfest @java
  12. 12. Tuesday  9:30 – 11:00 - Vinicius Senger • Raspberry GPIO with PI4J • Raspberry Pi Camera • Raspberry + Arduino Integration  11:00 – 12:00 – Show Cases  12:00 – 12:30 – Teams Meeting  13:30 – 18:00 – Development  18:00 – 19:00 – Project presentations #DV13-#iothackfest @java
  13. 13. Hacking Fest – Oracle's Kit  8 x Raspberry Pi  2 x Camera  4 LCD plate  3 Arduino  5 x LCD Display  2 x LED Matrix  1 x Home Automation Box  1 x Embedded Panel – "Intranet of Things" #DV13-#iothackfest @java
  14. 14. Let's start the fest? #DV13-#iothackfest @java
  15. 15. The moment… + Do it yourself + Open-source hardware and software + Entrepreneurship / Crowdfunding + Creativity + Cheaper Tiny Computer + Easy of Embedded Development #DV13-#iothackfest @java
  16. 16. Do it yourself      Fix yourself use to be the first stimulus for d.i.y. Learn different things & life-style End-to-end developer: wood, firmware, hardware, soldering, mechanics and creativity Not about paying less or cheaper devices Exciting moment for D.I.Y communities! #DV13-#iothackfest @java
  17. 17. Do it your self in action! Student Satellites #DV13-#iothackfest @java
  18. 18. Do it your self • • • • • Horse Instrumentation Arduino Heart beat Accelerometer GPS #DV13-#iothackfest @java
  19. 19. Do it your self in action! #DV13-#iothackfest Neutrons Diffractmeter @java
  20. 20. Do it your self in action! Boat Automation #DV13-#iothackfest @java
  21. 21. Your idea, your business! #DV13-#iothackfest @java
  22. 22. Internet of Things - IoT     One computer per (relevant) thing as the new one computer per child? Smart Things ecosystem More than 40 billion devices by 2020; Things… #DV13-#iothackfest @java
  23. 23. Internet of Things #DV13-#iothackfest @java
  24. 24. Internet of Things #DV13-#iothackfest @java
  25. 25. Internet of Things #DV13-#iothackfest @java
  26. 26. Java & IoT Personal Devices Med-Large Embedded / Multifunction Devices VoIP Comm Industrial controls / Network Appliances Sensors / Microcontrollers EmbeddedCloud Meters Enterprise Data & Applications Smart Appliances & electronics #DV13-#iothackfest Management / Monitoring / Operations Connected Vehicles @java
  27. 27. Raspberry Pi: small, simple and cheaper computer! • U$ 25 / U$ 35 Tiny Computer • Arm v6 ARM1176JZF-S 700mhz / 512MB • SOC Broadcom BCM2835 • GPU Videocore 4 • HDMI Video • Ethernet and 2 USBs • GPIO: UART, I2C, SPI, digitais • Audio / LCD / Camera #DV13-#iothackfest @java
  28. 28. #DV13-#iothackfest @java
  29. 29. Raspberry Pi  Do it yourself and industry projects! #DV13-#iothackfest @java
  30. 30. Raspberry Pi Common user #DV13-#iothackfest @java
  31. 31. Raspberry Pi Hacking #DV13-#iothackfest @java
  32. 32. Starting your Pi • Download your choise of OS: • Raspbian (most popular and used here) • Pidora • Archlinux • RISC Os • Media Server XBMC #DV13-#iothackfest @java
  33. 33. Image to Card • Linux Command • dd if=<img.img> of=/dev/sdb • Take CARE! #DV13-#iothackfest @java
  34. 34. Power Supply • 5volts 1amp recommended! • Micro USB • Use a good power supply, it's sensible • Rebooting use to be a power supply problem • UBEC for battery regulator #DV13-#iothackfest @java
  35. 35. Boot! • user: pi • password: raspberry • xserver is not started by default! • command: startx #DV13-#iothackfest @java
  36. 36. Demo • Starting Raspberry Pi! • Booting Rpi • startx #DV13-#iothackfest @java
  37. 37. Network Setup (DHCP) /etc/interfaces/network auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp #DV13-#iothackfest @java
  38. 38. Network Setup: Static IP /etc/interfaces/network auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet static address 192.168.1.118 gateway 192.168.1.1 netmask 255.255.255.0 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp #DV13-#iothackfest @java
  39. 39. Network Setup: WIFI /etc/wpa_suplicant/wpa_suplicant.conf network={ ssid="ssid name" psk="key" } #DV13-#iothackfest @java
  40. 40. sudo raspi-config #DV13-#iothackfest @java
  41. 41. vnc  Start the server: vncserver :1  Create a password  Using VNC Client ip address + :1 • ip address:1 #DV13-#iothackfest @java
  42. 42. Demo vnc, network setup and raspi-config #DV13 #iothackfest @java
  43. 43. Raspberry Pi GPIO 5V 18 GND 23 GND 24 GND 25 8 7 11 (SCLK) 5V GND P1-01 3.3V #DV13-#iothackfest 4 GND 17 27 22 GND @java
  44. 44. GPIO • Digital, Analog, PWM, UART, I2C and SPI • Digital vs Analog • PWM • UART: old but gold Serial • I2C and SPI: component bus #DV13-#iothackfest @java
  45. 45. Raspberry Pi GPIO • where the fun lives! • 17 digital pins: • 7 general, 1 pwm, 2 I2C, 5 SPI, 2 UART • CMOS (3.3 volts) and not TTL (5 volts) take care! • MAX232 can convert 5 – 3 volts vice-versa #DV13-#iothackfest @java
  46. 46. where the fun lives! https://www.modmypi.com/blog/raspberry-pi-gpio-cheat-sheet #DV13-#iothackfest @java
  47. 47. Relay Board Example • GND, 5 volts, relay1, relay2 #DV13-#iothackfest @java
  48. 48. wiringPI GPIO Interface library Command line GPIO manipulation Setup digital 24 as output: sudo gpio -g mode 24 output "Turn on" digital 24: sudo gpio -g write 24 1 Turn off digital 24: sudo gpio -g write 24 0 • • • • #DV13-#iothackfest @java
  49. 49. wiringPI • Reading port state script #!/bin/bash CMD=$(sudo gpio -g read 24) echo $CMD if [ $CMD == "0" ]; then CMD="sudo gpio -g write 24 1"; else CMD="sudo gpio -g write 24 0"; fi echo $CMD $CMD #DV13-#iothackfest @java
  50. 50. webioPI • GPIO over the web • Listen to port 8000, ex 192.168.1.12:8000 • User: webiopi • Password: raspberry #DV13-#iothackfest @java
  51. 51. Demo GPIO, wiringPi and WebIOPI #DV13 #iothackfest @java
  52. 52. Java & RPi Hack "Fast Image" Ready to use! /home/pi/java is the central Java directory Comes with JDK 1.8, JES 7 and Java ME 3.3 Sample Apps Available: • • • • • • • Things RESTFul Gateway – Java EE App PiFit – Java SE Tweet4Pi – Java SE AutomationFX – Java FX #DV13-#iothackfest @java
  53. 53. Java SE Embedded Optimized for Raspberry Pi / ARM Hard-float support All the JVM facilities embedded: debug, GC, distribution, class loading, etc. GPIO Access using Pi4j Your Java SE knowledge now embedded!!! • • • • #DV13-#iothackfest @java
  54. 54. Java EE Embedded: Server-side just arrives in embedded side! Lightweight Java EE server for embedded Stack: Java SE Embedded, Glassfish, JavaDB Embedded-cloud as the new client-server? Gateway for infrared, zigbee, rfid, rs232, rs485, etc. Cache, persistence, processing, integration, security, etc. REST / JPA / Servlet "firmware" as server! • • • • • • • #DV13-#iothackfest @java
  55. 55. Java FX Very rich interface for embeddded projects Good performance inside Raspberry Pi (runs direct on GPU) Setup Required: boot/config – uncomment: #framebuffer_width=1280 #framebuffer_height=720 Overclock 1Gh recommended (raspi-config) Video memory split to 128mb (raspi-config) • • #DV13-#iothackfest @java
  56. 56. Java ME Embedded Java ME for Real Embedded Projects! Internet das Coisas com 3G + Java ME + GPIO Manutenção, debug, OTA, ferramentas Baixo custo no Brasil: U$ 5 para larga escala! Indústria, protótipos e "Do It Your Self" BubbleBoard Gemalto • • • • • #DV13-#iothackfest @java
  57. 57. Oracle Event Processing Embedded Embedded being smart Complex event arrives in your embedded project! Data + persistence = database Data + Complex Event = information Information Collection = Smart! • • • • #DV13-#iothackfest @java
  58. 58. Demo Java + Raspberry Pi #DV13 #iothackfest @java
  59. 59. Embedded Panel • You can consume via REST or deploy your app there! • Shared sensors / devices: • • • • • • 2 Raspberry Pi's + 2 Arduino Based Board 8 relays Water Pump, Fan, Pop Corn Machine LED RGB Stripe Alcohol, distance, temperature, humidity, light sensors Polar heart Monitor #DV13-#iothackfest @java
  60. 60. Components & Toys Embedded Panel You can consume via REST or deploy your app there! Shared sensors / devices: • • • • • • • • 2 Raspberry Pi's + 2 Arduino Based Board 8 relays Water Pump, Fan, Pop Corn Machine LED RGB Stripe Alcohol, distance, temperature, humidity, light sensors Polar heart Monitor #DV13-#iothackfest @java
  61. 61. DEMO: Raspberry Pi + JES + Arduino #DV13-#iothackfest @java
  62. 62. #DV13-#iothackfest @java
  63. 63. Components & Toys Embedded Panel 192.168.1.11 – Raspberry Pi #1 (Embedded Panel) 192.168.1.12 – Raspberry Pi #2 (Embedded Panel) 192.168.1.41 – Raspberry Pi #3 (Home Automation Box) • • • #DV13-#iothackfest @java
  64. 64. Components & Toys Embedded Panel – Pi #1 http://192.168.1.11:8080/things/relay1 = AC #1 http://192.168.1.11:8080/things/relay3 = AC #2 http://192.168.1.11:8080/things/temp_out = Temperature external http://192.168.1.11:8080/things/temp_in = Board Temperature http://192.168.1.11:8080/things/humidity http://192.168.1.11:8080/things/distance • • • • • • #DV13-#iothackfest @java
  65. 65. Components & Toys Embedded Panel – Pi #2 http://192.168.1.12:8080/things/relay2 = AC #3 http://192.168.1.12:8080/things/relay4 = AC #4 http://192.168.1.12:8080/things/alcohol http://192.168.1.12:8080/things/temp_in = Board Temperature http://192.168.1.12:8080/things/servo = Servo Camera http://192.168.1.12:8081 = Camera Image • • • • • • #DV13-#iothackfest @java
  66. 66. Components & Toys Home Automation Box •http://192.168.1.41:8080/things/temp_out = Temperature external •http://192.168.1.41:8080/things/temp_in = Board Temperature •http://192.168.1.41:8080/things/humidity •http://192.168.1.41:8080/things/red/x = red color (x=0 to 255) •http://192.168.1.41:8080/things/green/x = green color (x=0 to 255) •http://192.168.1.41:8080/things/blue/x = blue color (x=0 to 255) #DV13-#iothackfest @java
  67. 67. Things Gateway Embedded • • • RESTFul App that exposes sensors and actuators to the Web Uses Java Embedded Suite Stack + Things API Allows you to access RPi GPIO and Arduinos #DV13-#iothackfest @java
  68. 68. Things Gateway Embedded • Pre-installed on all SDCard pi@pi1 ~ $ cd java/ pi@pi1 ~/java $ ./things-gateway.sh Deploying /home/pi/java/things.jar ... Press <Enter> to exit server. http://ip:8080/things/light http://ip:8080/things/red/200 Ready to use: http://ip:8080/things/distance http://ip:8080/things/XXXXX • #DV13-#iothackfest @java
  69. 69. Things Gateway Embedded http://ip:8080/things/red/200 http://ip:8080/things/light http://ip:8080/things/distance Raspberry Pi Server Things API Arduino #DV13-#iothackfest @java
  70. 70. Things API – Source Sample code to access Arduino sensors using Things API: git clone https://github.com/vsenger/things-api #DV13-#iothackfest @java
  71. 71. Things API – more tomorrow! git clone https://github.com/vsenger/things-api #DV13-#iothackfest @java
  72. 72. Hands-on lab • Using Oracle's kit #DV13-#iothackfest @java

×