thing. an unexpected journey. devoxx uk 2014
DESCRIPTION
An excursion into the internet of things... with a software engineers eye on the product and hardware design perspectiveTRANSCRIPT
![Page 1: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/1.jpg)
THINGAn unexpected journey
Sculpture: “Electrolux Death Ray” by: Greg Brotherton at: brotron.com
![Page 2: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/2.jpg)
![Page 3: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/3.jpg)
A walk on the hardware side from a networking guy. As networking and things collide the
search for right-shifting experiences with things from functional (but sucks) to a unified
experience with well-factored services, devices and human interactions will be required.
This talk logs the journey of a software engineer in the shoes of an electronic engineer and product designer to better understand the
"internet of things".
![Page 4: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/4.jpg)
THINGs?What is the internet of
![Page 5: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/5.jpg)
Internet of Things (noun) - a proposed development of the Internet in which everyday objects have network connectivity, allowing
them to send and receive data …
– “Internet of Things” - added to Oxford English Dictionary - August 2013
![Page 6: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/6.jpg)
– “Internet of Things” - a better definition - Darach Ennis, October 2013
Internet of Things (noun) - a proposed development of the Internet in which everyday
people can easily network everyday objects, allowing them to send and receive
data …
![Page 7: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/7.jpg)
THINGsA pre-history of the internet of
![Page 8: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/8.jpg)
Starting with electricity (skipping smoke signals etc..)
![Page 9: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/9.jpg)
Edison did not invent the electric light. He invented the first commercially practical incandescent bulb (and first practical
use of electrically interconnected networks) …
![Page 10: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/10.jpg)
May 24th 1844. Morse sends first telegraph from Washington D.C. to Baltimore. The message was “What hath God
wrought”, Numbers 23:23.
![Page 11: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/11.jpg)
"Mr. Watson,!Come here!”
Alexander Graham Bell’s first telephone call to his assistant Thomas A. Watson.
The Victorian internet of things era begins…
![Page 12: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/12.jpg)
– March 10th, 1876Alexandar Graham Bell.
“Mr. Watson - !come here. I want
to see you”
Bell’s Lab Notebook: http://www.loc.gov/exhibits/treasures/trr002.html
![Page 13: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/13.jpg)
Heathrow RADAR
![Page 14: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/14.jpg)
Ra(dio) d(etection) a(nd) r(anging).
A system for detecting the presence, direction,
distance, and speed of aircraft, ships, and other objects, by sending out pulses of high-
frequency electromagnetic waves that are reflected off the object back to the source.
!
!Origins:
Dr Christian Doppler discovers effect of pitch changes over distance in 1842.!
Dr Heinrich Hertz discovers reflectivity of radio waves in 1886. !
Initial Application:!!
Research into electromagnetic DEATH RAYS by British Air Ministry in 1934. No, i’m not kidding: http://www.doramusic.com/Radar.htm
!!
![Page 15: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/15.jpg)
Henry Tizard
Robert Watson-Watt
Arnold Wilkins
Harry Wimperis
Could such a death ray be constructed and used against
aircraft?
![Page 16: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/16.jpg)
Could such a death ray be constructed and used against
aircraft?
£1,000 standing reward to anyone who can build a death ray that can kill a
sheep at 100 yards
![Page 17: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/17.jpg)
RADAR - So analog. Much age. Very antique…RADAR - In theory, it can BBQ sheep at 100 yards…
![Page 18: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/18.jpg)
ADS-B - Automatic Dependent Surveillance Broadcast
1090MHz
From Death Ray to Plane to Plane collision avoidance? Oh the irony…
Cheap SDR 15 quid, ebay
![Page 19: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/19.jpg)
github: antirez/dump1090
![Page 20: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/20.jpg)
THINGDesign a
![Page 21: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/21.jpg)
Design a thing• Design radio mesh network capable using uC
embedded device for home area networking
• Use CAD/CAM and surface mount technology
• Require modular packaging interface for ease of prototyping wireless sensor, and other internet of things domains.
• Use free, open source technology where possible
![Page 22: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/22.jpg)
THINGSurvey existing
![Page 23: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/23.jpg)
RF
![Page 24: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/24.jpg)
![Page 25: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/25.jpg)
Design a thing• Design cheap radio mesh network using uC
embedded device for home area networking
• Use CAD/CAM and surface mount technology
• Require modular packaging interface for ease of prototyping wireless sensor, and other internet of things domains.
• Use free, open source technology where possible
![Page 26: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/26.jpg)
9.48USD is ~ 5.65GBP for 10. That’s 60p each. #winning
![Page 27: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/27.jpg)
![Page 28: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/28.jpg)
THINGPrototype a
![Page 29: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/29.jpg)
PrototypeUsing Arduino Pro Mini
![Page 30: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/30.jpg)
THINGImplement a
![Page 31: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/31.jpg)
Circuit DesignEagle CAD
![Page 32: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/32.jpg)
Board LayoutEagle CAD
![Page 33: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/33.jpg)
Create CAM (gerber) filesCAD -> CAM scripts are manufacturing specific
![Page 34: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/34.jpg)
Order PCBs, … wait (weeks)CAD -> CAM scripts are manufacturing specific
![Page 35: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/35.jpg)
Solder, test and reworkMay (probably will) require another revision or three to
manufacturing before everything is 'good'
![Page 36: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/36.jpg)
THINGEvolve a
![Page 37: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/37.jpg)
Evolve a thing• Design cheap radio mesh network using uC
embedded device for home area networking
• Use CAD/CAM and surface mount technology
• Require modular packaging interface for ease of prototyping wireless sensor, and other internet of things domains.
• Use free, open source technology where possible
![Page 38: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/38.jpg)
Modular?
![Page 39: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/39.jpg)
No better platform…
![Page 40: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/40.jpg)
…to integrate with!but how to make the PCBs lego shaped with lego size
holes?
![Page 41: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/41.jpg)
Packaging. How?Dude, you’re a programmer, so …
Write!Code!
![Page 42: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/42.jpg)
3D shape modelUsing OpenSCAD
![Page 43: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/43.jpg)
Project 3D to 2D outline Using OpenSCAD
![Page 44: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/44.jpg)
Convert to CAD instructionsUsing a simple ruby script
https://github.com/bryanduxbury/falconer/blob/master/dxf_to_eagle.rb
![Page 45: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/45.jpg)
Run script in CADUsing a simple ruby script
https://github.com/bryanduxbury/falconer/blob/master/dxf_to_eagle.rb
![Page 46: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/46.jpg)
Design and layout circuitRouting is hard to master. Don’t trust the auto router!
![Page 47: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/47.jpg)
Order PCBs, … wait (weeks)CAD -> CAM scripts are manufacturing specific
![Page 48: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/48.jpg)
Design some more… More fun to play with IoT the more things you have to
play with!
![Page 49: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/49.jpg)
Design some more… More fun to play with IoT the more things you have to
play with!
![Page 50: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/50.jpg)
Design some more… More fun to play with IoT the more things you have to
play with!
![Page 51: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/51.jpg)
Lego mesh networks!Testing is fun, especially when you add kids…
![Page 52: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/52.jpg)
Design a thing• Design radio mesh network using uC embedded
device for home area networking
• Use CAD/CAM and surface mount technology
• Require modular packaging interface for ease of prototyping wireless sensor, and other internet of things domains.
• Use free, open source technology where possible
![Page 53: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/53.jpg)
OSS and services used
![Page 54: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/54.jpg)
OSS Software• RF24 - https://github.com/maniacbug/RF24
• RF24 Network -http://maniacbug.wordpress.com/2012/03/30/rf24network/
• Adafruit NeoPixel library - https://github.com/adafruit/Adafruit_NeoPixel
• Adafruit MCP23008 library - https://github.com/adafruit/Adafruit-MCP23008-library
![Page 55: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/55.jpg)
Networks all the way down• Serial communications. Both sides must agree baud rate
Images from: https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all
![Page 56: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/56.jpg)
Networks all the way down• Serial Peripheral Interface. (Used by NRF module)
Images from: https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all
![Page 57: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/57.jpg)
Networks all the way down• Serial Peripheral Interface. Bidirectional
Images from: https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all
![Page 58: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/58.jpg)
Networks all the way down• Serial Peripheral Interface. Daisy Chaining
Images from: https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all
![Page 59: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/59.jpg)
Networks all the way down• Even the LEDs used here embed networking circuitry and
can be daisy chained
4mm
4mm
![Page 60: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/60.jpg)
SDLC
Dependencies on external
manufacturing processes (eg: new PCBs) mean some evolutions require
waits of up to 3 weeks. So bug fixing can take a long time
![Page 61: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/61.jpg)
Bugs, there’ll be a fewAnd they cost you cash money each time!
aagh fook! (ugh, wrong way round!)
monkey patching!
![Page 62: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/62.jpg)
Surface mount takes practice But, the results are far more stable than breadboarded
or perf-boarded prototypes.
![Page 63: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/63.jpg)
Surface mount takes practice But, the results are far more stable than breadboarded
or perf-boarded prototypes.
LOOK inside the LED. See? Yes, circuit inside!!!
![Page 64: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/64.jpg)
O'LegsArduino based prototyping modules integrated with Lego.
Will be fully open sourced (soon!) Designed for (geek) parents and kids to play together!
![Page 65: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/65.jpg)
A question on the future• Can the internet of things be componentized or modularised
in much the same way as lego so that ordinary people can more easily design and build their own bespoke connected things?
• Or will proprietary protocols, proprietary connectors and impenetrable standards conspire to keep these things apart?
• Is this a cause for concern?
• Is this a death ray or gateway for at home innovation?
• It’s up to us (the creatives)
![Page 66: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/66.jpg)
IoT
Is this a death ray or gateway for at home innovation?
![Page 67: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/67.jpg)
Thanks
• Omer Kilik. My friend, colleague and hardware mentor. Has guided my learning in circuit design and taught me surface mount soldering.
![Page 68: Thing. An unexpected journey. Devoxx UK 2014](https://reader033.vdocuments.mx/reader033/viewer/2022061300/54c85f514a7959d7758b4854/html5/thumbnails/68.jpg)
Questions?
@darachennis