SlideShare a Scribd company logo
© 2013 IBM Corporation
Arduinos,!
Application Servers,!
and me
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
?
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
“Computers in the future may weigh
no more than 1.5 tons.”
!
Popular Mechanics,
1949
!
© 2013 IBM Corporation
@holly_cummins
“I think there is a world market for
maybe five computers.”
	
 	
 	
 	
Thomas Watson
chairman of IBM
1943
© 2013 IBM Corporation
@holly_cummins
Then: HARDware
© 2013 IBM Corporation
@holly_cummins
Now: Everyware
© 2013 IBM Corporation
@holly_cummins
Next: Connected-ware
© 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
© 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
It’s the future.
© 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
It’s the future.
“This could really benefit my
business.”
© 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
It’s the future.
“This could really benefit my
business.”
“This is so FUN and COOL and
OOH I made it LIGHT UP!”
© 2013 IBM Corporation
@holly_cummins
Poll-time.
© 2013 IBM Corporation
@holly_cummins
Hmm.
We’ll come back to this.
© 2013 IBM Corporation
@holly_cummins
Working with IoT
© 2013 IBM Corporation
@holly_cummins
Working with IoT: step 1
© 2013 IBM Corporation
@holly_cummins
Working with IoT: step 1
“No, I did NOT mean jot. I meant iot. Gah!”
© 2013 IBM Corporation
@holly_cummins
Working with IoT: step 1
“No, I did NOT mean jot. I meant iot. Gah!”
© 2013 IBM Corporation
@holly_cummins
Working with IoT: step 2
Get some kit
© 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
© 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
© 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
Sort-of-a-computer
© 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
Sort-of-a-computer
Microprocessor
© 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
Sort-of-a-computer
Microprocessor
Really-a-computer
© 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
© 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
© 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
© 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
Arduino-compatible (£9)
© 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
Arduino-compatible (£9)
NetDuino (£48)
© 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
Arduino-compatible (£9)
NetDuino (£48)
.NET micro platform
© 2013 IBM Corporation
@holly_cummins
Arduino
© 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
© 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
Thing, but no internet
© 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
Thing, but no internet
Can buy an ethernet shield (£10)
© 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
Thing, but no internet
Can buy an ethernet shield (£10)
Can buy wi-fi shield (£36, and no WPA2)
© 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
Thing, but no internet
Can buy an ethernet shield (£10)
Can buy wi-fi shield (£36, and no WPA2)
Can buy a raspberry pi (£20)
© 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
Thing, but no internet
Can buy an ethernet shield (£10)
Can buy wi-fi shield (£36, and no WPA2)
Can buy a raspberry pi (£20)
Can find a raspberry pi in a drawer
(free!)
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Netduino (£48)
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Netduino (£48)
.NET based
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Netduino (£48)
.NET based
pcDuino (£50)
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Netduino (£48)
.NET based
pcDuino (£50)
BeagleBone black (£42)
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Netduino (£48)
.NET based
pcDuino (£50)
BeagleBone black (£42)
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
SD storage
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
SD storage
Needs Arduino for IoT applications
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
SD storage
Needs Arduino for IoT applications
USB is not my friend
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
SD storage
Needs Arduino for IoT applications
USB is not my friend
Insufficient power for reliable wi-fi
© 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
SD storage
Needs Arduino for IoT applications
USB is not my friend
Insufficient power for reliable wi-fi
Contention if used for wi-fi and Arduino
© 2013 IBM Corporation
@holly_cummins
pcDuino
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-board wi-fi
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-board wi-fi
Arduino-compatible pins (sort of)
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-board wi-fi
Arduino-compatible pins (sort of)
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-board wi-fi
Arduino-compatible pins (sort of)
Connectors for battery (sort of)
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-board wi-fi
Arduino-compatible pins (sort of)
Connectors for battery (sort of)
© 2013 IBM Corporation
@holly_cummins
Going mobile
© 2013 IBM Corporation
@holly_cummins
Going mobile
PcDuino
battery
interface
© 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
© 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
© 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
JST-PH
© 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
JST-PH
© 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
JST-PH
JST-SH
© 2013 IBM Corporation
@holly_cummins
BeagleBone black
£42!
1 GHz processor!
Not arduino-compatible
out of the box
© 2013 IBM Corporation
@holly_cummins
Arduino Yún
© 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
© 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
© 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
sharing a chip with an Atheros
microprocessor
© 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
sharing a chip with an Atheros
microprocessor
… that runs Linux (limited)
© 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
sharing a chip with an Atheros
microprocessor
… that runs Linux (limited)
… and has WiFi and ethernet
© 2013 IBM Corporation
@holly_cummins
Embedded devices are changing
Modern microcontrollers are
more powerful than
microprocessors from a few
years ago
© 2013 IBM Corporation
@holly_cummins
Why is more powerful better?
You can do more!!
You can know less!
© 2013 IBM Corporation
@holly_cummins
Why is more powerful better?
You can do more!!
You can know less!different things
© 2013 IBM Corporation
@holly_cummins
Why is less powerful better
© 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
© 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
Lower power consumption
© 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
Lower power consumption
Cheaper!
© 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
Lower power consumption
Cheaper!
Can buy a PIC microcontroller for
£2
© 2013 IBM Corporation
@holly_cummins
Why is more powerful better?
You can have an application
server!!
JPA!
Rest!
WebSockets!
CDI
© 2013 IBM Corporation
@holly_cummins
Ubiquitous computing++
© 2013 IBM Corporation
@holly_cummins
Ubiquitous computing++
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
60 MB footprint for biggish JEE app
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
60 MB footprint for biggish JEE app
Starts in under 5s
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
60 MB footprint for biggish JEE app
Starts in under 5s
Entirely modular and dynamic
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
60 MB footprint for biggish JEE app
Starts in under 5s
Entirely modular and dynamic
Powered by OSGi …
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
60 MB footprint for biggish JEE app
Starts in under 5s
Entirely modular and dynamic
Powered by OSGi …
(originally designed for embedded systems)
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
60 MB footprint for biggish JEE app
Starts in under 5s
Entirely modular and dynamic
Powered by OSGi …
(originally designed for embedded systems)
No restarts!
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for small-scale
production
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for small-scale
production
Up 2 GB RAM free per organisation
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for small-scale
production
Up 2 GB RAM free per organisation
A great fit for embedables
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for small-scale
production
Up 2 GB RAM free per organisation
A great fit for embedables
Unlikely to use 2 GB RAM on a raspberry pi
© 2013 IBM Corporation
@holly_cummins
Where have I seen this before?
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Density
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Density
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Density
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
© 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
© 2013 IBM Corporation
@holly_cummins
Enable and disable
function
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
© 2013 IBM Corporation
@holly_cummins
Enable and disable
function
For extra points, do it
dynamically
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
© 2013 IBM Corporation
@holly_cummins
Enable and disable
function
For extra points, do it
dynamically
Easy install
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
© 2013 IBM Corporation
@holly_cummins
Enable and disable
function
For extra points, do it
dynamically
Easy install
Easy uninstall
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
© 2013 IBM Corporation
@holly_cummins
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display and
USB keyboard.
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display and
USB keyboard.
Works fine…
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display and
USB keyboard.
Works fine…
If you have a display and
cable and keyboard
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display and
USB keyboard.
Works fine…
If you have a display and
cable and keyboard
If the display drivers
support the display
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display and
USB keyboard.
Works fine…
If you have a display and
cable and keyboard
If the display drivers
support the display
© 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
© 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
Ethernet cable
© 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
Ethernet cable
DHCP
© 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
Ethernet cable
DHCP
Network sharing
© 2013 IBM Corporation
@holly_cummins
Getting a connection
© 2013 IBM Corporation
@holly_cummins
Finding the IP address
my-mac:~ holly$ ifconfig | grep -A3 bridge100	
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu
	 options=3<RXCSUM,TXCSUM>	
	 ether 3e:07:54:e0:26:64 	
	 inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255	
!
my-mac:~ holly$ nmap -sn 192.168.2.0/24	
!
Starting Nmap 6.47 ( http://nmap.org ) at 2015-02-28 16:26 GMT	
Strange error from connect (65):No route to host	
Nmap scan report for 192.168.2.3	
Host is up (0.00056s latency).	
Nmap done: 256 IP addresses (1 host up) scanned in 4.16 seconds
© 2013 IBM Corporation
@holly_cummins
A bit of textile engineering.
© 2013 IBM Corporation
@holly_cummins
A bit of textile engineering.
© 2013 IBM Corporation
@holly_cummins
Ta-daa!
© 2013 IBM Corporation
@holly_cummins
Ta-daa!
Presenting:
The WebSphere Sphere
© 2013 IBM Corporation
@holly_cummins
Ta-daa!
Presenting:
The WebSphere Sphere
(“the cuddly application server”)
© 2013 IBM Corporation
@holly_cummins
Remind you of anything?
© 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
© 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
Software faults can be corrected
without re-typing the whole
program.
© 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
Software faults can be corrected
without re-typing the whole
program.
Lucky software engineers.
© 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
Software faults can be corrected
without re-typing the whole
program.
Lucky software engineers.
Iterative development of
physical things is hard.
© 2013 IBM Corporation
@holly_cummins
It’s a computer case
© 2013 IBM Corporation
@holly_cummins
Architecture
Sensors
SSID:
WebSphereembedded
application
server
© 2013 IBM Corporation
@holly_cummins
Interfacing the ball to the computer
LED sequins
© 2013 IBM Corporation
@holly_cummins
Soft circuits
Conductive thread !
Stainless steel!
Sewable!
£6.78
© 2013 IBM Corporation
@holly_cummins
Soft-hard connections
Normal jumper lead!
Strip connector off one side!
Solder to sewable eye
© 2013 IBM Corporation
@holly_cummins
The physical world
© 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
© 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
Extra-bad on a pcDuino, because
they take down whole computer
© 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
Extra-bad on a pcDuino, because
they take down whole computer
Loose connections
© 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
Extra-bad on a pcDuino, because
they take down whole computer
Loose connections
Extra bad in something sealed
© 2013 IBM Corporation
@holly_cummins
Shields
© 2013 IBM Corporation
@holly_cummins
Shields
Daughter-boards for Arduino
© 2013 IBM Corporation
@holly_cummins
Shields
Daughter-boards for Arduino
Re-arrange pins
© 2013 IBM Corporation
@holly_cummins
Shields
Daughter-boards for Arduino
Re-arrange pins
Provide extra function
© 2013 IBM Corporation
@holly_cummins
Shields
Daughter-boards for Arduino
Re-arrange pins
Provide extra function
Provide mechanical protection if a
computer is crammed inside a
ball
© 2013 IBM Corporation
@holly_cummins
Let’s have a play
http://10.12.5.15:9080/sphere
© 2013 IBM Corporation
@holly_cummins
But is it really IoT?
© 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
© 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
© 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
One thing.
© 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
One thing.
Network, but not internet.
© 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
One thing.
Network, but not internet.
No machine-to-machine.
© 2013 IBM Corporation
@holly_cummins
M2M
MQTT!
Lightweight messaging protocol!
OASIS standard!
Widely supported!
Widely used
© 2013 IBM Corporation
@holly_cummins
Revised architecture
© 2013 IBM Corporation
@holly_cummins
Revised architecture
Same
source
© 2013 IBM Corporation
@holly_cummins
!
Demo-time	

(again)	

sphere.mybluemix.net/	

www.wasdev.net
© 2013 IBM Corporation
@holly_cummins
Bluemix and IoT foundation
	 	 // parse VCAP_SERVICES	
	 	 String VCAP_SERVICES = System.getenv("VCAP_SERVICES");	
!
	 	 JSONObject vcap = new JSONObject(VCAP_SERVICES);	
	 	 JSONArray json = vcap.getJSONArray("iotf-service");	
	 	 JSONObject credentials = json.getJSONObject(0).getJSONObject(	
	 	 	 	 "credentials");	
	 	 String host = (String) credentials.get("mqtt_host");	
	 	 Integer port = (Integer) credentials.get("mqtt_u_port");	
	 	 …	
!
	 	 MqttClient client = new MqttClient(uri, id);	
	 	 MqttConnectOptions opts = new MqttConnectOptions();	
	 	 opts.setUserName(username);	
	 	 opts.setPassword(password.toCharArray());	
	 	 client.connect(opts);	
	 	 client.setCallback(this);	
	 	 client.subscribe("iot-2/type/+/id/+/evt/+/fmt/+");
© 2013 IBM Corporation
@holly_cummins
www.wasdev.net
!
Any questions?	

 !
www.wasdev.net	

@holly_cummins
Come see the Liberty car on
the IBM stand today and
tomorrow …

More Related Content

Viewers also liked

Arduino + Android
Arduino + AndroidArduino + Android
Arduino + Android
bincangteknologi
 
Controlling an Arduino with Android
Controlling an Arduino with AndroidControlling an Arduino with Android
Controlling an Arduino with Android
A. Hernandez
 
Arduino Introduction by coopermaa
Arduino Introduction by coopermaaArduino Introduction by coopermaa
Arduino Introduction by coopermaa
馬 萬圳
 
Different types of thyristors and their applications
Different types of thyristors and their applicationsDifferent types of thyristors and their applications
Different types of thyristors and their applications
elprocus
 
Arduino
ArduinoArduino
Arduino
vipin7vj
 
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board""Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
Disha Modi
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
avikdhupar
 
Arduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoArduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the Arduino
Eoin Brazil
 
Wireless power transmission
Wireless power transmissionWireless power transmission
Wireless power transmissionrakeshkk
 
Arduino based intelligent greenhouse Project
Arduino based intelligent greenhouse ProjectArduino based intelligent greenhouse Project
Arduino based intelligent greenhouse Project
Amit Saini
 

Viewers also liked (12)

Arduino + Android
Arduino + AndroidArduino + Android
Arduino + Android
 
Controlling an Arduino with Android
Controlling an Arduino with AndroidControlling an Arduino with Android
Controlling an Arduino with Android
 
Arduino uno
Arduino unoArduino uno
Arduino uno
 
Arduino Introduction by coopermaa
Arduino Introduction by coopermaaArduino Introduction by coopermaa
Arduino Introduction by coopermaa
 
Different types of thyristors and their applications
Different types of thyristors and their applicationsDifferent types of thyristors and their applications
Different types of thyristors and their applications
 
Arduino
ArduinoArduino
Arduino
 
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board""Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Arduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoArduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the Arduino
 
Wireless power transmission
Wireless power transmissionWireless power transmission
Wireless power transmission
 
Arduino based intelligent greenhouse Project
Arduino based intelligent greenhouse ProjectArduino based intelligent greenhouse Project
Arduino based intelligent greenhouse Project
 
Slideshare ppt
Slideshare pptSlideshare ppt
Slideshare ppt
 

Similar to Arduinos, application servers, and me: Adventures in and out of the cloud

Intimate Things: How Wearables Are Changing The Internet of Things
Intimate Things: How Wearables Are Changing The Internet of ThingsIntimate Things: How Wearables Are Changing The Internet of Things
Intimate Things: How Wearables Are Changing The Internet of Things
Paul Brody
 
Millicomputing Ignite Talk
Millicomputing Ignite TalkMillicomputing Ignite Talk
Millicomputing Ignite Talk
Adrian Cockcroft
 
What Next for Electronic Devices?
What Next for Electronic Devices?What Next for Electronic Devices?
What Next for Electronic Devices?
Altium Limited
 
Thinking Strategically About IoT
Thinking Strategically About IoTThinking Strategically About IoT
Thinking Strategically About IoT
Holly Cummins
 
Maker Movement
Maker MovementMaker Movement
Maker Movement
Jingfeng Liu
 
Intoduction to physical computing using Raspberry Pi, 18-02-2016
Intoduction to physical computing using Raspberry Pi, 18-02-2016Intoduction to physical computing using Raspberry Pi, 18-02-2016
Intoduction to physical computing using Raspberry Pi, 18-02-2016
Sebin Benjamin
 
AMI - Bringing Your Own Device to ITAM
AMI - Bringing Your Own Device to ITAMAMI - Bringing Your Own Device to ITAM
AMI - Bringing Your Own Device to ITAM
AMI - Asset Management International
 
People, Planet, Clouds
People, Planet, CloudsPeople, Planet, Clouds
People, Planet, Clouds
Holly Cummins
 
IBM is making an Internet of Things for Everyone
IBM is making an Internet of Things for EveryoneIBM is making an Internet of Things for Everyone
IBM is making an Internet of Things for Everyone
John McNamara
 
Raspberry pi sikha
Raspberry pi sikhaRaspberry pi sikha
Raspberry pi sikhasikhakv
 
Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)
Jonathan Carter
 
rpiz-160630055740000393883839383883838383838
rpiz-160630055740000393883839383883838383838rpiz-160630055740000393883839383883838383838
rpiz-160630055740000393883839383883838383838
kabileshcm55
 
Raspberry Pi Zero
Raspberry Pi ZeroRaspberry Pi Zero
Raspberry Pi Zero
Baoshi Zhu
 
IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)
IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)
IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)MicheleNati
 
Understanding your Home network and keeping it secure
Understanding your Home network and keeping it secureUnderstanding your Home network and keeping it secure
Understanding your Home network and keeping it secureclcewing
 
IoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdfIoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdf
SudhanshiBakre1
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
bagal7694
 
Bil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your PocketBil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your Pocket
Adrian Cockcroft
 
Raspberry pi history, tips and use case
Raspberry pi history, tips and use caseRaspberry pi history, tips and use case
Raspberry pi history, tips and use case
Masafumi Ohta
 

Similar to Arduinos, application servers, and me: Adventures in and out of the cloud (20)

Intimate Things: How Wearables Are Changing The Internet of Things
Intimate Things: How Wearables Are Changing The Internet of ThingsIntimate Things: How Wearables Are Changing The Internet of Things
Intimate Things: How Wearables Are Changing The Internet of Things
 
Millicomputing Ignite Talk
Millicomputing Ignite TalkMillicomputing Ignite Talk
Millicomputing Ignite Talk
 
What Next for Electronic Devices?
What Next for Electronic Devices?What Next for Electronic Devices?
What Next for Electronic Devices?
 
Thinking Strategically About IoT
Thinking Strategically About IoTThinking Strategically About IoT
Thinking Strategically About IoT
 
Maker Movement
Maker MovementMaker Movement
Maker Movement
 
Intoduction to physical computing using Raspberry Pi, 18-02-2016
Intoduction to physical computing using Raspberry Pi, 18-02-2016Intoduction to physical computing using Raspberry Pi, 18-02-2016
Intoduction to physical computing using Raspberry Pi, 18-02-2016
 
AMI - Bringing Your Own Device to ITAM
AMI - Bringing Your Own Device to ITAMAMI - Bringing Your Own Device to ITAM
AMI - Bringing Your Own Device to ITAM
 
People, Planet, Clouds
People, Planet, CloudsPeople, Planet, Clouds
People, Planet, Clouds
 
IBM is making an Internet of Things for Everyone
IBM is making an Internet of Things for EveryoneIBM is making an Internet of Things for Everyone
IBM is making an Internet of Things for Everyone
 
Rassberry pi
Rassberry piRassberry pi
Rassberry pi
 
Raspberry pi sikha
Raspberry pi sikhaRaspberry pi sikha
Raspberry pi sikha
 
Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)
 
rpiz-160630055740000393883839383883838383838
rpiz-160630055740000393883839383883838383838rpiz-160630055740000393883839383883838383838
rpiz-160630055740000393883839383883838383838
 
Raspberry Pi Zero
Raspberry Pi ZeroRaspberry Pi Zero
Raspberry Pi Zero
 
IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)
IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)
IoTMeetupGuildford#2: IOT Resin.io - Lorenzo Stoakes (Resin.io)
 
Understanding your Home network and keeping it secure
Understanding your Home network and keeping it secureUnderstanding your Home network and keeping it secure
Understanding your Home network and keeping it secure
 
IoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdfIoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdf
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Bil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your PocketBil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your Pocket
 
Raspberry pi history, tips and use case
Raspberry pi history, tips and use caseRaspberry pi history, tips and use case
Raspberry pi history, tips and use case
 

More from WASdev Community

Liberty Deep Dive
Liberty Deep DiveLiberty Deep Dive
Liberty Deep Dive
WASdev Community
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
WASdev Community
 
Don't Wait! Develop Responsive Applications with Java EE7 Instead
Don't Wait! Develop Responsive Applications with Java EE7 InsteadDon't Wait! Develop Responsive Applications with Java EE7 Instead
Don't Wait! Develop Responsive Applications with Java EE7 Instead
WASdev Community
 
Liberty management
Liberty managementLiberty management
Liberty management
WASdev Community
 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs TomcatWebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
WASdev Community
 
AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...
AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...
AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...
WASdev Community
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
WASdev Community
 
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the CloudAAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
WASdev Community
 
ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...
ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...
ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...
WASdev Community
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
WASdev Community
 
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphereAAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
WASdev Community
 
AAI-2235 Open JPA and EclipseLink Usage Scenarios Explained
AAI-2235 Open JPA and EclipseLink Usage Scenarios ExplainedAAI-2235 Open JPA and EclipseLink Usage Scenarios Explained
AAI-2235 Open JPA and EclipseLink Usage Scenarios Explained
WASdev Community
 
AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7
WASdev Community
 
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin CenterDeploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
WASdev Community
 
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaAAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
WASdev Community
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
WASdev Community
 
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
WASdev Community
 
AAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE DeploymentsAAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE Deployments
WASdev Community
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
WASdev Community
 
Planning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPMPlanning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPMWASdev Community
 

More from WASdev Community (20)

Liberty Deep Dive
Liberty Deep DiveLiberty Deep Dive
Liberty Deep Dive
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
Don't Wait! Develop Responsive Applications with Java EE7 Instead
Don't Wait! Develop Responsive Applications with Java EE7 InsteadDon't Wait! Develop Responsive Applications with Java EE7 Instead
Don't Wait! Develop Responsive Applications with Java EE7 Instead
 
Liberty management
Liberty managementLiberty management
Liberty management
 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs TomcatWebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
 
AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...
AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...
AAI-3281 Smarter Production with WebSphere Application Server ND Intelligent ...
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
 
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the CloudAAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
 
ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...
ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...
ASZ-3034 Build a WebSphere Linux Cloud on System z: From Roll-Your-Own to Pre...
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
 
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphereAAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
 
AAI-2235 Open JPA and EclipseLink Usage Scenarios Explained
AAI-2235 Open JPA and EclipseLink Usage Scenarios ExplainedAAI-2235 Open JPA and EclipseLink Usage Scenarios Explained
AAI-2235 Open JPA and EclipseLink Usage Scenarios Explained
 
AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7
 
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin CenterDeploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
 
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaAAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
 
AAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE DeploymentsAAI-1305 Choosing WebSphere Liberty for Java EE Deployments
AAI-1305 Choosing WebSphere Liberty for Java EE Deployments
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 
Planning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPMPlanning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPM
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Arduinos, application servers, and me: Adventures in and out of the cloud

  • 1. © 2013 IBM Corporation Arduinos,! Application Servers,! and me
  • 2. © 2013 IBM Corporation @holly_cummins
  • 3. © 2013 IBM Corporation @holly_cummins ?
  • 4. © 2013 IBM Corporation @holly_cummins
  • 5. © 2013 IBM Corporation @holly_cummins
  • 6. © 2013 IBM Corporation @holly_cummins
  • 7. © 2013 IBM Corporation @holly_cummins
  • 8. © 2013 IBM Corporation @holly_cummins
  • 9. © 2013 IBM Corporation @holly_cummins
  • 10. © 2013 IBM Corporation @holly_cummins “Computers in the future may weigh no more than 1.5 tons.” ! Popular Mechanics, 1949 !
  • 11. © 2013 IBM Corporation @holly_cummins “I think there is a world market for maybe five computers.” Thomas Watson chairman of IBM 1943
  • 12. © 2013 IBM Corporation @holly_cummins Then: HARDware
  • 13. © 2013 IBM Corporation @holly_cummins Now: Everyware
  • 14. © 2013 IBM Corporation @holly_cummins Next: Connected-ware
  • 15. © 2013 IBM Corporation @holly_cummins Why care about the Internet of Things?
  • 16. © 2013 IBM Corporation @holly_cummins Why care about the Internet of Things? It’s the future.
  • 17. © 2013 IBM Corporation @holly_cummins Why care about the Internet of Things? It’s the future. “This could really benefit my business.”
  • 18. © 2013 IBM Corporation @holly_cummins Why care about the Internet of Things? It’s the future. “This could really benefit my business.” “This is so FUN and COOL and OOH I made it LIGHT UP!”
  • 19. © 2013 IBM Corporation @holly_cummins Poll-time.
  • 20. © 2013 IBM Corporation @holly_cummins Hmm. We’ll come back to this.
  • 21. © 2013 IBM Corporation @holly_cummins Working with IoT
  • 22. © 2013 IBM Corporation @holly_cummins Working with IoT: step 1
  • 23. © 2013 IBM Corporation @holly_cummins Working with IoT: step 1 “No, I did NOT mean jot. I meant iot. Gah!”
  • 24. © 2013 IBM Corporation @holly_cummins Working with IoT: step 1 “No, I did NOT mean jot. I meant iot. Gah!”
  • 25. © 2013 IBM Corporation @holly_cummins Working with IoT: step 2 Get some kit
  • 26. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices
  • 27. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller
  • 28. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller Sort-of-a-computer
  • 29. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller Sort-of-a-computer Microprocessor
  • 30. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller Sort-of-a-computer Microprocessor Really-a-computer
  • 31. © 2013 IBM Corporation @holly_cummins The microcontroller zoo
  • 32. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2)
  • 33. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23)
  • 34. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23) Arduino-compatible (£9)
  • 35. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23) Arduino-compatible (£9) NetDuino (£48)
  • 36. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23) Arduino-compatible (£9) NetDuino (£48) .NET micro platform
  • 37. © 2013 IBM Corporation @holly_cummins Arduino
  • 38. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet
  • 39. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet Thing, but no internet
  • 40. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet Thing, but no internet Can buy an ethernet shield (£10)
  • 41. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet Thing, but no internet Can buy an ethernet shield (£10) Can buy wi-fi shield (£36, and no WPA2)
  • 42. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet Thing, but no internet Can buy an ethernet shield (£10) Can buy wi-fi shield (£36, and no WPA2) Can buy a raspberry pi (£20)
  • 43. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet Thing, but no internet Can buy an ethernet shield (£10) Can buy wi-fi shield (£36, and no WPA2) Can buy a raspberry pi (£20) Can find a raspberry pi in a drawer (free!)
  • 44. © 2013 IBM Corporation @holly_cummins The single board computer zoo
  • 45. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25)
  • 46. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi
  • 47. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage
  • 48. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins
  • 49. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins Netduino (£48)
  • 50. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins Netduino (£48) .NET based
  • 51. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins Netduino (£48) .NET based pcDuino (£50)
  • 52. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins Netduino (£48) .NET based pcDuino (£50) BeagleBone black (£42)
  • 53. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins Netduino (£48) .NET based pcDuino (£50) BeagleBone black (£42)
  • 54. © 2013 IBM Corporation @holly_cummins Raspberry Pi
  • 55. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25
  • 56. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community
  • 57. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported
  • 58. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow
  • 59. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM
  • 60. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor
  • 61. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor SD storage
  • 62. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor SD storage Needs Arduino for IoT applications
  • 63. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor SD storage Needs Arduino for IoT applications USB is not my friend
  • 64. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor SD storage Needs Arduino for IoT applications USB is not my friend Insufficient power for reliable wi-fi
  • 65. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor SD storage Needs Arduino for IoT applications USB is not my friend Insufficient power for reliable wi-fi Contention if used for wi-fi and Arduino
  • 66. © 2013 IBM Corporation @holly_cummins pcDuino
  • 67. © 2013 IBM Corporation @holly_cummins pcDuino £50
  • 68. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful
  • 69. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core
  • 70. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM
  • 71. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM 4 GB Flash Storage
  • 72. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM 4 GB Flash Storage On-board wi-fi
  • 73. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM 4 GB Flash Storage On-board wi-fi Arduino-compatible pins (sort of)
  • 74. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM 4 GB Flash Storage On-board wi-fi Arduino-compatible pins (sort of)
  • 75. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM 4 GB Flash Storage On-board wi-fi Arduino-compatible pins (sort of) Connectors for battery (sort of)
  • 76. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM 4 GB Flash Storage On-board wi-fi Arduino-compatible pins (sort of) Connectors for battery (sort of)
  • 77. © 2013 IBM Corporation @holly_cummins Going mobile
  • 78. © 2013 IBM Corporation @holly_cummins Going mobile PcDuino battery interface
  • 79. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface
  • 80. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface
  • 81. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface JST-PH
  • 82. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface JST-PH
  • 83. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface JST-PH JST-SH
  • 84. © 2013 IBM Corporation @holly_cummins BeagleBone black £42! 1 GHz processor! Not arduino-compatible out of the box
  • 85. © 2013 IBM Corporation @holly_cummins Arduino Yún
  • 86. © 2013 IBM Corporation @holly_cummins Arduino Yún £57
  • 87. © 2013 IBM Corporation @holly_cummins Arduino Yún £57 A microcontroller …
  • 88. © 2013 IBM Corporation @holly_cummins Arduino Yún £57 A microcontroller … sharing a chip with an Atheros microprocessor
  • 89. © 2013 IBM Corporation @holly_cummins Arduino Yún £57 A microcontroller … sharing a chip with an Atheros microprocessor … that runs Linux (limited)
  • 90. © 2013 IBM Corporation @holly_cummins Arduino Yún £57 A microcontroller … sharing a chip with an Atheros microprocessor … that runs Linux (limited) … and has WiFi and ethernet
  • 91. © 2013 IBM Corporation @holly_cummins Embedded devices are changing Modern microcontrollers are more powerful than microprocessors from a few years ago
  • 92. © 2013 IBM Corporation @holly_cummins Why is more powerful better? You can do more!! You can know less!
  • 93. © 2013 IBM Corporation @holly_cummins Why is more powerful better? You can do more!! You can know less!different things
  • 94. © 2013 IBM Corporation @holly_cummins Why is less powerful better
  • 95. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller
  • 96. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller Lower power consumption
  • 97. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller Lower power consumption Cheaper!
  • 98. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller Lower power consumption Cheaper! Can buy a PIC microcontroller for £2
  • 99. © 2013 IBM Corporation @holly_cummins Why is more powerful better? You can have an application server!! JPA! Rest! WebSockets! CDI
  • 100. © 2013 IBM Corporation @holly_cummins Ubiquitous computing++
  • 101. © 2013 IBM Corporation @holly_cummins Ubiquitous computing++
  • 102. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile
  • 103. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables
  • 104. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight
  • 105. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download
  • 106. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download 60 MB footprint for biggish JEE app
  • 107. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download 60 MB footprint for biggish JEE app Starts in under 5s
  • 108. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download 60 MB footprint for biggish JEE app Starts in under 5s Entirely modular and dynamic
  • 109. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download 60 MB footprint for biggish JEE app Starts in under 5s Entirely modular and dynamic Powered by OSGi …
  • 110. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download 60 MB footprint for biggish JEE app Starts in under 5s Entirely modular and dynamic Powered by OSGi … (originally designed for embedded systems)
  • 111. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download 60 MB footprint for biggish JEE app Starts in under 5s Entirely modular and dynamic Powered by OSGi … (originally designed for embedded systems) No restarts!
  • 112. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile
  • 113. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools
  • 114. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools Free for development
  • 115. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools Free for development New licensing: free for small-scale production
  • 116. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools Free for development New licensing: free for small-scale production Up 2 GB RAM free per organisation
  • 117. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools Free for development New licensing: free for small-scale production Up 2 GB RAM free per organisation A great fit for embedables
  • 118. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools Free for development New licensing: free for small-scale production Up 2 GB RAM free per organisation A great fit for embedables Unlikely to use 2 GB RAM on a raspberry pi
  • 119. © 2013 IBM Corporation @holly_cummins Where have I seen this before?
  • 120. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence
  • 121. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Density
  • 122. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Density
  • 123. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Density
  • 124. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density
  • 125. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  • 126. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  • 127. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  • 128. © 2013 IBM Corporation @holly_cummins Enable and disable function Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  • 129. © 2013 IBM Corporation @holly_cummins Enable and disable function For extra points, do it dynamically Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  • 130. © 2013 IBM Corporation @holly_cummins Enable and disable function For extra points, do it dynamically Easy install Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  • 131. © 2013 IBM Corporation @holly_cummins Enable and disable function For extra points, do it dynamically Easy install Easy uninstall Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  • 132. © 2013 IBM Corporation @holly_cummins
  • 133. © 2013 IBM Corporation @holly_cummins Managing headless devices
  • 134. © 2013 IBM Corporation @holly_cummins Managing headless devices
  • 135. © 2013 IBM Corporation @holly_cummins Managing headless devices Most single-board computers accessible with HDMI display and USB keyboard.
  • 136. © 2013 IBM Corporation @holly_cummins Managing headless devices Most single-board computers accessible with HDMI display and USB keyboard. Works fine…
  • 137. © 2013 IBM Corporation @holly_cummins Managing headless devices Most single-board computers accessible with HDMI display and USB keyboard. Works fine… If you have a display and cable and keyboard
  • 138. © 2013 IBM Corporation @holly_cummins Managing headless devices Most single-board computers accessible with HDMI display and USB keyboard. Works fine… If you have a display and cable and keyboard If the display drivers support the display
  • 139. © 2013 IBM Corporation @holly_cummins Managing headless devices Most single-board computers accessible with HDMI display and USB keyboard. Works fine… If you have a display and cable and keyboard If the display drivers support the display
  • 140. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek”
  • 141. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek” Ethernet cable
  • 142. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek” Ethernet cable DHCP
  • 143. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek” Ethernet cable DHCP Network sharing
  • 144. © 2013 IBM Corporation @holly_cummins Getting a connection
  • 145. © 2013 IBM Corporation @holly_cummins Finding the IP address my-mac:~ holly$ ifconfig | grep -A3 bridge100 bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu options=3<RXCSUM,TXCSUM> ether 3e:07:54:e0:26:64 inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255 ! my-mac:~ holly$ nmap -sn 192.168.2.0/24 ! Starting Nmap 6.47 ( http://nmap.org ) at 2015-02-28 16:26 GMT Strange error from connect (65):No route to host Nmap scan report for 192.168.2.3 Host is up (0.00056s latency). Nmap done: 256 IP addresses (1 host up) scanned in 4.16 seconds
  • 146. © 2013 IBM Corporation @holly_cummins A bit of textile engineering.
  • 147. © 2013 IBM Corporation @holly_cummins A bit of textile engineering.
  • 148. © 2013 IBM Corporation @holly_cummins Ta-daa!
  • 149. © 2013 IBM Corporation @holly_cummins Ta-daa! Presenting: The WebSphere Sphere
  • 150. © 2013 IBM Corporation @holly_cummins Ta-daa! Presenting: The WebSphere Sphere (“the cuddly application server”)
  • 151. © 2013 IBM Corporation @holly_cummins Remind you of anything?
  • 152. © 2013 IBM Corporation @holly_cummins Um. But it’s lumpy.
  • 153. © 2013 IBM Corporation @holly_cummins Um. But it’s lumpy. Software faults can be corrected without re-typing the whole program.
  • 154. © 2013 IBM Corporation @holly_cummins Um. But it’s lumpy. Software faults can be corrected without re-typing the whole program. Lucky software engineers.
  • 155. © 2013 IBM Corporation @holly_cummins Um. But it’s lumpy. Software faults can be corrected without re-typing the whole program. Lucky software engineers. Iterative development of physical things is hard.
  • 156. © 2013 IBM Corporation @holly_cummins It’s a computer case
  • 157. © 2013 IBM Corporation @holly_cummins Architecture Sensors SSID: WebSphereembedded application server
  • 158. © 2013 IBM Corporation @holly_cummins Interfacing the ball to the computer LED sequins
  • 159. © 2013 IBM Corporation @holly_cummins Soft circuits Conductive thread ! Stainless steel! Sewable! £6.78
  • 160. © 2013 IBM Corporation @holly_cummins Soft-hard connections Normal jumper lead! Strip connector off one side! Solder to sewable eye
  • 161. © 2013 IBM Corporation @holly_cummins The physical world
  • 162. © 2013 IBM Corporation @holly_cummins The physical world Shorts
  • 163. © 2013 IBM Corporation @holly_cummins The physical world Shorts Extra-bad on a pcDuino, because they take down whole computer
  • 164. © 2013 IBM Corporation @holly_cummins The physical world Shorts Extra-bad on a pcDuino, because they take down whole computer Loose connections
  • 165. © 2013 IBM Corporation @holly_cummins The physical world Shorts Extra-bad on a pcDuino, because they take down whole computer Loose connections Extra bad in something sealed
  • 166. © 2013 IBM Corporation @holly_cummins Shields
  • 167. © 2013 IBM Corporation @holly_cummins Shields Daughter-boards for Arduino
  • 168. © 2013 IBM Corporation @holly_cummins Shields Daughter-boards for Arduino Re-arrange pins
  • 169. © 2013 IBM Corporation @holly_cummins Shields Daughter-boards for Arduino Re-arrange pins Provide extra function
  • 170. © 2013 IBM Corporation @holly_cummins Shields Daughter-boards for Arduino Re-arrange pins Provide extra function Provide mechanical protection if a computer is crammed inside a ball
  • 171. © 2013 IBM Corporation @holly_cummins Let’s have a play http://10.12.5.15:9080/sphere
  • 172. © 2013 IBM Corporation @holly_cummins But is it really IoT?
  • 173. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded.
  • 174. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded. Very very embedded.
  • 175. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded. Very very embedded. One thing.
  • 176. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded. Very very embedded. One thing. Network, but not internet.
  • 177. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded. Very very embedded. One thing. Network, but not internet. No machine-to-machine.
  • 178. © 2013 IBM Corporation @holly_cummins M2M MQTT! Lightweight messaging protocol! OASIS standard! Widely supported! Widely used
  • 179. © 2013 IBM Corporation @holly_cummins Revised architecture
  • 180. © 2013 IBM Corporation @holly_cummins Revised architecture Same source
  • 181. © 2013 IBM Corporation @holly_cummins ! Demo-time (again) sphere.mybluemix.net/ www.wasdev.net
  • 182. © 2013 IBM Corporation @holly_cummins Bluemix and IoT foundation // parse VCAP_SERVICES String VCAP_SERVICES = System.getenv("VCAP_SERVICES"); ! JSONObject vcap = new JSONObject(VCAP_SERVICES); JSONArray json = vcap.getJSONArray("iotf-service"); JSONObject credentials = json.getJSONObject(0).getJSONObject( "credentials"); String host = (String) credentials.get("mqtt_host"); Integer port = (Integer) credentials.get("mqtt_u_port"); … ! MqttClient client = new MqttClient(uri, id); MqttConnectOptions opts = new MqttConnectOptions(); opts.setUserName(username); opts.setPassword(password.toCharArray()); client.connect(opts); client.setCallback(this); client.subscribe("iot-2/type/+/id/+/evt/+/fmt/+");
  • 183. © 2013 IBM Corporation @holly_cummins www.wasdev.net ! Any questions? ! www.wasdev.net @holly_cummins Come see the Liberty car on the IBM stand today and tomorrow …