This document describes an IoT hackfest event promoted by Oracle and Devoxx. It provides an agenda for two days of workshops and hacking on IoT projects using Java and devices like the Raspberry Pi. On the first day, there will be introductory sessions on Raspberry Pi, Leap Motion, and brainstorming project ideas. The afternoons will involve developing prototype projects in teams with mentor support. On the second day, there will be more technical sessions and time for teams to continue working and present their projects. Prizes will be knowledge and networking rather than competitions. Various hardware kits and components will be provided for the projects.
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
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
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
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
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
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
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
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
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