Weitere ähnliche Inhalte Ähnlich wie When Arduino Meets Application Server: Love at Second Sight (20) Kürzlich hochgeladen (20) When Arduino Meets Application Server: Love at Second Sight1. © 2013 IBM Corporation
Arduinos,!
Application Servers,!
and me
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. 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
12. © 2013 IBM Corporation
@holly_cummins
“Computers in the future may weigh
no more than 1.5 tons.”
!
Popular Mechanics,
1949
!
13. © 2013 IBM Corporation
@holly_cummins
“I think there is a world market for
maybe five computers.”
Thomas Watson
chairman of IBM
1943
14. © 2013 IBM Corporation
@holly_cummins
Then: HARDware
15. © 2013 IBM Corporation
@holly_cummins
Now: Everyware
16. © 2013 IBM Corporation
@holly_cummins
Next: Connected-ware
17. © 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
18. © 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
It’s the future.
19. © 2013 IBM Corporation
@holly_cummins
Why care about the Internet of Things?
It’s the future.
“This could really benefit my
business.”
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. © 2013 IBM Corporation
@holly_cummins
Poll-time.
22. © 2013 IBM Corporation
@holly_cummins
Hmm.
We’ll come back to this.
23. © 2013 IBM Corporation
@holly_cummins
Working with IoT
24. © 2013 IBM Corporation
@holly_cummins
Working with IoT: step 1
25. © 2013 IBM Corporation
@holly_cummins
Working with IoT: step 1
“No, I did NOT mean jot. I meant iot. Gah!”
26. © 2013 IBM Corporation
@holly_cummins
Working with IoT: step 1
“No, I did NOT mean jot. I meant iot. Gah!”
27. © 2013 IBM Corporation
@holly_cummins
Working with IoT: step 2
Get some kit
28. © 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
29. © 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
30. © 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
Sort-of-a-computer
31. © 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
Sort-of-a-computer
Microprocessor
32. © 2013 IBM Corporation
@holly_cummins
Taxonomy of embedded devices
Microcontroller
Sort-of-a-computer
Microprocessor
Really-a-computer
33. © 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
34. © 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
35. © 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
36. © 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
Arduino-compatible (£9)
37. © 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
Arduino-compatible (£9)
NetDuino (£48)
38. © 2013 IBM Corporation
@holly_cummins
The microcontroller zoo
PIC (£2)
Arduino (£23)
Arduino-compatible (£9)
NetDuino (£48)
.NET micro platform
40. © 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
41. © 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
Thing, but no internet
42. © 2013 IBM Corporation
@holly_cummins
Arduino
No on-board ethernet
Thing, but no internet
Can buy an ethernet shield (£10)
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. © 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. © 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. © 2013 IBM Corporation
@holly_cummins
The single board computer zoo
47. © 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
48. © 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
49. © 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
50. © 2013 IBM Corporation
@holly_cummins
The single board computer zoo
Rasberry pi (£25)
No wi-fi
No flash storage
No pins
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. © 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. © 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. © 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. © 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. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
57. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
58. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
59. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
60. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
61. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
62. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
63. © 2013 IBM Corporation
@holly_cummins
Raspberry Pi
£25
Huge community
Well-supported
Slow
Limited RAM
Old-model processor
SD storage
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. © 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. © 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. © 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
69. © 2013 IBM Corporation
@holly_cummins
pcDuino
£50
70. © 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
71. © 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
72. © 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
73. © 2013 IBM Corporation
@holly_cummins
pcDuino
£50
Powerful
1 GHz ARM A7Cortex Dual core
1 GB RAM
4 GB Flash Storage
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. © 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. © 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. © 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. © 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. © 2013 IBM Corporation
@holly_cummins
Going mobile
80. © 2013 IBM Corporation
@holly_cummins
Going mobile
PcDuino
battery
interface
81. © 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
82. © 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
83. © 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
JST-PH
84. © 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
JST-PH
85. © 2013 IBM Corporation
@holly_cummins
Going mobile
Popular
embeddable
battery
PcDuino
battery
interface
JST-PH
JST-SH
86. © 2013 IBM Corporation
@holly_cummins
BeagleBone black
£42!
1 GHz processor!
Not arduino-compatible
out of the box
87. © 2013 IBM Corporation
@holly_cummins
Arduino Yún
88. © 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
89. © 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
90. © 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
sharing a chip with an Atheros
microprocessor
91. © 2013 IBM Corporation
@holly_cummins
Arduino Yún
£57
A microcontroller …
sharing a chip with an Atheros
microprocessor
… that runs Linux (limited)
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. © 2013 IBM Corporation
@holly_cummins
Embedded devices are changing
Modern microcontrollers are
more powerful than
microprocessors from a few
years ago
94. © 2013 IBM Corporation
@holly_cummins
Why is more powerful better?
You can do more!!
You can know less!
95. © 2013 IBM Corporation
@holly_cummins
Why is more powerful better?
You can do more!!
You can know less!different things
96. © 2013 IBM Corporation
@holly_cummins
Why is less powerful better
97. © 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
98. © 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
Lower power consumption
99. © 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
Lower power consumption
Cheaper!
100. © 2013 IBM Corporation
@holly_cummins
Why is less powerful better
Smaller
Lower power consumption
Cheaper!
Can buy a PIC microcontroller for
£2
101. © 2013 IBM Corporation
@holly_cummins
Why is more powerful better?
You can have an application
server!!
JPA!
Rest!
WebSockets!
CDI
102. © 2013 IBM Corporation
@holly_cummins
Ubiquitous computing++
103. © 2013 IBM Corporation
@holly_cummins
Ubiquitous computing++
104. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
105. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
106. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
107. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
A great fit for embeddables
Very very lightweight
50 MB download
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. © 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. © 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. © 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. © 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. © 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. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
115. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
116. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
117. © 2013 IBM Corporation
@holly_cummins
WebSphere Liberty Profile
Free tools
Free for development
New licensing: free for small-scale
production
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. © 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. © 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. © 2013 IBM Corporation
@holly_cummins
Where have I seen this before?
122. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
123. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Density
124. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Density
125. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Density
126. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density
127. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
128. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
129. © 2013 IBM Corporation
@holly_cummins
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
130. © 2013 IBM Corporation
@holly_cummins
Enable and disable
function
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
Cloud-Embeddable convergence
Small download
Small memory
footprint
Density Elasticity
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. © 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
135. © 2013 IBM Corporation
@holly_cummins
Managing headless devices
136. © 2013 IBM Corporation
@holly_cummins
Managing headless devices
137. © 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display and
USB keyboard.
138. © 2013 IBM Corporation
@holly_cummins
Managing headless devices
Most single-board
computers accessible
with HDMI display and
USB keyboard.
Works fine…
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. © 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. © 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. © 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
143. © 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
Ethernet cable
144. © 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
Ethernet cable
DHCP
145. © 2013 IBM Corporation
@holly_cummins
Workflow for “pi and seek”
Ethernet cable
DHCP
Network sharing
146. © 2013 IBM Corporation
@holly_cummins
Getting a connection
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. © 2013 IBM Corporation
@holly_cummins
A bit of textile engineering.
149. © 2013 IBM Corporation
@holly_cummins
A bit of textile engineering.
150. © 2013 IBM Corporation
@holly_cummins
Ta-daa!
151. © 2013 IBM Corporation
@holly_cummins
Ta-daa!
Presenting:
The WebSphere Sphere
152. © 2013 IBM Corporation
@holly_cummins
Ta-daa!
Presenting:
The WebSphere Sphere
(“the cuddly application server”)
153. © 2013 IBM Corporation
@holly_cummins
Remind you of anything?
154. © 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
155. © 2013 IBM Corporation
@holly_cummins
Um. But it’s lumpy.
Software faults can be corrected
without re-typing the whole
program.
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. © 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. © 2013 IBM Corporation
@holly_cummins
It’s a computer case
159. © 2013 IBM Corporation
@holly_cummins
Architecture
Sensors
SSID:
WebSphereembedded
application
server
160. © 2013 IBM Corporation
@holly_cummins
Interfacing the ball to the computer
LED sequins
161. © 2013 IBM Corporation
@holly_cummins
Soft circuits
Conductive thread !
Stainless steel!
Sewable!
£6.78
162. © 2013 IBM Corporation
@holly_cummins
Soft-hard connections
Normal jumper lead!
Strip connector off one side!
Solder to sewable eye
163. © 2013 IBM Corporation
@holly_cummins
The physical world
164. © 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
165. © 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
Extra-bad on a pcDuino, because
they take down whole computer
166. © 2013 IBM Corporation
@holly_cummins
The physical world
Shorts
Extra-bad on a pcDuino, because
they take down whole computer
Loose connections
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. © 2013 IBM Corporation
@holly_cummins
Shields
169. © 2013 IBM Corporation
@holly_cummins
Shields
Daughter-boards for Arduino
170. © 2013 IBM Corporation
@holly_cummins
Shields
Daughter-boards for Arduino
Re-arrange pins
171. © 2013 IBM Corporation
@holly_cummins
Shields
Daughter-boards for Arduino
Re-arrange pins
Provide extra function
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. © 2013 IBM Corporation
@holly_cummins
Let’s have a play
http://10.12.5.15:9080/sphere
174. © 2013 IBM Corporation
@holly_cummins
But is it really IoT?
175. © 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
176. © 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
177. © 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
One thing.
178. © 2013 IBM Corporation
@holly_cummins
But is it really IoT?
Definitely embedded.
Very very embedded.
One thing.
Network, but not internet.
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. © 2013 IBM Corporation
@holly_cummins
M2M
MQTT!
Lightweight messaging protocol!
OASIS standard!
Widely supported!
Widely used
181. © 2013 IBM Corporation
@holly_cummins
Revised architecture
182. © 2013 IBM Corporation
@holly_cummins
Revised architecture
Same
source
183. © 2013 IBM Corporation
@holly_cummins
!
Demo-time
(again)
sphere.mybluemix.net/
www.wasdev.net
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. © 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. Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/arduino-
app-server