Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
© 2013 IBM Corporation
Arduinos,!
Application Servers,!
and me
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese an...
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread o...
© 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...
© 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 m...
© 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
It’s the future.
“This could really benefit m...
© 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
Reall...
© 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...
© 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)...
© 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)...
© 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
Ne...
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Ne...
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Ne...
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Ne...
© 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
Ne...
© 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
...
© 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
...
© 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
...
© 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-boa...
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-boa...
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-boa...
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-boa...
© 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
On-boa...
© 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
… ...
© 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
sharing a chip with an Atheros
microprocessor
… ...
© 2013 IBM Corporation
@holly_cummins
Embedded devices are changing
Modern microcontrollers are
more powerful than
micropr...
© 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 m...
© 2013 IBM Corporation
@holly_cummins
Why is more powerful better?
You can have an application
server!!
JPA!
Rest!
WebSock...
© 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 do...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB do...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB do...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB do...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB do...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB do...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB do...
© 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 sm...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for sm...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for sm...
© 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for sm...
© 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...
© 2013 IBM Corporation
@holly_cummins
Enable and disable
function
For extra points, do it
dynamically
Cloud-Embeddable con...
© 2013 IBM Corporation
@holly_cummins
Enable and disable
function
For extra points, do it
dynamically
Easy install
Cloud-E...
© 2013 IBM Corporation
@holly_cummins
Enable and disable
function
For extra points, do it
dynamically
Easy install
Easy un...
© 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 a...
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display a...
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display a...
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display a...
© 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display a...
© 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: fla...
© 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
pro...
© 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
Software faults can be corrected
without re-typing the whole
pro...
© 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
Software faults can be corrected
without re-typing the whole
pro...
© 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 se...
© 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 compu...
© 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
Extra-bad on a pcDuino, because
they take down whole compu...
© 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
Extra-bad on a pcDuino, because
they take down whole compu...
© 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 m...
© 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, b...
© 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
One thing.
Network, b...
© 2013 IBM Corporation
@holly_cummins
M2M
MQTT!
Lightweight messaging protocol!
OASIS standard!
Widely supported!
Widely u...
© 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 = Sy...
© 2013 IBM Corporation
@holly_cummins
www.wasdev.net
!
Any questions?	

 !
www.wasdev.net	

@holly_cummins
Come see the Li...
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/arduino-
app-server
Prochain SlideShare
Chargement dans…5
×

When Arduino Meets Application Server: Love at Second Sight

911 vues

Publié le

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1U06xGO.

Holly Cummins explores the limits of embeddable hardware and presents a getting-started-guide to the Internet of Things. Filmed at qconlondon.com.

Holly Cummins is the delivery lead for IBM WebSphere Application Server Liberty Profile. She is also a committer on the Apache Aries project. She is a co-author of Enterprise OSGi in Action and has spoken at Devoxx, JavaZone, The ServerSide Java Symposium, JAX London, GeeCon, and the Great Indian Developer Summit, as well as a number of user groups.

Publié dans : Technologie
  • How can I improve my memory and concentration? How can I improve my memory for studying? https://bit.ly/2GEWG9T
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

When Arduino Meets Application Server: Love at Second Sight

  1. 1. © 2013 IBM Corporation Arduinos,! Application Servers,! and me
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /arduino-app-server
  3. 3. Presented at QCon London www.qconlondon.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. © 2013 IBM Corporation @holly_cummins
  5. 5. © 2013 IBM Corporation @holly_cummins ?
  6. 6. © 2013 IBM Corporation @holly_cummins
  7. 7. © 2013 IBM Corporation @holly_cummins
  8. 8. © 2013 IBM Corporation @holly_cummins
  9. 9. © 2013 IBM Corporation @holly_cummins
  10. 10. © 2013 IBM Corporation @holly_cummins
  11. 11. © 2013 IBM Corporation @holly_cummins
  12. 12. © 2013 IBM Corporation @holly_cummins “Computers in the future may weigh no more than 1.5 tons.” ! Popular Mechanics, 1949 !
  13. 13. © 2013 IBM Corporation @holly_cummins “I think there is a world market for maybe five computers.” Thomas Watson chairman of IBM 1943
  14. 14. © 2013 IBM Corporation @holly_cummins Then: HARDware
  15. 15. © 2013 IBM Corporation @holly_cummins Now: Everyware
  16. 16. © 2013 IBM Corporation @holly_cummins Next: Connected-ware
  17. 17. © 2013 IBM Corporation @holly_cummins Why care about the Internet of Things?
  18. 18. © 2013 IBM Corporation @holly_cummins Why care about the Internet of Things? It’s the future.
  19. 19. © 2013 IBM Corporation @holly_cummins Why care about the Internet of Things? It’s the future. “This could really benefit my business.”
  20. 20. © 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!”
  21. 21. © 2013 IBM Corporation @holly_cummins Poll-time.
  22. 22. © 2013 IBM Corporation @holly_cummins Hmm. We’ll come back to this.
  23. 23. © 2013 IBM Corporation @holly_cummins Working with IoT
  24. 24. © 2013 IBM Corporation @holly_cummins Working with IoT: step 1
  25. 25. © 2013 IBM Corporation @holly_cummins Working with IoT: step 1 “No, I did NOT mean jot. I meant iot. Gah!”
  26. 26. © 2013 IBM Corporation @holly_cummins Working with IoT: step 1 “No, I did NOT mean jot. I meant iot. Gah!”
  27. 27. © 2013 IBM Corporation @holly_cummins Working with IoT: step 2 Get some kit
  28. 28. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices
  29. 29. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller
  30. 30. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller Sort-of-a-computer
  31. 31. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller Sort-of-a-computer Microprocessor
  32. 32. © 2013 IBM Corporation @holly_cummins Taxonomy of embedded devices Microcontroller Sort-of-a-computer Microprocessor Really-a-computer
  33. 33. © 2013 IBM Corporation @holly_cummins The microcontroller zoo
  34. 34. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2)
  35. 35. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23)
  36. 36. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23) Arduino-compatible (£9)
  37. 37. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23) Arduino-compatible (£9) NetDuino (£48)
  38. 38. © 2013 IBM Corporation @holly_cummins The microcontroller zoo PIC (£2) Arduino (£23) Arduino-compatible (£9) NetDuino (£48) .NET micro platform
  39. 39. © 2013 IBM Corporation @holly_cummins Arduino
  40. 40. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet
  41. 41. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet Thing, but no internet
  42. 42. © 2013 IBM Corporation @holly_cummins Arduino No on-board ethernet Thing, but no internet Can buy an ethernet shield (£10)
  43. 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)
  44. 44. © 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)
  45. 45. © 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!)
  46. 46. © 2013 IBM Corporation @holly_cummins The single board computer zoo
  47. 47. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25)
  48. 48. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi
  49. 49. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage
  50. 50. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins
  51. 51. © 2013 IBM Corporation @holly_cummins The single board computer zoo Rasberry pi (£25) No wi-fi No flash storage No pins Netduino (£48)
  52. 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
  53. 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)
  54. 54. © 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)
  55. 55. © 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)
  56. 56. © 2013 IBM Corporation @holly_cummins Raspberry Pi
  57. 57. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25
  58. 58. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community
  59. 59. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported
  60. 60. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow
  61. 61. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM
  62. 62. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor
  63. 63. © 2013 IBM Corporation @holly_cummins Raspberry Pi £25 Huge community Well-supported Slow Limited RAM Old-model processor SD storage
  64. 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
  65. 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
  66. 66. © 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
  67. 67. © 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
  68. 68. © 2013 IBM Corporation @holly_cummins pcDuino
  69. 69. © 2013 IBM Corporation @holly_cummins pcDuino £50
  70. 70. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful
  71. 71. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core
  72. 72. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM
  73. 73. © 2013 IBM Corporation @holly_cummins pcDuino £50 Powerful 1 GHz ARM A7Cortex Dual core 1 GB RAM 4 GB Flash Storage
  74. 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
  75. 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)
  76. 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)
  77. 77. © 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)
  78. 78. © 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)
  79. 79. © 2013 IBM Corporation @holly_cummins Going mobile
  80. 80. © 2013 IBM Corporation @holly_cummins Going mobile PcDuino battery interface
  81. 81. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface
  82. 82. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface
  83. 83. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface JST-PH
  84. 84. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface JST-PH
  85. 85. © 2013 IBM Corporation @holly_cummins Going mobile Popular embeddable battery PcDuino battery interface JST-PH JST-SH
  86. 86. © 2013 IBM Corporation @holly_cummins BeagleBone black £42! 1 GHz processor! Not arduino-compatible out of the box
  87. 87. © 2013 IBM Corporation @holly_cummins Arduino Yún
  88. 88. © 2013 IBM Corporation @holly_cummins Arduino Yún £57
  89. 89. © 2013 IBM Corporation @holly_cummins Arduino Yún £57 A microcontroller …
  90. 90. © 2013 IBM Corporation @holly_cummins Arduino Yún £57 A microcontroller … sharing a chip with an Atheros microprocessor
  91. 91. © 2013 IBM Corporation @holly_cummins Arduino Yún £57 A microcontroller … sharing a chip with an Atheros microprocessor … that runs Linux (limited)
  92. 92. © 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
  93. 93. © 2013 IBM Corporation @holly_cummins Embedded devices are changing Modern microcontrollers are more powerful than microprocessors from a few years ago
  94. 94. © 2013 IBM Corporation @holly_cummins Why is more powerful better? You can do more!! You can know less!
  95. 95. © 2013 IBM Corporation @holly_cummins Why is more powerful better? You can do more!! You can know less!different things
  96. 96. © 2013 IBM Corporation @holly_cummins Why is less powerful better
  97. 97. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller
  98. 98. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller Lower power consumption
  99. 99. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller Lower power consumption Cheaper!
  100. 100. © 2013 IBM Corporation @holly_cummins Why is less powerful better Smaller Lower power consumption Cheaper! Can buy a PIC microcontroller for £2
  101. 101. © 2013 IBM Corporation @holly_cummins Why is more powerful better? You can have an application server!! JPA! Rest! WebSockets! CDI
  102. 102. © 2013 IBM Corporation @holly_cummins Ubiquitous computing++
  103. 103. © 2013 IBM Corporation @holly_cummins Ubiquitous computing++
  104. 104. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile
  105. 105. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables
  106. 106. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight
  107. 107. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile A great fit for embeddables Very very lightweight 50 MB download
  108. 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
  109. 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
  110. 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
  111. 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 …
  112. 112. © 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)
  113. 113. © 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!
  114. 114. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile
  115. 115. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools
  116. 116. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools Free for development
  117. 117. © 2013 IBM Corporation @holly_cummins WebSphere Liberty Profile Free tools Free for development New licensing: free for small-scale production
  118. 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
  119. 119. © 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
  120. 120. © 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
  121. 121. © 2013 IBM Corporation @holly_cummins Where have I seen this before?
  122. 122. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence
  123. 123. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Density
  124. 124. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Density
  125. 125. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Density
  126. 126. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density
  127. 127. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  128. 128. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  129. 129. © 2013 IBM Corporation @holly_cummins Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  130. 130. © 2013 IBM Corporation @holly_cummins Enable and disable function Cloud-Embeddable convergence Small download Small memory footprint Density Elasticity
  131. 131. © 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
  132. 132. © 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
  133. 133. © 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
  134. 134. © 2013 IBM Corporation @holly_cummins
  135. 135. © 2013 IBM Corporation @holly_cummins Managing headless devices
  136. 136. © 2013 IBM Corporation @holly_cummins Managing headless devices
  137. 137. © 2013 IBM Corporation @holly_cummins Managing headless devices Most single-board computers accessible with HDMI display and USB keyboard.
  138. 138. © 2013 IBM Corporation @holly_cummins Managing headless devices Most single-board computers accessible with HDMI display and USB keyboard. Works fine…
  139. 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
  140. 140. © 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
  141. 141. © 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
  142. 142. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek”
  143. 143. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek” Ethernet cable
  144. 144. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek” Ethernet cable DHCP
  145. 145. © 2013 IBM Corporation @holly_cummins Workflow for “pi and seek” Ethernet cable DHCP Network sharing
  146. 146. © 2013 IBM Corporation @holly_cummins Getting a connection
  147. 147. © 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
  148. 148. © 2013 IBM Corporation @holly_cummins A bit of textile engineering.
  149. 149. © 2013 IBM Corporation @holly_cummins A bit of textile engineering.
  150. 150. © 2013 IBM Corporation @holly_cummins Ta-daa!
  151. 151. © 2013 IBM Corporation @holly_cummins Ta-daa! Presenting: The WebSphere Sphere
  152. 152. © 2013 IBM Corporation @holly_cummins Ta-daa! Presenting: The WebSphere Sphere (“the cuddly application server”)
  153. 153. © 2013 IBM Corporation @holly_cummins Remind you of anything?
  154. 154. © 2013 IBM Corporation @holly_cummins Um. But it’s lumpy.
  155. 155. © 2013 IBM Corporation @holly_cummins Um. But it’s lumpy. Software faults can be corrected without re-typing the whole program.
  156. 156. © 2013 IBM Corporation @holly_cummins Um. But it’s lumpy. Software faults can be corrected without re-typing the whole program. Lucky software engineers.
  157. 157. © 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.
  158. 158. © 2013 IBM Corporation @holly_cummins It’s a computer case
  159. 159. © 2013 IBM Corporation @holly_cummins Architecture Sensors SSID: WebSphereembedded application server
  160. 160. © 2013 IBM Corporation @holly_cummins Interfacing the ball to the computer LED sequins
  161. 161. © 2013 IBM Corporation @holly_cummins Soft circuits Conductive thread ! Stainless steel! Sewable! £6.78
  162. 162. © 2013 IBM Corporation @holly_cummins Soft-hard connections Normal jumper lead! Strip connector off one side! Solder to sewable eye
  163. 163. © 2013 IBM Corporation @holly_cummins The physical world
  164. 164. © 2013 IBM Corporation @holly_cummins The physical world Shorts
  165. 165. © 2013 IBM Corporation @holly_cummins The physical world Shorts Extra-bad on a pcDuino, because they take down whole computer
  166. 166. © 2013 IBM Corporation @holly_cummins The physical world Shorts Extra-bad on a pcDuino, because they take down whole computer Loose connections
  167. 167. © 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
  168. 168. © 2013 IBM Corporation @holly_cummins Shields
  169. 169. © 2013 IBM Corporation @holly_cummins Shields Daughter-boards for Arduino
  170. 170. © 2013 IBM Corporation @holly_cummins Shields Daughter-boards for Arduino Re-arrange pins
  171. 171. © 2013 IBM Corporation @holly_cummins Shields Daughter-boards for Arduino Re-arrange pins Provide extra function
  172. 172. © 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
  173. 173. © 2013 IBM Corporation @holly_cummins Let’s have a play http://10.12.5.15:9080/sphere
  174. 174. © 2013 IBM Corporation @holly_cummins But is it really IoT?
  175. 175. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded.
  176. 176. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded. Very very embedded.
  177. 177. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded. Very very embedded. One thing.
  178. 178. © 2013 IBM Corporation @holly_cummins But is it really IoT? Definitely embedded. Very very embedded. One thing. Network, but not internet.
  179. 179. © 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.
  180. 180. © 2013 IBM Corporation @holly_cummins M2M MQTT! Lightweight messaging protocol! OASIS standard! Widely supported! Widely used
  181. 181. © 2013 IBM Corporation @holly_cummins Revised architecture
  182. 182. © 2013 IBM Corporation @holly_cummins Revised architecture Same source
  183. 183. © 2013 IBM Corporation @holly_cummins ! Demo-time (again) sphere.mybluemix.net/ www.wasdev.net
  184. 184. © 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/+");
  185. 185. © 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 …
  186. 186. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/arduino- app-server

×