Thing. An unexpected journey. Devoxx UK 2014

68
THING An unexpected journey Sculpture: “Electrolux Death Ray” by: Greg Brotherton at: brotron.com

description

An excursion into the internet of things... with a software engineers eye on the product and hardware design perspective

Transcript of Thing. An unexpected journey. Devoxx UK 2014

Page 1: Thing. An unexpected journey. Devoxx UK 2014

THINGAn unexpected journey

Sculpture: “Electrolux Death Ray” by: Greg Brotherton at: brotron.com

Page 2: Thing. An unexpected journey. Devoxx UK 2014
Page 3: Thing. An unexpected journey. Devoxx UK 2014

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

THINGs?What is the internet of

Page 5: Thing. An unexpected journey. Devoxx UK 2014

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

– “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

THINGsA pre-history of the internet of

Page 8: Thing. An unexpected journey. Devoxx UK 2014

Starting with electricity (skipping smoke signals etc..)

Page 9: Thing. An unexpected journey. Devoxx UK 2014

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

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

"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

– 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

Heathrow RADAR

Page 14: Thing. An unexpected journey. Devoxx UK 2014

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

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

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

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

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

github: antirez/dump1090

Page 20: Thing. An unexpected journey. Devoxx UK 2014

THINGDesign a

Page 21: Thing. An unexpected journey. Devoxx UK 2014

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

THINGSurvey existing

Page 23: Thing. An unexpected journey. Devoxx UK 2014

RF

Page 24: Thing. An unexpected journey. Devoxx UK 2014
Page 25: Thing. An unexpected journey. Devoxx UK 2014

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

9.48USD is ~ 5.65GBP for 10. That’s 60p each. #winning

Page 27: Thing. An unexpected journey. Devoxx UK 2014
Page 28: Thing. An unexpected journey. Devoxx UK 2014

THINGPrototype a

Page 29: Thing. An unexpected journey. Devoxx UK 2014

PrototypeUsing Arduino Pro Mini

Page 30: Thing. An unexpected journey. Devoxx UK 2014

THINGImplement a

Page 31: Thing. An unexpected journey. Devoxx UK 2014

Circuit DesignEagle CAD

Page 32: Thing. An unexpected journey. Devoxx UK 2014

Board LayoutEagle CAD

Page 33: Thing. An unexpected journey. Devoxx UK 2014

Create CAM (gerber) filesCAD -> CAM scripts are manufacturing specific

Page 34: Thing. An unexpected journey. Devoxx UK 2014

Order PCBs, … wait (weeks)CAD -> CAM scripts are manufacturing specific

Page 35: Thing. An unexpected journey. Devoxx UK 2014

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

THINGEvolve a

Page 37: Thing. An unexpected journey. Devoxx UK 2014

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

Modular?

Page 39: Thing. An unexpected journey. Devoxx UK 2014

No better platform…

Page 40: Thing. An unexpected journey. Devoxx UK 2014

…to integrate with!but how to make the PCBs lego shaped with lego size

holes?

Page 41: Thing. An unexpected journey. Devoxx UK 2014

Packaging. How?Dude, you’re a programmer, so …

Write!Code!

Page 42: Thing. An unexpected journey. Devoxx UK 2014

3D shape modelUsing OpenSCAD

Page 43: Thing. An unexpected journey. Devoxx UK 2014

Project 3D to 2D outline Using OpenSCAD

Page 44: Thing. An unexpected journey. Devoxx UK 2014

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

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

Design and layout circuitRouting is hard to master. Don’t trust the auto router!

Page 47: Thing. An unexpected journey. Devoxx UK 2014

Order PCBs, … wait (weeks)CAD -> CAM scripts are manufacturing specific

Page 48: Thing. An unexpected journey. Devoxx UK 2014

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

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

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

Lego mesh networks!Testing is fun, especially when you add kids…

Page 52: Thing. An unexpected journey. Devoxx UK 2014

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

OSS and services used

Page 54: Thing. An unexpected journey. Devoxx UK 2014

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

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

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

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

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

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

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

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

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

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

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

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

IoT

Is this a death ray or gateway for at home innovation?

Page 67: Thing. An unexpected journey. Devoxx UK 2014

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

Questions?

@darachennis