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

PDF
When Arduino Meets Application Server: Love at Second Sight
PPTX
Tarjetas arduino
PDF
Introducing... Arduino
PPT
Arduino
PDF
Microcontroleur arduino uno
PPTX
Arduino Uno Basics
PPTX
Buy arduino locally by Robomart
PPT
Smart home device system using arduino uno & X-Bee
When Arduino Meets Application Server: Love at Second Sight
Tarjetas arduino
Introducing... Arduino
Arduino
Microcontroleur arduino uno
Arduino Uno Basics
Buy arduino locally by Robomart
Smart home device system using arduino uno & X-Bee

Viewers also liked (12)

PDF
Arduino + Android
PPTX
Controlling an Arduino with Android
PDF
Arduino uno
PPT
Arduino Introduction by coopermaa
PPTX
Different types of thyristors and their applications
PPT
Arduino
PDF
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
PPT
Intro to Arduino
PDF
Arduino Lecture 1 - Introducing the Arduino
PPTX
Wireless power transmission
PPTX
Arduino based intelligent greenhouse Project
PPTX
Slideshare ppt
Arduino + Android
Controlling an Arduino with Android
Arduino uno
Arduino Introduction by coopermaa
Different types of thyristors and their applications
Arduino
"Automatic Intelligent Plant Irrigation System using Arduino and GSM board"
Intro to Arduino
Arduino Lecture 1 - Introducing the Arduino
Wireless power transmission
Arduino based intelligent greenhouse Project
Slideshare ppt
Ad

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

PPT
Single chip computer for iot application
PPTX
A brief introduction to making your own (Internet of Things) Thing
PDF
Internet of Things
PPTX
Maker Movement
PPTX
Robots conf microcontroller and iot survey
PDF
Building for the Internet of Things: Hardware, Sensors & the Cloud
PDF
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
PDF
Functional IoT: Hardware and Platform
PDF
The Cuddly Throwable Application Server
PPTX
small electronics for your makerspace 2 (clc trendspotting - 26 march 2014)
PPTX
Raspberry Pi presentation for Computer Architecture class
PDF
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
PDF
Hacking with the Raspberry Pi and Windows 10 IoT Core
PDF
Raspberry Pi, Arduino and the Maker Movement
PPTX
Taller IoT en la Actualidad
PPTX
small electronics for your makerspace (clc trendspotting - february 2014)
PDF
Hardware hacking on the pi; what's js got to do with it
PDF
Introduction to Raspberry PI
PDF
Internet of thing workshop presentation.
PDF
Internet of Things - Technological Perspective
Single chip computer for iot application
A brief introduction to making your own (Internet of Things) Thing
Internet of Things
Maker Movement
Robots conf microcontroller and iot survey
Building for the Internet of Things: Hardware, Sensors & the Cloud
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
Functional IoT: Hardware and Platform
The Cuddly Throwable Application Server
small electronics for your makerspace 2 (clc trendspotting - 26 march 2014)
Raspberry Pi presentation for Computer Architecture class
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
Hacking with the Raspberry Pi and Windows 10 IoT Core
Raspberry Pi, Arduino and the Maker Movement
Taller IoT en la Actualidad
small electronics for your makerspace (clc trendspotting - february 2014)
Hardware hacking on the pi; what's js got to do with it
Introduction to Raspberry PI
Internet of thing workshop presentation.
Internet of Things - Technological Perspective
Ad

More from WASdev Community (20)

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

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
cuic standard and advanced reporting.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
KodekX | Application Modernization Development
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Unlocking AI with Model Context Protocol (MCP)
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
cuic standard and advanced reporting.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation theory and applications.pdf

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 …