What hath God wrought? Developing for the Internet of Things
-
Upload
mark-robert-henderson -
Category
Technology
-
view
106 -
download
0
Transcript of What hath God wrought? Developing for the Internet of Things
![Page 1: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/1.jpg)
"When wireless* is perfectly applied the whole earth will be converted into a huge brain, which in fact it is, all things being particles of a real and rhythmic whole.........and the instruments through which we shall be able to do this will be amazingly simple compared with our present telephone. A man will be able to carry one in his vest pocket."1926 - Nikola Tesla
![Page 2: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/2.jpg)
"...It can also be maintained that it is best to provide the machine with the best sense organs that money can buy, and then teach it to understand and speak English. This process could follow the normal teaching of a child."
1950 - Alan Turing
![Page 3: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/3.jpg)
"....by means of electric media, we set up a dynamic by which all previous technologies -- including cities -- will be translated into information systems"
1964 - Marshall McLuhan
![Page 4: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/4.jpg)
“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it”.
1991 - Mark Weiser
![Page 5: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/5.jpg)
1844 - Samuel Morse sends the first public telegraph message. It said...
![Page 6: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/6.jpg)
What hath God wrought?Developing for the Internet of Things
![Page 7: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/7.jpg)
Mark Robert HendersonLead Engineer, No Pilots No Demos
@aphelionz@npnd
Slides available at http://npnd.us/iot-dev
![Page 8: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/8.jpg)
HistoryThe “Internet of Things”
predates the web, the internet, and even the computer.
![Page 9: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/9.jpg)
1946 - Dick Tracy’s two-way wristwatch radio
![Page 10: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/10.jpg)
1950 - Edward Thorp makes a wearable analog computer to cheat at roulette
![Page 11: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/11.jpg)
1960 - Morton Hellig patents the first head-mounted display
![Page 12: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/12.jpg)
1969 - Honeywell Kitchen Computer
![Page 13: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/13.jpg)
1969 - ARPANET is invented
![Page 14: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/14.jpg)
1971 - ALOHAnet
![Page 15: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/15.jpg)
1973 - RFID is patented
![Page 16: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/16.jpg)
1974 - TCP/IP
![Page 17: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/17.jpg)
1981 - Steve Mann, the first wearable computer (eventually becomes WearCam)
![Page 18: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/18.jpg)
1989 - Tim Berners-Lee proposes the World Wide Web
![Page 19: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/19.jpg)
1990 - John Romkey’s Toaster
![Page 20: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/20.jpg)
1991 - Precursor to 802.11
![Page 21: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/21.jpg)
1991 - Knowledge-based Augmented Reality for Maintenance Assistance
![Page 22: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/22.jpg)
1994 - Forget Me Not
![Page 23: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/23.jpg)
1998 - MIT’s InTouch
![Page 24: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/24.jpg)
1998 - Mark Weiser’s Stock Fountain
![Page 25: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/25.jpg)
1999 - “Internet of Things” is coined by Kevin Ashton
![Page 26: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/26.jpg)
2000 - LG’s Internet Refrigerator
![Page 27: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/27.jpg)
2002 - Ambient Orb
![Page 28: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/28.jpg)
2005 - Nabaztag
![Page 29: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/29.jpg)
2010 - Google’s Self Driving Cars
![Page 30: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/30.jpg)
2011 - Arduino launched, “maker” revolution begins
![Page 31: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/31.jpg)
2014 - Gartner hype cycle
![Page 32: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/32.jpg)
What was recently a joke about getting your toaster on the internet, and has
now evolved into an industry buzzword, is in
fact the continuation of a very simple human
endeavor to transcend our physical limitations and
create a worldwide extension of our very
nervous systems.
![Page 33: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/33.jpg)
End-to-EndSo, here’s what you’re going to
do.
![Page 34: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/34.jpg)
Sensors
How to get information from the ether.
The World
SensorsMicroproces
sorCloud + Storage
App Layer Result
![Page 35: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/35.jpg)
Ground movement, underwater sound, acoustic vibrations, air-fuel mixture, blind spots on cars, oxygen levels, alcohol content, magnetic fields, infrared, current, voltage, air pollution, bed wetting, humidity, snow, rain, soil moisture and composition, air flow, water flow, mass flow, radiation, temperature, geolocation, orientation, altitude, air speed, capacitance, fire, smoke, pressure, boost, level, force, strain
There are sensors available that read:
![Page 36: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/36.jpg)
The breadboarding process - fun as heck
![Page 37: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/37.jpg)
Taking analog signals to the digital domain
Microprocessor
The World
SensorsMicroproce
ssorCloud + Storage
App Layer Result
![Page 38: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/38.jpg)
✘ Arduino✘ BeagleBone✘ Raspberry Pi✘ Spark.io✘ Linino One✘ Tessel✘ TI CC3200✘ MSP430 LaunchPad
Plenty of Options here
![Page 39: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/39.jpg)
3 Axis Accelerometer Example (Serial Monitor)
![Page 40: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/40.jpg)
Cloud ServicesWhere does the device
transmit to?
The World
SensorsMicroprocess
orCloud + Storage App Layer Result
![Page 41: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/41.jpg)
TCPData is sent via an established and verified connection to another device. As a result, slower.
Examples: HTTP, SMTP, FTP
You have two main options to send your packets
UDPEssentially “set it and forget it.” Sent connectionless* and orderless.
Examples: DNS, VOIP, Spark.io’s Pub/Sub
*kinda
![Page 42: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/42.jpg)
Two main ways of organizing your packets
REST/SOAP (HTTP)Organized based on either HTTP verbs and resource nouns (REST)or HTTP calls to resource verbs (SOAP)
Pub/Sub (UDP)Organized in terms of channels that devices ‘publish’ data to, where other channels would ‘subscribe’ to those channels and respond accordingly.
![Page 43: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/43.jpg)
✘ Node.js✘ Scala / Akka✘ Python / Twisty✘ libuv✘ ...and more
Asynchronous + Evented I/O is your friend
![Page 44: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/44.jpg)
340,282,366,920,938,463,463,374,607,431,768,211,456
That’s the (theoretical) number of IPv6 Addresses available, thus...
![Page 45: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/45.jpg)
Storage...FAST WRITES ARE IMPORTANT
(reads too)
The World
SensorsMicroprocess
orCloud + Storage App Layer Result
![Page 46: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/46.jpg)
✘ Aerospike✘ Cassandra✘ Redis✘ Mongo✘ MemSQL
In-Memory Databases are key here
Of course, you can aggregate down to a traditional db...
✘ PostgreSQL✘ MySQL✘ Oracle, etc
![Page 47: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/47.jpg)
Application LayerWhat the End User Sees
The World
SensorsMicroprocess
orCloud + Storage App Layer Result
![Page 48: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/48.jpg)
High-level options for application development
NativeiOS - Objective-CAndroid - JVMDesktop - variousWeb - HTML/CSS/JS
HybridWeb technologies “wrapped” in various frames for deployment to different platforms.
Cordova / Titanium / etc.
![Page 49: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/49.jpg)
The End ResultServos, Automata, and
Indicators
The World
SensorsMicroprocess
orCloud + Storage App Layer Result
![Page 50: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/50.jpg)
What now?Go forth and create!
![Page 51: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/51.jpg)
Wearables / Cybernetics
Becoming one with the machine.
![Page 52: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/52.jpg)
IRL Reductive SearchLooking for that Orange Ball
![Page 53: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/53.jpg)
Extending the Neocortex
Expanding the predictive capability of the mammalian brain
![Page 54: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/54.jpg)
Credits
Special thanks to all the people who made and released these awesome resources for free:✘ Presentation template by
SlidesCarnival✘ Photographs by Unsplash✘ History of IoT appropriated from
Atmel and Postscapes
![Page 55: What hath God wrought? Developing for the Internet of Things](https://reader031.fdocuments.us/reader031/viewer/2022032620/55cac573bb61eb2f2f8b4594/html5/thumbnails/55.jpg)
THANKS!Any questions?You can find me at✘ @aphelionz✘ @npnd✘ [email protected]