SlideShare a Scribd company logo
1 of 64
Download to read offline
Carjacking 
With 
Java 
(Or 
Building 
A 
Java 
Carputer) 
Simon 
Ri>er 
Head 
of 
Java 
Evangelism, 
Oracle 
Twi>er: 
@speakjava 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Safe 
Harbor 
Statement 
The 
following 
is 
intended 
to 
outline 
our 
general 
product 
direcRon. 
It 
is 
intended 
for 
informaRon 
purposes 
only, 
and 
may 
not 
be 
incorporated 
into 
any 
contract. 
It 
is 
not 
a 
commitment 
to 
deliver 
any 
material, 
code, 
or 
funcRonality, 
and 
should 
not 
be 
relied 
upon 
in 
making 
purchasing 
decisions. 
The 
development, 
release, 
and 
Rming 
of 
any 
features 
or 
funcRonality 
described 
for 
Oracleā€™s 
products 
remains 
at 
the 
sole 
discreRon 
of 
Oracle. 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
2
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Program 
Agenda 
Cars 
And 
Computers 
The 
Java 
Carputer 
(Mark 
1) 
The 
Java 
Carputer 
(Mark 
2) 
Heads 
Up 
Display/TelemaRcs 
Data 
Recording/Analysis 
Conclusions, 
Resources 
and 
Demos 
1 
2 
3 
4 
5 
6
Cars 
And 
Computers 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
My 
First 
Car: 
1981 
1971 
Mini 
Clubman 
1000 
ā€¢ No 
electronics 
ā€“ Well, 
it 
had 
a 
radio 
ā€¢ Purely 
electromechanical 
ā€“ Points/Distributor 
ā€“ Carbure>or/Manual 
choke 
ā€“ Drum 
brakes 
ā€“ Dynamo 
ā€“ Lights, 
horn, 
wipers, 
fan, 
igniRon 
switch
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Car 
Wiring: 
1970s 
Image 
coutesy 
of 
Haynes 
manuals
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
My 
Current 
Car 
ā€¢ Lots 
of 
electronics 
ā€“ Engine 
Control 
Unit 
(ECU) 
ā€“ Fuel 
InjecRon/Electronic 
Rming 
ā€“ ā€œFly-Ā­ā€by-Ā­ā€wireā€ 
thro>le 
ā€“ AnR-Ā­ā€lock 
Braking 
System 
(ABS) 
ā€“ Electronic 
Stability 
Program 
(ESP) 
ā€“ Magnetorheological 
Suspension 
ā€“ Satellite 
navigaRon 
ā€“ Auto-Ā­ā€sensing 
wipers 
and 
lights 
2011 
Audi 
S3
Bus 
architecture 
means 
substan>ally 
less 
wiring 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Car 
Wiring: 
2011 
Convenience 
Bus 
Infotainment 
Bus 
Powertrain 
Bus
The 
Java 
Carputer 
(Mark 
1) 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Carputer 
Design 
ObjecRves 
ā€¢ Display 
realRme 
data 
ā€¢ Engine 
performance 
(Power, 
Torque, 
Load) 
ā€¢ Driver 
data 
(Thro>le 
posiRon, 
steering 
angle, 
braking 
force, 
etc) 
ā€¢ G-Ā­ā€Forces 
on 
car 
ā€¢ Graphed 
data 
for 
Rme-Ā­ā€based 
analysis
Carputer 
Hardware 
Architecture 
USB 
WiFi 
Dongle 
Touch 
Screen 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
HDMI 
Accelerometer 
USB 
I2C 
12V 
Car 
Converter 
ELM327 
Car 
Service 
Port 
5V 
USB
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
ELM327 
Cheap 
way 
to 
hack 
your 
car 
ā€¢ WiFi 
or 
Bluetooth 
connecRon 
to 
OBD-Ā­ā€II 
ā€¢ Fixed 
IP 
address, 
Ad-Ā­ā€hoc 
networking 
ā€¢ Need 
to 
configure 
Raspberry 
Pi 
ā€“ /etc/network/interfaces 
ā€¢ AT 
style 
commands 
for 
control 
ā€¢ Non-Ā­ā€AT 
commands 
are 
assumed 
to 
be 
OBD-Ā­ā€II 
ā€“ Simple 
request-Ā­ā€response 
interacRon 
ā€“ Easy 
to 
write 
Java 
code 
to 
handle 
this
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Touchscreen 
Lots 
of 
things 
available 
on 
eBay 
ā€¢ 2 
DIN 
fiing 
size 
ā€“ Ideal 
for 
centre 
console 
ā€¢ HDMI 
input 
ā€“ Specifically 
marketed 
for 
Raspberry 
Pi 
ā€¢ USB 
connecRon 
for 
touch 
screen
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Touchscreen 
Hardware 
FiJng 
Challenges
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Accelerometer 
ā€¢ Sparkfun 
breakout 
board 
MPU 
9150 
ā€“ 9 
DoF 
sensor 
(accelerometer, 
gyroscope, 
compass) 
ā€¢ CommunicaRons 
via 
I2C 
ā€“ Configure 
Raspberry 
Pi 
/etc/modules 
ā€¢ i2c-Ā­ā€bcm2708, 
i2c-Ā­ā€dev 
ā€¢ i2c-Ā­ā€detect 
-Ā­ā€y 
1 
to 
get 
address 
ā€“ Compass 
communicaRon 
is 
a 
bit 
more 
complicated 
ā€¢ Second 
I2C 
bus
Accelerometer 
Code 
Using 
Pi4J 
Library 
on 
Java 
SE 
Embedded 
I2CBus 
bus 
= 
I2CFactory.getInstance(I2CBus.BUS_1); 
I2CDevice 
device 
= 
bus.getDevice(0x68); 
/* 
Start 
sensing 
*/ 
device.write(0x6B, 
(byte)0b00000000); 
device.write(0x6C, 
(byte)0b00000000); 
/* 
Set 
configuration 
*/ 
device.write(0x1B, 
(byte)0b00011000); 
// 
Gyroscope 
device.write(0x1C, 
(byte)0b00000100); 
// 
Accelerometer 
device.read(0x3B, 
accelData, 
0, 
ACCEL_PACKET_SIZE); 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
CalculaRng 
Power 
And 
Torque 
Torque 
(Nm) 
= 
Mass 
x 
Wheel 
Radius 
x 
AcceleraRon 
(in 
G) 
Torque 
(lb/l) 
= 
Torque 
in 
Nm 
x 
0.73756 
Power 
(BHP) 
= 
Torque 
(lb/l) 
x 
engine 
RPM 
/ 
5252 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
ā€¢ Results 
will 
not 
have 
high 
accuracy 
ā€“ Values 
in 
red 
are 
not 
precise 
ā€¢ Dynamometer 
is 
the 
only 
way 
to 
get 
accurate 
figures 
ā€¢ InteresRng 
to 
see 
values 
v. 
manufacturers 
figures
Carputer 
Solware 
Architecture 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
ā€¢ Screens 
based 
ā€“ Splash 
screen 
ā€“ Basic 
and 
advanced 
car 
data 
ā€“ G 
forces 
on 
car 
ā€“ Graphed 
results 
of 
different 
parameters 
ā€¢ Simple 
UI 
ā€“ Canā€™t 
read 
numbers 
when 
driving 
ā€¢ Touchscreen 
to 
switch 
screens 
ā€“ Repurpose 
exisRng 
car 
controls 
to 
change 
screen? 
Real>me 
Data
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
UI 
Design 
Ideas 
Take 
Inspira>on 
From 
Others 
Renault 
Megane 
Sport
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
UI 
Design 
Ideas 
Take 
Inspira>on 
From 
Others 
Tesla
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
UI 
Design 
Ideas 
Take 
Inspira>on 
From 
Others 
Lamborghini 
Reveton
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Simple 
Data 
Display 
Control 
ā€¢ Only 
uses 
3 
nodes 
ā€“ Polygon 
ā€“ Rectangle 
ā€“ Line 
ā€“ Labels 
are 
opRonal 
ā€¢ Displays 
ā€“ Current 
value 
ā€“ Maximum 
value 
since 
start 
(resetable) 
ā€¢ Simple 
to 
understand 
from 
a 
glance
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
UI 
Screens 
Splash 
Screen
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
UI 
Screens
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
UI 
Screens
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
UI 
Screens
Graph 
Plots 
Of 
Thro>le 
PosiRon 
And 
Power 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
JavaFX 
Charts 
And 
Colours 
Can 
Only 
Be 
Changed 
Using 
CSS 
.axis 
{ 
-Ā­ā€fx-Ā­ā€tick-Ā­ā€label: 
#FFFFFF; 
} 
.axis-Ā­ā€tick-Ā­ā€mark 
{ 
-Ā­ā€fx-Ā­ā€stroke: 
#FFFFFF; 
} 
.axis-Ā­ā€minor-Ā­ā€tick-Ā­ā€mark 
{ 
-Ā­ā€fx-Ā­ā€stroke: 
#000000; 
} 
.chart-Ā­ā€plot-Ā­ā€background 
{ 
-Ā­ā€fx-Ā­ā€background-Ā­ā€color: 
#000000; 
} 
.chart-Ā­ā€alternative-Ā­ā€row-Ā­ā€fill 
{ 
-Ā­ā€fx-Ā­ā€fill: 
#000000; 
} 
.default-Ā­ā€color0.chart-Ā­ā€series-Ā­ā€line 
{ 
-Ā­ā€fx-Ā­ā€stroke: 
#FFFF33; 
}
The 
Java 
Carputer 
(Mark 
2) 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Carputer 
Hardware 
Architecture 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
30 
Crossover 
ethernet 
USB 
via 
FTDI 
Infra 
red 
Thermal 
sensor 
CAN 
High 
CAN 
Low 
OBD2 
Service 
Port 
Wi-Ā­ā€Fi 
Accelerometer/ 
Gyro/Compass 
I2C 
USB 
UART 
Serial 
Heart 
Rate 
Monitor 
GPS 
USB 
Video 
Camera 
Raspberry 
Pi 
Model 
B+ 
7ā€ 
Touch 
secreen 
USB 
CAN 
Bus 
SDR/TPMS
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Tracking 
PosiRon 
With 
GPS 
ā€¢ AdaFruit 
UlRmate 
GPS 
breakout 
ā€“ 10Hz 
read 
rate 
ā€“ Serial 
interface 
ā€¢ Very 
simple 
configuraRon 
ā€“ Disable 
/dev/ttyAMA0 
on 
Pi 
as 
console 
ā€“ 9600 
8N1 
ā€“ Read 
data 
using 
librxtx-Ā­ā€java 
ā€“ Comma 
separated 
values 
$GPGGA 
and 
$GPVTG 
ā€“ Need 
to 
handle 
frequent 
data 
corrupRon
Heart 
Rate 
Monitoring 
of 
the 
Driver 
ā€¢ Sparkfun 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
board 
ā€“ USB 
interface, 
serial 
connecRon 
ā€¢ Similar 
to 
GPS 
ā€“ Use 
librxtx-Ā­ā€java 
ā€“ 9600, 
8N1 
ā€¢ More 
complicated 
coding 
ā€“ Actually 
need 
to 
send 
a 
read 
request! 
ā€¢ Some 
issues 
with 
wireless 
connecRon 
ā€“ 80cm 
max, 
doesnā€™t 
work 
well 
through 
a 
Rapsberry 
Pi
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
In-Ā­ā€car 
Video 
ā€¢ Becoming 
very 
common 
to 
avoid 
insurance 
issues 
ā€¢ Transcend 
DrivePro 
200 
ā€“ Built-Ā­ā€in 
Wi-Ā­ā€Fi 
ā€“ iPhone 
app 
ā€¢ How 
to 
get 
video 
stream? 
ā€“ Approached 
Transcend 
tech 
support 
ā€“ Found 
VLC 
code 
ā€“ Wireshark 
ā€“ SYN/ACK, 
Yuck! 
33 
Camera 
Applica>on 
192.168.0.1 
192.168.0.2 
Port 
9000 
Port 
43229 
Port 
9001 
Port 
42719 
Port 
9002 
Port 
58105 
Port 
8554 
(RTSP) 
Port 
60583
The 
Simplest 
SoluRon 
Is 
Olen 
The 
Best 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
34 
Push 
bu>on 
using 
GPIO 
lines 
and 
Pi4J
Thermal 
Sensors 
For 
Brakes 
and 
Tyres 
The 
Goal 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Infra-Ā­ā€Red 
Thermometer 
ā€¢ MLX90614 
breakout 
board 
ā€“ I2C 
interface 
seemed 
problemaRc 
on 
the 
Pi 
ā€“ Also 
has 
serial 
interface 
ā€“ Use 
FTDI 
breakout 
board 
ā€“ 4 
wires 
becomes 
simple 
serial 
interface 
36 
The 
Reality
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Thermal 
Sensor 
Data 
ā€¢ Provides 
conRnuous 
reading 
as 
lines 
of 
text 
(e.g. 
73.2F) 
ā€“ Donā€™t 
like 
Fahrenheit, 
wanted 
Celcius 
ā€“ Lambdas 
and 
Streams! 
37 
private 
double 
currentTemperature; 
public 
void 
run() 
{ 
thermalReader.lines() 
.mapToDouble(s 
-Ā­ā€> 
Double.parseDouble(s.substring(0, 
s.length() 
-Ā­ā€ 
1))) 
.map(t 
-Ā­ā€> 
((t 
-Ā­ā€ 
32) 
* 
5 
/ 
9)) 
.filter(t 
-Ā­ā€> 
t 
!= 
currentTemperature) 
.peek(t 
-Ā­ā€> 
listener.ifPresent(l 
-Ā­ā€> 
l.temperatureChange(t))) 
.forEach(t 
-Ā­ā€> 
currentTemperature 
= 
t); 
}
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Thermal 
Sensor 
Data 
ā€¢ Provides 
conRnuous 
reading 
as 
lines 
of 
text 
(e.g. 
73.2F) 
ā€“ Donā€™t 
like 
Fahrenheit, 
wanted 
Celcius 
ā€“ Lambdas 
and 
Streams! 
38 
private 
double 
currentTemperature; 
public 
void 
run() 
{ 
thermalReader.lines() 
.mapToDouble(s 
-Ā­ā€> 
Double.parseDouble(s.substring(0, 
s.length() 
-Ā­ā€ 
1))) 
.map(t 
-Ā­ā€> 
((t 
-Ā­ā€ 
32) 
* 
5 
/ 
9)) 
.filter(t 
-Ā­ā€> 
t 
!= 
this.currentTemperature) 
.peek(t 
-Ā­ā€> 
listener.ifPresent(l 
-Ā­ā€> 
l.temperatureChange(t))) 
.forEach(t 
-Ā­ā€> 
this.currentTemperature 
= 
t); 
}
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
39 
Fiing 
The 
Thermal 
Sensors 
Tyre 
Sensor
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
40 
Fiing 
The 
Thermal 
Sensors 
Brake 
Disk 
Sensor
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
41 
Fiing 
The 
Thermal 
Sensors 
Separate 
Pi 
in 
Engine 
Bay
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Fiing 
The 
Thermal 
Sensors 
ā€¢ Simple 
server 
listens 
on 
port 
ā€¢ Carputer 
requests 
data 
ā€¢ Couple 
of 
issues 
ā€“ Server 
needed 
reset 
for 
new 
connecRon 
(bug 
to 
be 
fixed) 
ā€“ How 
to 
tell 
which 
sensor 
is 
which 
(>yUSB0/>yUSB1) 
42 
The 
Networked 
Car
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Fiing 
The 
Thermal 
Sensors 
ā€¢ Rasperry 
Pi 
at 
over 
50C 
ā€“ Aler 
10 
minute 
drive 
ā€¢ New 
approach 
required 
ā€“ Longer 
USB 
cables 
ā€“ Put 
the 
Pi 
in 
the 
car 
43 
Internal 
Combus>on 
Produces 
Heat
Geing 
Data 
From 
The 
CAN 
Bus 
ā€¢ Controller 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Area 
Network 
ā€¢ Used 
to 
connect 
many 
sensors, 
actuators 
and 
devices 
ā€“ Without 
huge 
amounts 
of 
wiring 
ā€¢ Conveniently 
the 
CAN 
bus 
is 
connected 
to 
the 
OBD2 
port 
ā€“ Yes, 
the 
wiring 
is 
there 
ā€“ No, 
the 
signals 
are 
not 
ā€“ Presumably 
security 
measure 
from 
car 
manufacturers 
ā€“ Boo!
Geing 
Data 
From 
The 
CAN 
Bus 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Where 
Thereā€™s 
A 
Will 
Thereā€™s 
A 
Way
Geing 
Data 
From 
The 
CAN 
Bus 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Where 
Thereā€™s 
A 
Will 
Thereā€™s 
A 
Way 
Success! 
(And 
the 
car 
sRll 
works)
Geing 
Data 
From 
The 
CAN 
Bus 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
ā€¢ Lawicel 
CAN 
bus 
to 
USB 
ā€¢ Serial 
device 
ā€¢ Sends 
decoded 
data 
ā€¢ Need 
to 
write 
a 
Java 
library 
ā€“ CAN 
id 
ā€“ Message 
data 
ā€¢ Then 
the 
hard 
part 
starts 
ā€“ Figuring 
it 
all 
out 
47 
Electrical 
Connec>vity 
Is 
Only 
The 
Start
Finished 
Data 
Capture 
System 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
48
Heads 
Up 
Display/ 
TelemaRcs 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
In 
Car 
Heads 
Up 
Displays 
Are 
Becoming 
A 
Reality 
Jaguar 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
ConRnental 
Virtual 
Windscreen 
Mini 
Cooper 
NavTy
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Build 
Your 
Own 
HUD 
ā€¢ Turns 
out 
itā€™s 
not 
that 
simple 
ā€¢ First 
iteraRon 
ā€“ 3M 
MPro110 
Micro 
Projector, 
half 
silvered 
film 
(from 
a 
cheap 
in-Ā­ā€car 
HUD) 
ā€¢ Didnā€™t 
really 
work 
ā€“ Too 
much 
reflecRon 
of 
projector 
lamp, 
not 
image
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
52 
Build 
Your 
Own 
HUD 
Second 
AWempt
Raspberry 
Pi 
Heads 
Up 
Display 
ā€¢ Cheap 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
screen 
for 
the 
Pi 
ā€¢ Use 
teleprompter 
glass 
rather 
than 
half-Ā­ā€silvered 
perspex 
ā€“ 70% 
transmission, 
30% 
refecRon 
much 
be>er 
ā€¢ Issue: 
How 
to 
produce 
an 
inverted 
image? 
ā€¢ Answer: 
Use 
a 
refecRon 
effect 
53 
Reflection 
ref 
= 
new 
Reflection(); 
ref.setFraction(1.0); 
ref.setBottomOpacity(1.0); 
ref.setTopOpacity(1.0);
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Data 
Display 
On 
HUD 
ā€¢ Speed 
and 
engine 
RPM 
ā€“ Use 
OBD2 
data 
ā€“ Wi-Ā­ā€Fi 
dongle 
to 
access 
ELM327 
ā€¢ Convert 
posiRon 
(from 
GPS) 
into 
current 
speed 
limit 
ā€“ Bluetooth 
dongle 
for 
pairing 
with 
mobile 
phone 
ā€“ Configure 
Linux 
to 
provide 
network 
access 
via 
TCP/IP 
ā€“ Transmit 
posiRon 
obtained 
from 
GPS 
ā€“ Write 
servlet 
to 
run 
on 
home 
Linux 
box 
(open 
port 
on 
firewall) 
ā€“ Servlet 
uses 
posiRon 
and 
Ordanance 
Survey 
data 
to 
determine 
speed 
limit 
ā€“ (Future 
project) 
54
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Hardware 
In 
Place 
55
Data 
Recording 
and 
Analysis 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Display 
Collected 
Data 
ā€¢ JavaFX 
applicaRon 
ā€¢ Video 
stream 
ā€“ Synchronised 
to 
data 
streams 
ā€¢ Data 
recorded 
as 
sequence 
of 
text 
records 
ā€“ Comma 
separated 
values 
ā€“ One 
line 
per 
sensor 
ā€“ Time 
stamp 
ā€¢ Read 
all 
data 
in 
at 
start 
of 
applicaRon 
ā€“ 15 
minutes 
of 
data 
takes 
about 
100ms 
57
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
ā€¢ Video 
(with 
controls) 
ā€¢ G-Ā­ā€forces 
ā€¢ GPS 
co-Ā­ā€ordinates/alRtude 
ā€¢ Map 
of 
current 
posiRon 
ā€¢ Speed 
(compare 
car 
and 
GPS) 
ā€¢ Bearing 
ā€¢ Engine 
load 
ā€¢ Fuel 
pressure 
ā€¢ Air 
intake 
temperature 
ā€¢ Coolant 
temperature 
ā€¢ Catalyst/exhaust 
temperature 
ā€¢ Tyre 
temperature 
ā€¢ Brake 
temperature 
ā€¢ Thro>le 
posiRon 
ā€¢ Engine 
RPM 
ā€¢ Heart 
rate 
58 
Data 
To 
Display
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
User 
Interface 
Design 
ā€¢ Use 
JFXtras 
library 
(Gerrit 
Grunwaldā€™s 
dials 
and 
LEDs) 
ā€¢ Formula 
1 
style 
ā€“ Thro>le/brake/engine/gear 
display 
ā€“ LED 
tachometer 
ā€¢ Heart 
rate 
number 
is 
not 
too 
exciRng 
ā€“ AnimaRons 
ā€“ ConRnuous 
pulses 
was 
a 
bit 
of 
a 
challenge 
(several 
parallel, 
offset 
transiRons) 
59 
JavaFX
Conclusions 
& 
Resources 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Conclusions 
ā€¢ Cars 
produce 
lots 
of 
data 
ā€¢ Use 
of 
sensors 
with 
Java 
is 
simple 
to 
collect 
(most) 
data 
ā€¢ Playback 
of 
data 
useful 
for 
insurance, 
fleet 
management, 
training 
ā€¢ Java 
and 
JavaFX 
make 
UI 
design 
simple
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
Resources 
and 
Links 
ā€¢ www.sparkfun.com 
ā€¢ www.adafruit.com 
ā€¢ www.raspberrypi.org 
ā€¢ blogs.oracle.com/speakjava 
ā€¢ Twi>er: 
@speakjava
Demos 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.
Carjacking 
With 
Java 
(Or 
Building 
A 
Java 
Carputer) 
Simon 
Ri>er 
Head 
of 
Java 
Evangelism, 
Oracle 
Twi>er: 
@speakjava 
Copyright 
Ā© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved.

More Related Content

What's hot

55 New Features in Java SE 8
55 New Features in Java SE 855 New Features in Java SE 8
55 New Features in Java SE 8Simon Ritter
Ā 
Functional Programming With Lambdas and Streams in JDK8
 Functional Programming With Lambdas and Streams in JDK8 Functional Programming With Lambdas and Streams in JDK8
Functional Programming With Lambdas and Streams in JDK8IndicThreads
Ā 
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon Ritter
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon RitterLambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon Ritter
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon RitterJAXLondon2014
Ā 
Java 8 Features
Java 8 FeaturesJava 8 Features
Java 8 FeaturesTrung Nguyen
Ā 
Java SE 8 library design
Java SE 8 library designJava SE 8 library design
Java SE 8 library designStephen Colebourne
Ā 
Java 8
Java 8Java 8
Java 8jclingan
Ā 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
Ā 
Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)
Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)
Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)DevelopIntelligence
Ā 
Native REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11gNative REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11gMarcelo Ochoa
Ā 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewKris Rice
Ā 
Oracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesOracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesJeff Smith
Ā 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesPavel Bucek
Ā 
ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...Marco Antonio Maciel
Ā 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open InnovationTim Ellison
Ā 
JSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksJSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksDmitry Kornilov
Ā 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
Ā 
Debugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperDebugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperJeff Smith
Ā 

What's hot (19)

55 New Features in Java SE 8
55 New Features in Java SE 855 New Features in Java SE 8
55 New Features in Java SE 8
Ā 
Functional Programming With Lambdas and Streams in JDK8
 Functional Programming With Lambdas and Streams in JDK8 Functional Programming With Lambdas and Streams in JDK8
Functional Programming With Lambdas and Streams in JDK8
Ā 
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon Ritter
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon RitterLambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon Ritter
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon Ritter
Ā 
Java 8 Features
Java 8 FeaturesJava 8 Features
Java 8 Features
Ā 
Apouc 2014-java-8-create-the-future
Apouc 2014-java-8-create-the-futureApouc 2014-java-8-create-the-future
Apouc 2014-java-8-create-the-future
Ā 
Java SE 8 library design
Java SE 8 library designJava SE 8 library design
Java SE 8 library design
Ā 
Java 8
Java 8Java 8
Java 8
Ā 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
Ā 
Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)
Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)
Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)
Ā 
Native REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11gNative REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11g
Ā 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
Ā 
Oracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesOracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web Services
Ā 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
Ā 
ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
ļæ¼Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Ā 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open Innovation
Ā 
JSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksJSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworks
Ā 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Ā 
Debugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperDebugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL Developer
Ā 
Oracle SQLcl
Oracle SQLcl Oracle SQLcl
Oracle SQLcl
Ā 

Viewers also liked

The Raspberry Pi JavaFX Carputer
The Raspberry Pi JavaFX CarputerThe Raspberry Pi JavaFX Carputer
The Raspberry Pi JavaFX CarputerSimon Ritter
Ā 
Playing with Java Classes and Bytecode
Playing with Java Classes and BytecodePlaying with Java Classes and Bytecode
Playing with Java Classes and BytecodeYoav Avrahami
Ā 
Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014Simon Ritter
Ā 
Lambdas And Streams Hands On Lab, JavaOne 2014
Lambdas And Streams Hands On Lab, JavaOne 2014Lambdas And Streams Hands On Lab, JavaOne 2014
Lambdas And Streams Hands On Lab, JavaOne 2014Simon Ritter
Ā 
Lessons Learnt With Lambdas and Streams in JDK 8
Lessons Learnt With Lambdas and Streams in JDK 8Lessons Learnt With Lambdas and Streams in JDK 8
Lessons Learnt With Lambdas and Streams in JDK 8Simon Ritter
Ā 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerSimon Ritter
Ā 
Raspberry Pi with Java 8
Raspberry Pi with Java 8Raspberry Pi with Java 8
Raspberry Pi with Java 8javafxpert
Ā 
It's Java Jim, But Not As We Know It!
It's Java Jim, But Not As We Know It!It's Java Jim, But Not As We Know It!
It's Java Jim, But Not As We Know It!Simon Ritter
Ā 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerSimon Ritter
Ā 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Simon Ritter
Ā 
55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9Simon Ritter
Ā 

Viewers also liked (11)

The Raspberry Pi JavaFX Carputer
The Raspberry Pi JavaFX CarputerThe Raspberry Pi JavaFX Carputer
The Raspberry Pi JavaFX Carputer
Ā 
Playing with Java Classes and Bytecode
Playing with Java Classes and BytecodePlaying with Java Classes and Bytecode
Playing with Java Classes and Bytecode
Ā 
Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014
Ā 
Lambdas And Streams Hands On Lab, JavaOne 2014
Lambdas And Streams Hands On Lab, JavaOne 2014Lambdas And Streams Hands On Lab, JavaOne 2014
Lambdas And Streams Hands On Lab, JavaOne 2014
Ā 
Lessons Learnt With Lambdas and Streams in JDK 8
Lessons Learnt With Lambdas and Streams in JDK 8Lessons Learnt With Lambdas and Streams in JDK 8
Lessons Learnt With Lambdas and Streams in JDK 8
Ā 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java Smaller
Ā 
Raspberry Pi with Java 8
Raspberry Pi with Java 8Raspberry Pi with Java 8
Raspberry Pi with Java 8
Ā 
It's Java Jim, But Not As We Know It!
It's Java Jim, But Not As We Know It!It's Java Jim, But Not As We Know It!
It's Java Jim, But Not As We Know It!
Ā 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java Smaller
Ā 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
Ā 
55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9
Ā 

Similar to The Java Carputer

Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java CarputerIndicThreads
Ā 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXBruno Borges
Ā 
J-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by OracleJ-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by Oraclejavafxpert
Ā 
Konsolidace Oracle DB na systƩmech s procesory M7
Konsolidace Oracle DB na systƩmech s procesory M7Konsolidace Oracle DB na systƩmech s procesory M7
Konsolidace Oracle DB na systƩmech s procesory M7MarketingArrowECS_CZ
Ā 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Bart Jonkers
Ā 
Pushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home AutomationPushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home AutomationDavid Delabassee
Ā 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleChris Muir
Ā 
Autonomous Drone Development with Java and IoT
Autonomous Drone Development with Java and IoTAutonomous Drone Development with Java and IoT
Autonomous Drone Development with Java and IoTjavafxpert
Ā 
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...JAXLondon2014
Ā 
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
WebRTC Customer Experience Optimizations  - Kranky Geek PresentationWebRTC Customer Experience Optimizations  - Kranky Geek Presentation
WebRTC Customer Experience Optimizations - Kranky Geek Presentationamithap07
Ā 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouEdward Burns
Ā 
Spansion Traveo Automotive Microcontroller Family
Spansion Traveo Automotive Microcontroller FamilySpansion Traveo Automotive Microcontroller Family
Spansion Traveo Automotive Microcontroller FamilySpansion
Ā 
NTTs Journey with Openstack-final
NTTs Journey with Openstack-finalNTTs Journey with Openstack-final
NTTs Journey with Openstack-finalshintaro mizuno
Ā 
Can $0.08 Change your View of Storage?
Can $0.08 Change your View of Storage?Can $0.08 Change your View of Storage?
Can $0.08 Change your View of Storage?DataCore Software
Ā 
TN104_Rutenberg_Sinai_090805
TN104_Rutenberg_Sinai_090805TN104_Rutenberg_Sinai_090805
TN104_Rutenberg_Sinai_090805Orna Zadok Rutenberg
Ā 
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...Codemotion Tel Aviv
Ā 
Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Marco Antonio Maciel
Ā 
Achieving Network Deployment Flexibility with Mirantis OpenStack
Achieving Network Deployment Flexibility with Mirantis OpenStackAchieving Network Deployment Flexibility with Mirantis OpenStack
Achieving Network Deployment Flexibility with Mirantis OpenStackEric Zhaohui Ji
Ā 

Similar to The Java Carputer (20)

Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
Ā 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Ā 
J-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by OracleJ-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by Oracle
Ā 
Konsolidace Oracle DB na systƩmech s procesory M7
Konsolidace Oracle DB na systƩmech s procesory M7Konsolidace Oracle DB na systƩmech s procesory M7
Konsolidace Oracle DB na systƩmech s procesory M7
Ā 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Ā 
Pushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home AutomationPushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home Automation
Ā 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Ā 
Autonomous Drone Development with Java and IoT
Autonomous Drone Development with Java and IoTAutonomous Drone Development with Java and IoT
Autonomous Drone Development with Java and IoT
Ā 
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Ā 
Security a SPARC M7 CPU
Security a SPARC M7 CPUSecurity a SPARC M7 CPU
Security a SPARC M7 CPU
Ā 
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
WebRTC Customer Experience Optimizations  - Kranky Geek PresentationWebRTC Customer Experience Optimizations  - Kranky Geek Presentation
WebRTC Customer Experience Optimizations - Kranky Geek Presentation
Ā 
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
Ā 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To You
Ā 
Spansion Traveo Automotive Microcontroller Family
Spansion Traveo Automotive Microcontroller FamilySpansion Traveo Automotive Microcontroller Family
Spansion Traveo Automotive Microcontroller Family
Ā 
NTTs Journey with Openstack-final
NTTs Journey with Openstack-finalNTTs Journey with Openstack-final
NTTs Journey with Openstack-final
Ā 
Can $0.08 Change your View of Storage?
Can $0.08 Change your View of Storage?Can $0.08 Change your View of Storage?
Can $0.08 Change your View of Storage?
Ā 
TN104_Rutenberg_Sinai_090805
TN104_Rutenberg_Sinai_090805TN104_Rutenberg_Sinai_090805
TN104_Rutenberg_Sinai_090805
Ā 
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Pushing JavaEE outside of the enterprise: Home Automation & IoT - David Delab...
Ā 
Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)
Ā 
Achieving Network Deployment Flexibility with Mirantis OpenStack
Achieving Network Deployment Flexibility with Mirantis OpenStackAchieving Network Deployment Flexibility with Mirantis OpenStack
Achieving Network Deployment Flexibility with Mirantis OpenStack
Ā 

More from Simon Ritter

Cloud Native Compiler
Cloud Native CompilerCloud Native Compiler
Cloud Native CompilerSimon Ritter
Ā 
Java On CRaC
Java On CRaCJava On CRaC
Java On CRaCSimon Ritter
Ā 
The Art of Java Type Patterns
The Art of Java Type PatternsThe Art of Java Type Patterns
The Art of Java Type PatternsSimon Ritter
Ā 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java WorkshopSimon Ritter
Ā 
Java performance monitoring
Java performance monitoringJava performance monitoring
Java performance monitoringSimon Ritter
Ā 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java WorkshopSimon Ritter
Ā 
Getting the Most From Modern Java
Getting the Most From Modern JavaGetting the Most From Modern Java
Getting the Most From Modern JavaSimon Ritter
Ā 
Building a Better JVM
Building a Better JVMBuilding a Better JVM
Building a Better JVMSimon Ritter
Ā 
JDK 14 Lots of New Features
JDK 14 Lots of New FeaturesJDK 14 Lots of New Features
JDK 14 Lots of New FeaturesSimon Ritter
Ā 
Java after 8
Java after 8Java after 8
Java after 8Simon Ritter
Ā 
How to Choose a JDK
How to Choose a JDKHow to Choose a JDK
How to Choose a JDKSimon Ritter
Ā 
Java Programming
Java ProgrammingJava Programming
Java ProgrammingSimon Ritter
Ā 
The Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologyThe Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologySimon Ritter
Ā 
Developing Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologyDeveloping Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologySimon Ritter
Ā 
Is Java Still Free?
Is Java Still Free?Is Java Still Free?
Is Java Still Free?Simon Ritter
Ā 
Moving Towards JDK 12
Moving Towards JDK 12Moving Towards JDK 12
Moving Towards JDK 12Simon Ritter
Ā 
JDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and BeyondJDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and BeyondSimon Ritter
Ā 
Java Is Still Free
Java Is Still FreeJava Is Still Free
Java Is Still FreeSimon Ritter
Ā 
JDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and BeyondJDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and BeyondSimon Ritter
Ā 
JDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveJDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveSimon Ritter
Ā 

More from Simon Ritter (20)

Cloud Native Compiler
Cloud Native CompilerCloud Native Compiler
Cloud Native Compiler
Ā 
Java On CRaC
Java On CRaCJava On CRaC
Java On CRaC
Ā 
The Art of Java Type Patterns
The Art of Java Type PatternsThe Art of Java Type Patterns
The Art of Java Type Patterns
Ā 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
Ā 
Java performance monitoring
Java performance monitoringJava performance monitoring
Java performance monitoring
Ā 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
Ā 
Getting the Most From Modern Java
Getting the Most From Modern JavaGetting the Most From Modern Java
Getting the Most From Modern Java
Ā 
Building a Better JVM
Building a Better JVMBuilding a Better JVM
Building a Better JVM
Ā 
JDK 14 Lots of New Features
JDK 14 Lots of New FeaturesJDK 14 Lots of New Features
JDK 14 Lots of New Features
Ā 
Java after 8
Java after 8Java after 8
Java after 8
Ā 
How to Choose a JDK
How to Choose a JDKHow to Choose a JDK
How to Choose a JDK
Ā 
Java Programming
Java ProgrammingJava Programming
Java Programming
Ā 
The Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologyThe Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans Technology
Ā 
Developing Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologyDeveloping Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java Technology
Ā 
Is Java Still Free?
Is Java Still Free?Is Java Still Free?
Is Java Still Free?
Ā 
Moving Towards JDK 12
Moving Towards JDK 12Moving Towards JDK 12
Moving Towards JDK 12
Ā 
JDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and BeyondJDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and Beyond
Ā 
Java Is Still Free
Java Is Still FreeJava Is Still Free
Java Is Still Free
Ā 
JDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and BeyondJDK 9, 10, 11 and Beyond
JDK 9, 10, 11 and Beyond
Ā 
JDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveJDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep Dive
Ā 

Recently uploaded

How To Troubleshoot Mercedes Blind Spot Assist Inoperative Error
How To Troubleshoot Mercedes Blind Spot Assist Inoperative ErrorHow To Troubleshoot Mercedes Blind Spot Assist Inoperative Error
How To Troubleshoot Mercedes Blind Spot Assist Inoperative ErrorAndres Auto Service
Ā 
Vip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp Number
Vip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp NumberVip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp Number
Vip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp Numberkumarajju5765
Ā 
John Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service Manual
John Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service ManualJohn Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service Manual
John Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service ManualExcavator
Ā 
Crash Vehicle Emergency Rescue Slideshow.ppt
Crash Vehicle Emergency Rescue Slideshow.pptCrash Vehicle Emergency Rescue Slideshow.ppt
Crash Vehicle Emergency Rescue Slideshow.pptVlademirGebDubouzet1
Ā 
UNIT-1-VEHICLE STRUCTURE AND ENGINES.ppt
UNIT-1-VEHICLE STRUCTURE AND ENGINES.pptUNIT-1-VEHICLE STRUCTURE AND ENGINES.ppt
UNIT-1-VEHICLE STRUCTURE AND ENGINES.pptDineshKumar4165
Ā 
The 10th anniversary, Hyundai World Rally Team's amazing journey
The 10th anniversary, Hyundai World Rally Team's amazing journeyThe 10th anniversary, Hyundai World Rally Team's amazing journey
The 10th anniversary, Hyundai World Rally Team's amazing journeyHyundai Motor Group
Ā 
Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...
Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...
Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...shivangimorya083
Ā 
UNIT-III-TRANSMISSION SYSTEMS REAR AXLES
UNIT-III-TRANSMISSION SYSTEMS REAR AXLESUNIT-III-TRANSMISSION SYSTEMS REAR AXLES
UNIT-III-TRANSMISSION SYSTEMS REAR AXLESDineshKumar4165
Ā 
83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagar
83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagar83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagar
83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagardollysharma2066
Ā 
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 person
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 personDelhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 person
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 personshivangimorya083
Ā 
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip CallDelhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip Callshivangimorya083
Ā 
Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...
Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...
Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...Hot Call Girls In Sector 58 (Noida)
Ā 
Vip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile Girls
Vip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile GirlsVip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile Girls
Vip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile Girlsshivangimorya083
Ā 
Russian Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...
Russian  Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...Russian  Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...
Russian Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...shivangimorya083
Ā 
ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...
ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...
ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...Hot Call Girls In Sector 58 (Noida)
Ā 
Call Girls In Kirti Nagar 7042364481 Escort Service 24x7 Delhi
Call Girls In Kirti Nagar 7042364481 Escort Service 24x7 DelhiCall Girls In Kirti Nagar 7042364481 Escort Service 24x7 Delhi
Call Girls In Kirti Nagar 7042364481 Escort Service 24x7 DelhiHot Call Girls In Sector 58 (Noida)
Ā 
ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚
ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚
ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚Hot Call Girls In Sector 58 (Noida)
Ā 
BLUE VEHICLES the kids picture show 2024
BLUE VEHICLES the kids picture show 2024BLUE VEHICLES the kids picture show 2024
BLUE VEHICLES the kids picture show 2024AHOhOops1
Ā 
What Causes BMW Chassis Stabilization Malfunction Warning To Appear
What Causes BMW Chassis Stabilization Malfunction Warning To AppearWhat Causes BMW Chassis Stabilization Malfunction Warning To Appear
What Causes BMW Chassis Stabilization Malfunction Warning To AppearJCL Automotive
Ā 

Recently uploaded (20)

How To Troubleshoot Mercedes Blind Spot Assist Inoperative Error
How To Troubleshoot Mercedes Blind Spot Assist Inoperative ErrorHow To Troubleshoot Mercedes Blind Spot Assist Inoperative Error
How To Troubleshoot Mercedes Blind Spot Assist Inoperative Error
Ā 
Vip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp Number
Vip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp NumberVip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp Number
Vip Hot Call Girls šŸ«¤ Mahipalpur āž”ļø 9711199171 āž”ļø Delhi šŸ«¦ Whatsapp Number
Ā 
John Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service Manual
John Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service ManualJohn Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service Manual
John Deere 300 3029 4039 4045 6059 6068 Engine Operation and Service Manual
Ā 
Crash Vehicle Emergency Rescue Slideshow.ppt
Crash Vehicle Emergency Rescue Slideshow.pptCrash Vehicle Emergency Rescue Slideshow.ppt
Crash Vehicle Emergency Rescue Slideshow.ppt
Ā 
UNIT-1-VEHICLE STRUCTURE AND ENGINES.ppt
UNIT-1-VEHICLE STRUCTURE AND ENGINES.pptUNIT-1-VEHICLE STRUCTURE AND ENGINES.ppt
UNIT-1-VEHICLE STRUCTURE AND ENGINES.ppt
Ā 
The 10th anniversary, Hyundai World Rally Team's amazing journey
The 10th anniversary, Hyundai World Rally Team's amazing journeyThe 10th anniversary, Hyundai World Rally Team's amazing journey
The 10th anniversary, Hyundai World Rally Team's amazing journey
Ā 
Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...
Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...
Hot And Sexy šŸ„µ Call Girls Delhi Daryaganj {9711199171} Ira Malik High class G...
Ā 
UNIT-III-TRANSMISSION SYSTEMS REAR AXLES
UNIT-III-TRANSMISSION SYSTEMS REAR AXLESUNIT-III-TRANSMISSION SYSTEMS REAR AXLES
UNIT-III-TRANSMISSION SYSTEMS REAR AXLES
Ā 
83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagar
83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagar83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagar
83778-77756 ( HER.SELF ) Brings Call Girls In Laxmi Nagar
Ā 
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 person
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 personDelhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 person
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Full night Service for more than 1 person
Ā 
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip CallDelhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Saket 9711199171 ā˜Žāœ”šŸ‘Œāœ” Whatsapp Hard And Sexy Vip Call
Ā 
Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...
Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...
Alina 7042364481 Call Girls Service Pochanpur Colony - independent Pochanpur ...
Ā 
Vip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile Girls
Vip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile GirlsVip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile Girls
Vip HotšŸ„µ Call Girls Delhi Delhi {9711199012} Avni Thakur šŸ§”šŸ˜˜ High Profile Girls
Ā 
Russian Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...
Russian  Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...Russian  Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...
Russian Call Girls Delhi Indirapuram {9711199171} Aarvi Gupta āœŒļøIndependent ...
Ā 
ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...
ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...
ź§ ą­ØāŽÆCall Girls In Ashok Vihar, New Delhi *ļ¼Šāœæā€7042364481ā€āœæļ¼Š*Escorts ServiCes C...
Ā 
Call Girls In Kirti Nagar 7042364481 Escort Service 24x7 Delhi
Call Girls In Kirti Nagar 7042364481 Escort Service 24x7 DelhiCall Girls In Kirti Nagar 7042364481 Escort Service 24x7 Delhi
Call Girls In Kirti Nagar 7042364481 Escort Service 24x7 Delhi
Ā 
Hotel Escorts Sushant Golf City - 9548273370 Call Girls Service in Lucknow, c...
Hotel Escorts Sushant Golf City - 9548273370 Call Girls Service in Lucknow, c...Hotel Escorts Sushant Golf City - 9548273370 Call Girls Service in Lucknow, c...
Hotel Escorts Sushant Golf City - 9548273370 Call Girls Service in Lucknow, c...
Ā 
ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚
ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚
ź§ą¼’ā˜¬ 7042364481 (Call Girl) In Dwarka Delhi Escort Service In Delhi Ncrā˜¬ą¼’ź§‚
Ā 
BLUE VEHICLES the kids picture show 2024
BLUE VEHICLES the kids picture show 2024BLUE VEHICLES the kids picture show 2024
BLUE VEHICLES the kids picture show 2024
Ā 
What Causes BMW Chassis Stabilization Malfunction Warning To Appear
What Causes BMW Chassis Stabilization Malfunction Warning To AppearWhat Causes BMW Chassis Stabilization Malfunction Warning To Appear
What Causes BMW Chassis Stabilization Malfunction Warning To Appear
Ā 

The Java Carputer

  • 1. Carjacking With Java (Or Building A Java Carputer) Simon Ri>er Head of Java Evangelism, Oracle Twi>er: @speakjava Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 2. Safe Harbor Statement The following is intended to outline our general product direcRon. It is intended for informaRon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcRonality, and should not be relied upon in making purchasing decisions. The development, release, and Rming of any features or funcRonality described for Oracleā€™s products remains at the sole discreRon of Oracle. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 2
  • 3. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Program Agenda Cars And Computers The Java Carputer (Mark 1) The Java Carputer (Mark 2) Heads Up Display/TelemaRcs Data Recording/Analysis Conclusions, Resources and Demos 1 2 3 4 5 6
  • 4. Cars And Computers Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 5. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. My First Car: 1981 1971 Mini Clubman 1000 ā€¢ No electronics ā€“ Well, it had a radio ā€¢ Purely electromechanical ā€“ Points/Distributor ā€“ Carbure>or/Manual choke ā€“ Drum brakes ā€“ Dynamo ā€“ Lights, horn, wipers, fan, igniRon switch
  • 6. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Car Wiring: 1970s Image coutesy of Haynes manuals
  • 7. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. My Current Car ā€¢ Lots of electronics ā€“ Engine Control Unit (ECU) ā€“ Fuel InjecRon/Electronic Rming ā€“ ā€œFly-Ā­ā€by-Ā­ā€wireā€ thro>le ā€“ AnR-Ā­ā€lock Braking System (ABS) ā€“ Electronic Stability Program (ESP) ā€“ Magnetorheological Suspension ā€“ Satellite navigaRon ā€“ Auto-Ā­ā€sensing wipers and lights 2011 Audi S3
  • 8. Bus architecture means substan>ally less wiring Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Car Wiring: 2011 Convenience Bus Infotainment Bus Powertrain Bus
  • 9. The Java Carputer (Mark 1) Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 10. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Carputer Design ObjecRves ā€¢ Display realRme data ā€¢ Engine performance (Power, Torque, Load) ā€¢ Driver data (Thro>le posiRon, steering angle, braking force, etc) ā€¢ G-Ā­ā€Forces on car ā€¢ Graphed data for Rme-Ā­ā€based analysis
  • 11. Carputer Hardware Architecture USB WiFi Dongle Touch Screen Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. HDMI Accelerometer USB I2C 12V Car Converter ELM327 Car Service Port 5V USB
  • 12. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. ELM327 Cheap way to hack your car ā€¢ WiFi or Bluetooth connecRon to OBD-Ā­ā€II ā€¢ Fixed IP address, Ad-Ā­ā€hoc networking ā€¢ Need to configure Raspberry Pi ā€“ /etc/network/interfaces ā€¢ AT style commands for control ā€¢ Non-Ā­ā€AT commands are assumed to be OBD-Ā­ā€II ā€“ Simple request-Ā­ā€response interacRon ā€“ Easy to write Java code to handle this
  • 13. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Touchscreen Lots of things available on eBay ā€¢ 2 DIN fiing size ā€“ Ideal for centre console ā€¢ HDMI input ā€“ Specifically marketed for Raspberry Pi ā€¢ USB connecRon for touch screen
  • 14. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Touchscreen Hardware FiJng Challenges
  • 15. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Accelerometer ā€¢ Sparkfun breakout board MPU 9150 ā€“ 9 DoF sensor (accelerometer, gyroscope, compass) ā€¢ CommunicaRons via I2C ā€“ Configure Raspberry Pi /etc/modules ā€¢ i2c-Ā­ā€bcm2708, i2c-Ā­ā€dev ā€¢ i2c-Ā­ā€detect -Ā­ā€y 1 to get address ā€“ Compass communicaRon is a bit more complicated ā€¢ Second I2C bus
  • 16. Accelerometer Code Using Pi4J Library on Java SE Embedded I2CBus bus = I2CFactory.getInstance(I2CBus.BUS_1); I2CDevice device = bus.getDevice(0x68); /* Start sensing */ device.write(0x6B, (byte)0b00000000); device.write(0x6C, (byte)0b00000000); /* Set configuration */ device.write(0x1B, (byte)0b00011000); // Gyroscope device.write(0x1C, (byte)0b00000100); // Accelerometer device.read(0x3B, accelData, 0, ACCEL_PACKET_SIZE); Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 17. CalculaRng Power And Torque Torque (Nm) = Mass x Wheel Radius x AcceleraRon (in G) Torque (lb/l) = Torque in Nm x 0.73756 Power (BHP) = Torque (lb/l) x engine RPM / 5252 Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. ā€¢ Results will not have high accuracy ā€“ Values in red are not precise ā€¢ Dynamometer is the only way to get accurate figures ā€¢ InteresRng to see values v. manufacturers figures
  • 18. Carputer Solware Architecture Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. ā€¢ Screens based ā€“ Splash screen ā€“ Basic and advanced car data ā€“ G forces on car ā€“ Graphed results of different parameters ā€¢ Simple UI ā€“ Canā€™t read numbers when driving ā€¢ Touchscreen to switch screens ā€“ Repurpose exisRng car controls to change screen? Real>me Data
  • 19. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. UI Design Ideas Take Inspira>on From Others Renault Megane Sport
  • 20. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. UI Design Ideas Take Inspira>on From Others Tesla
  • 21. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. UI Design Ideas Take Inspira>on From Others Lamborghini Reveton
  • 22. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Simple Data Display Control ā€¢ Only uses 3 nodes ā€“ Polygon ā€“ Rectangle ā€“ Line ā€“ Labels are opRonal ā€¢ Displays ā€“ Current value ā€“ Maximum value since start (resetable) ā€¢ Simple to understand from a glance
  • 23. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. UI Screens Splash Screen
  • 24. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. UI Screens
  • 25. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. UI Screens
  • 26. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. UI Screens
  • 27. Graph Plots Of Thro>le PosiRon And Power Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 28. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. JavaFX Charts And Colours Can Only Be Changed Using CSS .axis { -Ā­ā€fx-Ā­ā€tick-Ā­ā€label: #FFFFFF; } .axis-Ā­ā€tick-Ā­ā€mark { -Ā­ā€fx-Ā­ā€stroke: #FFFFFF; } .axis-Ā­ā€minor-Ā­ā€tick-Ā­ā€mark { -Ā­ā€fx-Ā­ā€stroke: #000000; } .chart-Ā­ā€plot-Ā­ā€background { -Ā­ā€fx-Ā­ā€background-Ā­ā€color: #000000; } .chart-Ā­ā€alternative-Ā­ā€row-Ā­ā€fill { -Ā­ā€fx-Ā­ā€fill: #000000; } .default-Ā­ā€color0.chart-Ā­ā€series-Ā­ā€line { -Ā­ā€fx-Ā­ā€stroke: #FFFF33; }
  • 29. The Java Carputer (Mark 2) Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 30. Carputer Hardware Architecture Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 30 Crossover ethernet USB via FTDI Infra red Thermal sensor CAN High CAN Low OBD2 Service Port Wi-Ā­ā€Fi Accelerometer/ Gyro/Compass I2C USB UART Serial Heart Rate Monitor GPS USB Video Camera Raspberry Pi Model B+ 7ā€ Touch secreen USB CAN Bus SDR/TPMS
  • 31. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Tracking PosiRon With GPS ā€¢ AdaFruit UlRmate GPS breakout ā€“ 10Hz read rate ā€“ Serial interface ā€¢ Very simple configuraRon ā€“ Disable /dev/ttyAMA0 on Pi as console ā€“ 9600 8N1 ā€“ Read data using librxtx-Ā­ā€java ā€“ Comma separated values $GPGGA and $GPVTG ā€“ Need to handle frequent data corrupRon
  • 32. Heart Rate Monitoring of the Driver ā€¢ Sparkfun Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. board ā€“ USB interface, serial connecRon ā€¢ Similar to GPS ā€“ Use librxtx-Ā­ā€java ā€“ 9600, 8N1 ā€¢ More complicated coding ā€“ Actually need to send a read request! ā€¢ Some issues with wireless connecRon ā€“ 80cm max, doesnā€™t work well through a Rapsberry Pi
  • 33. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. In-Ā­ā€car Video ā€¢ Becoming very common to avoid insurance issues ā€¢ Transcend DrivePro 200 ā€“ Built-Ā­ā€in Wi-Ā­ā€Fi ā€“ iPhone app ā€¢ How to get video stream? ā€“ Approached Transcend tech support ā€“ Found VLC code ā€“ Wireshark ā€“ SYN/ACK, Yuck! 33 Camera Applica>on 192.168.0.1 192.168.0.2 Port 9000 Port 43229 Port 9001 Port 42719 Port 9002 Port 58105 Port 8554 (RTSP) Port 60583
  • 34. The Simplest SoluRon Is Olen The Best Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 34 Push bu>on using GPIO lines and Pi4J
  • 35. Thermal Sensors For Brakes and Tyres The Goal Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 36. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Infra-Ā­ā€Red Thermometer ā€¢ MLX90614 breakout board ā€“ I2C interface seemed problemaRc on the Pi ā€“ Also has serial interface ā€“ Use FTDI breakout board ā€“ 4 wires becomes simple serial interface 36 The Reality
  • 37. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Thermal Sensor Data ā€¢ Provides conRnuous reading as lines of text (e.g. 73.2F) ā€“ Donā€™t like Fahrenheit, wanted Celcius ā€“ Lambdas and Streams! 37 private double currentTemperature; public void run() { thermalReader.lines() .mapToDouble(s -Ā­ā€> Double.parseDouble(s.substring(0, s.length() -Ā­ā€ 1))) .map(t -Ā­ā€> ((t -Ā­ā€ 32) * 5 / 9)) .filter(t -Ā­ā€> t != currentTemperature) .peek(t -Ā­ā€> listener.ifPresent(l -Ā­ā€> l.temperatureChange(t))) .forEach(t -Ā­ā€> currentTemperature = t); }
  • 38. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Thermal Sensor Data ā€¢ Provides conRnuous reading as lines of text (e.g. 73.2F) ā€“ Donā€™t like Fahrenheit, wanted Celcius ā€“ Lambdas and Streams! 38 private double currentTemperature; public void run() { thermalReader.lines() .mapToDouble(s -Ā­ā€> Double.parseDouble(s.substring(0, s.length() -Ā­ā€ 1))) .map(t -Ā­ā€> ((t -Ā­ā€ 32) * 5 / 9)) .filter(t -Ā­ā€> t != this.currentTemperature) .peek(t -Ā­ā€> listener.ifPresent(l -Ā­ā€> l.temperatureChange(t))) .forEach(t -Ā­ā€> this.currentTemperature = t); }
  • 39. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 39 Fiing The Thermal Sensors Tyre Sensor
  • 40. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 40 Fiing The Thermal Sensors Brake Disk Sensor
  • 41. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 41 Fiing The Thermal Sensors Separate Pi in Engine Bay
  • 42. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Fiing The Thermal Sensors ā€¢ Simple server listens on port ā€¢ Carputer requests data ā€¢ Couple of issues ā€“ Server needed reset for new connecRon (bug to be fixed) ā€“ How to tell which sensor is which (>yUSB0/>yUSB1) 42 The Networked Car
  • 43. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Fiing The Thermal Sensors ā€¢ Rasperry Pi at over 50C ā€“ Aler 10 minute drive ā€¢ New approach required ā€“ Longer USB cables ā€“ Put the Pi in the car 43 Internal Combus>on Produces Heat
  • 44. Geing Data From The CAN Bus ā€¢ Controller Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Area Network ā€¢ Used to connect many sensors, actuators and devices ā€“ Without huge amounts of wiring ā€¢ Conveniently the CAN bus is connected to the OBD2 port ā€“ Yes, the wiring is there ā€“ No, the signals are not ā€“ Presumably security measure from car manufacturers ā€“ Boo!
  • 45. Geing Data From The CAN Bus Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Where Thereā€™s A Will Thereā€™s A Way
  • 46. Geing Data From The CAN Bus Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Where Thereā€™s A Will Thereā€™s A Way Success! (And the car sRll works)
  • 47. Geing Data From The CAN Bus Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. ā€¢ Lawicel CAN bus to USB ā€¢ Serial device ā€¢ Sends decoded data ā€¢ Need to write a Java library ā€“ CAN id ā€“ Message data ā€¢ Then the hard part starts ā€“ Figuring it all out 47 Electrical Connec>vity Is Only The Start
  • 48. Finished Data Capture System Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 48
  • 49. Heads Up Display/ TelemaRcs Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 50. In Car Heads Up Displays Are Becoming A Reality Jaguar Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. ConRnental Virtual Windscreen Mini Cooper NavTy
  • 51. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Build Your Own HUD ā€¢ Turns out itā€™s not that simple ā€¢ First iteraRon ā€“ 3M MPro110 Micro Projector, half silvered film (from a cheap in-Ā­ā€car HUD) ā€¢ Didnā€™t really work ā€“ Too much reflecRon of projector lamp, not image
  • 52. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. 52 Build Your Own HUD Second AWempt
  • 53. Raspberry Pi Heads Up Display ā€¢ Cheap Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. screen for the Pi ā€¢ Use teleprompter glass rather than half-Ā­ā€silvered perspex ā€“ 70% transmission, 30% refecRon much be>er ā€¢ Issue: How to produce an inverted image? ā€¢ Answer: Use a refecRon effect 53 Reflection ref = new Reflection(); ref.setFraction(1.0); ref.setBottomOpacity(1.0); ref.setTopOpacity(1.0);
  • 54. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Data Display On HUD ā€¢ Speed and engine RPM ā€“ Use OBD2 data ā€“ Wi-Ā­ā€Fi dongle to access ELM327 ā€¢ Convert posiRon (from GPS) into current speed limit ā€“ Bluetooth dongle for pairing with mobile phone ā€“ Configure Linux to provide network access via TCP/IP ā€“ Transmit posiRon obtained from GPS ā€“ Write servlet to run on home Linux box (open port on firewall) ā€“ Servlet uses posiRon and Ordanance Survey data to determine speed limit ā€“ (Future project) 54
  • 55. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Hardware In Place 55
  • 56. Data Recording and Analysis Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 57. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Display Collected Data ā€¢ JavaFX applicaRon ā€¢ Video stream ā€“ Synchronised to data streams ā€¢ Data recorded as sequence of text records ā€“ Comma separated values ā€“ One line per sensor ā€“ Time stamp ā€¢ Read all data in at start of applicaRon ā€“ 15 minutes of data takes about 100ms 57
  • 58. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. ā€¢ Video (with controls) ā€¢ G-Ā­ā€forces ā€¢ GPS co-Ā­ā€ordinates/alRtude ā€¢ Map of current posiRon ā€¢ Speed (compare car and GPS) ā€¢ Bearing ā€¢ Engine load ā€¢ Fuel pressure ā€¢ Air intake temperature ā€¢ Coolant temperature ā€¢ Catalyst/exhaust temperature ā€¢ Tyre temperature ā€¢ Brake temperature ā€¢ Thro>le posiRon ā€¢ Engine RPM ā€¢ Heart rate 58 Data To Display
  • 59. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. User Interface Design ā€¢ Use JFXtras library (Gerrit Grunwaldā€™s dials and LEDs) ā€¢ Formula 1 style ā€“ Thro>le/brake/engine/gear display ā€“ LED tachometer ā€¢ Heart rate number is not too exciRng ā€“ AnimaRons ā€“ ConRnuous pulses was a bit of a challenge (several parallel, offset transiRons) 59 JavaFX
  • 60. Conclusions & Resources Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 61. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Conclusions ā€¢ Cars produce lots of data ā€¢ Use of sensors with Java is simple to collect (most) data ā€¢ Playback of data useful for insurance, fleet management, training ā€¢ Java and JavaFX make UI design simple
  • 62. Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved. Resources and Links ā€¢ www.sparkfun.com ā€¢ www.adafruit.com ā€¢ www.raspberrypi.org ā€¢ blogs.oracle.com/speakjava ā€¢ Twi>er: @speakjava
  • 63. Demos Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.
  • 64. Carjacking With Java (Or Building A Java Carputer) Simon Ri>er Head of Java Evangelism, Oracle Twi>er: @speakjava Copyright Ā© 2014, Oracle and/or its affiliates. All rights reserved.