Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#DV13 #iothackfest

Tori Wieldt, Yara Senger, Yoland and Vinicius
Oracle / OTN / Globalcode

@java
Thanks!

 Oracle Technology Network:

 Tori Wieldt, Senior Java Community Manager
 Yolande Poirier, Java Community Mana...
Vinicius Senger

 +20 years working with software development
 Founder of Globalcode, training &consulting since 2001
 ...
Yara Senger

 SouJava President
 Java Champion
 Duke’s Choice Award 2011
 JavaOne Rock Start 2012
 Director of The De...
#DV13-#iothackfest

@java
Ubatuba = 86 different beaches!

Come visit us!
#DV13-#iothackfest

@java
Devoxx IoT Hack Fest

 Promoted by Oracle and Devoxx;
 Two days of IoT, Java and hacking!
 Not a competition;
 Educati...
3 Java IoT / Embedded "Hack Fest"
rd

 July, Brazil TDC: RPi Hackathon
 October, US JavaOne: RPi Developer Challenge
 N...
Devoxx Hack Fest

 Learn: Raspberry Pi & Java / Leap Motion
 Idea brainstorm: World Wide Cafe with Yara Senger
 Team De...
The Prizes

 Knowledge
 Networking
 FUN!!!!!!
 Hugs for Free!!

#DV13-#iothackfest

@java
Monday

 9:30 – 11:00 - Vinicius Senger
• Introduction to Raspberry Pi and IoT
• Raspberry Pi + GPIO + Java
• Hands-on La...
Tuesday

 9:30 – 11:00 - Vinicius Senger
• Raspberry GPIO with PI4J
• Raspberry Pi Camera
• Raspberry + Arduino Integrati...
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
...
Let's start the fest?

#DV13-#iothackfest

@java
The moment…
+ Do it yourself
+ Open-source hardware and software
+ Entrepreneurship / Crowdfunding
+ Creativity
+ Cheaper ...
Do it yourself







Fix yourself use to be the first stimulus for d.i.y.
Learn different things & life-style
End-to...
Do it your self in action!

Student Satellites
#DV13-#iothackfest

@java
Do it your self

•

•
•
•
•

Horse Instrumentation
Arduino
Heart beat
Accelerometer
GPS

#DV13-#iothackfest

@java
Do it your self in action!

#DV13-#iothackfest

Neutrons Diffractmeter

@java
Do it your self in action!

Boat Automation
#DV13-#iothackfest

@java
Your idea, your business!

#DV13-#iothackfest

@java
Internet of Things - IoT






One computer per (relevant) thing as the new one
computer per child?
Smart Things ecosy...
Internet of Things

#DV13-#iothackfest

@java
Internet of Things

#DV13-#iothackfest

@java
Internet of Things

#DV13-#iothackfest

@java
Java & IoT
Personal
Devices

Med-Large Embedded / Multifunction Devices

VoIP Comm
Industrial controls /
Network Appliance...
Raspberry Pi: small, simple and
cheaper computer!

• U$ 25 / U$ 35 Tiny Computer
• Arm v6 ARM1176JZF-S 700mhz / 512MB
• SO...
#DV13-#iothackfest

@java
Raspberry Pi

 Do it yourself and industry projects!

#DV13-#iothackfest

@java
Raspberry Pi

Common user
#DV13-#iothackfest

@java
Raspberry Pi

Hacking
#DV13-#iothackfest

@java
Starting your Pi

• Download your choise of OS:
• Raspbian (most popular and used here)
• Pidora
• Archlinux
• RISC Os
• M...
Image to Card

• Linux Command
• dd if=<img.img> of=/dev/sdb
• Take CARE!

#DV13-#iothackfest

@java
Power Supply

• 5volts 1amp recommended!
• Micro USB
• Use a good power supply, it's sensible
• Rebooting use to be a powe...
Boot!

• user: pi
• password: raspberry
• xserver is not started by default!
• command: startx

#DV13-#iothackfest

@java
Demo

• Starting Raspberry Pi!
• Booting Rpi
• startx

#DV13-#iothackfest

@java
Network Setup (DHCP)
/etc/interfaces/network
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface...
Network Setup: Static IP
/etc/interfaces/network
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
i...
Network Setup: WIFI
/etc/wpa_suplicant/wpa_suplicant.conf
network={
ssid="ssid name"
psk="key"
}

#DV13-#iothackfest

@jav...
sudo raspi-config

#DV13-#iothackfest

@java
vnc

 Start the server: vncserver :1
 Create a password
 Using VNC Client ip address + :1
• ip address:1

#DV13-#iothac...
Demo
vnc, network setup and raspi-config

#DV13 #iothackfest

@java
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
...
GPIO

• Digital, Analog, PWM, UART, I2C and SPI
• Digital vs Analog
• PWM
• UART: old but gold Serial
• I2C and SPI: compo...
Raspberry Pi GPIO

• where the fun lives!
• 17 digital pins:

• 7 general, 1 pwm, 2 I2C, 5 SPI, 2 UART

• CMOS (3.3 volts)...
where the fun lives!

https://www.modmypi.com/blog/raspberry-pi-gpio-cheat-sheet
#DV13-#iothackfest

@java
Relay Board Example

• GND, 5 volts, relay1, relay2

#DV13-#iothackfest

@java
wiringPI
GPIO Interface library
Command line GPIO manipulation
Setup digital 24 as output:
sudo gpio -g mode 24 output
"Tu...
wiringPI

• Reading port state script
#!/bin/bash
CMD=$(sudo gpio -g read 24)
echo $CMD
if [ $CMD == "0" ]; then
CMD="sudo...
webioPI

• GPIO over the web
• Listen to port 8000, ex 192.168.1.12:8000
• User: webiopi
• Password: raspberry

#DV13-#iot...
Demo
GPIO, wiringPi and WebIOPI

#DV13 #iothackfest

@java
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 ...
Java SE Embedded
Optimized for Raspberry Pi / ARM
Hard-float support
All the JVM facilities embedded: debug, GC, distribut...
Java EE Embedded:
Server-side just arrives in embedded side!
Lightweight Java EE server for embedded
Stack: Java SE Embedd...
Java FX

Very rich interface for embeddded projects
Good performance inside Raspberry Pi (runs direct on
GPU)
Setup Requir...
Java ME Embedded
Java ME for Real Embedded Projects!
Internet das Coisas com 3G + Java ME + GPIO
Manutenção, debug, OTA, f...
Oracle Event Processing Embedded
Embedded being smart
Complex event arrives in your embedded project!
Data + persistence =...
Demo

Java + Raspberry Pi

#DV13 #iothackfest

@java
Embedded Panel

• You can consume via REST or deploy your app there!
• Shared sensors / devices:
•
•
•
•
•
•

2 Raspberry ...
Components & Toys
Embedded Panel
You can consume via REST or deploy your app there!
Shared sensors / devices:

•
•

•
•
•
...
DEMO: Raspberry Pi + JES + Arduino

#DV13-#iothackfest

@java
#DV13-#iothackfest

@java
Components & Toys
Embedded Panel
192.168.1.11 – Raspberry Pi #1 (Embedded Panel)
192.168.1.12 – Raspberry Pi #2 (Embedded ...
Components & Toys
Embedded Panel – Pi #1
http://192.168.1.11:8080/things/relay1 = AC #1
http://192.168.1.11:8080/things/re...
Components & Toys
Embedded Panel – Pi #2
http://192.168.1.12:8080/things/relay2 = AC #3
http://192.168.1.12:8080/things/re...
Components & Toys
Home Automation Box

•http://192.168.1.41:8080/things/temp_out = Temperature external
•http://192.168.1....
Things Gateway Embedded

•
•
•

RESTFul App that exposes sensors and actuators to the
Web
Uses Java Embedded Suite Stack +...
Things Gateway Embedded

•

Pre-installed on all SDCard

pi@pi1 ~ $ cd java/
pi@pi1 ~/java $ ./things-gateway.sh
Deploying...
Things Gateway Embedded
http://ip:8080/things/red/200
http://ip:8080/things/light
http://ip:8080/things/distance

Raspberr...
Things API – Source
Sample code to access Arduino sensors using Things API:
git clone https://github.com/vsenger/things-ap...
Things API – more tomorrow!
git clone https://github.com/vsenger/things-api

#DV13-#iothackfest

@java
Hands-on lab

•

Using Oracle's kit

#DV13-#iothackfest

@java
Upcoming SlideShare
Loading in …5
×

Devoxx 2013 io t

1,809 views

Published on

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

Published in: Technology, News & Politics
  • Be the first to comment

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

×