SlideShare a Scribd company logo
#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 Manager

 Devoxx Team
 Thank YOU for being here!
#DV13-#iothackfest

@java
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
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
#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;
 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
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
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
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 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
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
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
Let's start the fest?

#DV13-#iothackfest

@java
The moment…
+ Do it yourself
+ Open-source hardware and software
+ Entrepreneurship / Crowdfunding
+ Creativity
+ Cheaper Tiny Computer
+ Easy of Embedded Development

#DV13-#iothackfest

@java
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
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 ecosystem
More than 40 billion devices by 2020;
Things…

#DV13-#iothackfest

@java
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 Appliances

Sensors /
Microcontrollers

EmbeddedCloud

Meters

Enterprise Data &
Applications
Smart Appliances &
electronics

#DV13-#iothackfest

Management / Monitoring /
Operations
Connected Vehicles

@java
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
#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
• Media Server XBMC
#DV13-#iothackfest

@java
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 power supply problem
• UBEC for battery regulator

#DV13-#iothackfest

@java
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 wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
#DV13-#iothackfest

@java
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
Network Setup: WIFI
/etc/wpa_suplicant/wpa_suplicant.conf
network={
ssid="ssid name"
psk="key"
}

#DV13-#iothackfest

@java
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-#iothackfest

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

22 GND

@java
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
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
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
"Turn on" digital 24:
sudo gpio -g write 24 1
Turn off digital 24:
sudo gpio -g write 24 0

•
•
•
•

#DV13-#iothackfest

@java
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
webioPI

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

#DV13-#iothackfest

@java
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 ME 3.3
Sample Apps Available:

•
•
•

•
•
•
•

Things RESTFul Gateway – Java EE App
PiFit – Java SE
Tweet4Pi – Java SE
AutomationFX – Java FX

#DV13-#iothackfest

@java
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
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
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
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
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
Demo

Java + Raspberry Pi

#DV13 #iothackfest

@java
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
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
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 Panel)
192.168.1.41 – Raspberry Pi #3 (Home Automation Box)

•
•
•

#DV13-#iothackfest

@java
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
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
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
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
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
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
Things API – Source
Sample code to access Arduino sensors using Things API:
git clone https://github.com/vsenger/things-api

#DV13-#iothackfest

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

More Related Content

PPTX
Developing a NodeBot using Intel XDK IoT Edition
PDF
Hardware hacking on the pi; what's js got to do with it
PDF
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
PDF
150 Circuitos Elatronicos, Variados.
PPTX
VIA IOT Presentation
PDF
IoT Session Thomas More
PDF
Cc internet of things @ Thomas More
PPTX
Building your own RC Car with Raspberry Pi
Developing a NodeBot using Intel XDK IoT Edition
Hardware hacking on the pi; what's js got to do with it
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
150 Circuitos Elatronicos, Variados.
VIA IOT Presentation
IoT Session Thomas More
Cc internet of things @ Thomas More
Building your own RC Car with Raspberry Pi

Similar to Devoxx 2013 io t (20)

PPTX
Introduction to Internet of Things Hardware
PPTX
Null mumbai-iot-workshop
PPTX
How to make your Money Machine with Internet of Things
PDF
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
PPT
Single chip computer for iot application
PPTX
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
PDF
Introduction to Raspberry PI
PPTX
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
PDF
IoT Workshop in Macao
PDF
IoT Workshop in Macao
PDF
Internet of Things & Open Hardware (LeanCamp Madrid 2012)
PDF
Java 8 for Tablets, Pis, and Legos
PDF
IoT Intro and Demo
PDF
Enterprise Developer Journey to the IoT
PDF
IoT Development from Prototype to Production
PDF
IoT: LoRa and Java on the PI
PDF
Internet of Things - Technological Perspective
PPTX
Raspberry Pi NightHacking by Stephen Chin
PDF
Iot development from prototype to production
PDF
Chapter-7.pdf
Introduction to Internet of Things Hardware
Null mumbai-iot-workshop
How to make your Money Machine with Internet of Things
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
Single chip computer for iot application
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
Introduction to Raspberry PI
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
IoT Workshop in Macao
IoT Workshop in Macao
Internet of Things & Open Hardware (LeanCamp Madrid 2012)
Java 8 for Tablets, Pis, and Legos
IoT Intro and Demo
Enterprise Developer Journey to the IoT
IoT Development from Prototype to Production
IoT: LoRa and Java on the PI
Internet of Things - Technological Perspective
Raspberry Pi NightHacking by Stephen Chin
Iot development from prototype to production
Chapter-7.pdf
Ad

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Electronic commerce courselecture one. Pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
Assigned Numbers - 2025 - Bluetooth® Document
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
1. Introduction to Computer Programming.pptx
cuic standard and advanced reporting.pdf
Getting Started with Data Integration: FME Form 101
Building Integrated photovoltaic BIPV_UPV.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Reach Out and Touch Someone: Haptics and Empathic Computing
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
Electronic commerce courselecture one. Pdf
Spectroscopy.pptx food analysis technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Ad

Devoxx 2013 io t

  • 1. #DV13 #iothackfest Tori Wieldt, Yara Senger, Yoland and Vinicius Oracle / OTN / Globalcode @java
  • 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. 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. 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
  • 6. Ubatuba = 86 different beaches! Come visit us! #DV13-#iothackfest @java
  • 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. 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. 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. The Prizes  Knowledge  Networking  FUN!!!!!!  Hugs for Free!! #DV13-#iothackfest @java
  • 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. 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. 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. Let's start the fest? #DV13-#iothackfest @java
  • 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. 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. Do it your self in action! Student Satellites #DV13-#iothackfest @java
  • 18. Do it your self • • • • • Horse Instrumentation Arduino Heart beat Accelerometer GPS #DV13-#iothackfest @java
  • 19. Do it your self in action! #DV13-#iothackfest Neutrons Diffractmeter @java
  • 20. Do it your self in action! Boat Automation #DV13-#iothackfest @java
  • 21. Your idea, your business! #DV13-#iothackfest @java
  • 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
  • 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. 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
  • 29. Raspberry Pi  Do it yourself and industry projects! #DV13-#iothackfest @java
  • 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. Image to Card • Linux Command • dd if=<img.img> of=/dev/sdb • Take CARE! #DV13-#iothackfest @java
  • 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. Boot! • user: pi • password: raspberry • xserver is not started by default! • command: startx #DV13-#iothackfest @java
  • 36. Demo • Starting Raspberry Pi! • Booting Rpi • startx #DV13-#iothackfest @java
  • 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. 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
  • 41. vnc  Start the server: vncserver :1  Create a password  Using VNC Client ip address + :1 • ip address:1 #DV13-#iothackfest @java
  • 42. Demo vnc, network setup and raspi-config #DV13 #iothackfest @java
  • 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. 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. 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. where the fun lives! https://www.modmypi.com/blog/raspberry-pi-gpio-cheat-sheet #DV13-#iothackfest @java
  • 47. Relay Board Example • GND, 5 volts, relay1, relay2 #DV13-#iothackfest @java
  • 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. 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. webioPI • GPIO over the web • Listen to port 8000, ex 192.168.1.12:8000 • User: webiopi • Password: raspberry #DV13-#iothackfest @java
  • 51. Demo GPIO, wiringPi and WebIOPI #DV13 #iothackfest @java
  • 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. 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. 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. 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. 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. 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. Demo Java + Raspberry Pi #DV13 #iothackfest @java
  • 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. 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. DEMO: Raspberry Pi + JES + Arduino #DV13-#iothackfest @java
  • 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. 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. 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. 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. 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. 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
  • 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. Things API – more tomorrow! git clone https://github.com/vsenger/things-api #DV13-#iothackfest @java
  • 72. Hands-on lab • Using Oracle's kit #DV13-#iothackfest @java