Internet of Things: Connecting Anything and Everything to the Internet, a Hands-on Workshop

See a general description on the MIT IAP website at this link. The following details supplement that posting.

CONGRATULATIONS to all those who particpated in the first IoT IAP @ MIT. Here are a few photos from the week:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Monday, January 12th slides

Tuesday, January 13th slides

  1. Brian's Slides
  2. Jason's Slides
  3. Bonus Slides: Building a Low Cost Linux Desktop Computer (Bit Blazing on a Budget)

Wednesday, January 14th slides

  1. Brian's Wednesday Slides

Thursday, January 15th class slides

  1. Brian's Thursday Slides
  2. Bob Frankston's talk: Hacking My House

Thursday, January 15th IoT Fest slides

  1. Jason's BlogPost

Friday, January 16th, Final Project Presentations / Slides

  1. Connections
  2. Dimmer
  3. Drip
  4. S-Light
  5. Pill Reminder
  6. Plant Watcher
  7. Sniff
  8. Smiling Beagle
  9. Smoker
  10. Speech Buzz
  11. Jetson's House

Schedule:

Jan/12  Mon 01:00PM-04:00PM E51-151
Jan/13  Tue 01:00PM-04:00PM E51-151
Jan/14  Wed  01:00PM-04:00PM E51-151
Jan/15  Thu 01:00PM-04:00PM E51-151
Jan/16  Fri 01:00PM-04:00PM E51-151

Components in the IoT Starter Kit

Software Toolkit

  1. Dart Language, SDK and IDE
  2. Energia Prototyping Software for the LaunchPad
  3. Debian (running on the BeagleBone)
  4. Web Standards - HTML etc.

Hardware Modules

  1. BeagleBone Black
  2. SimpleLink Wi-Fi CC3200 LaunchPad (pin mapping for Energia is here)

Electronic parts

  1. myPartsKit
  2. Op-amps (TL072CP, TL074CN, LF356N/NOPB, LM741CN/NOPB)
  3. Data converters (ADS7816P, ADS7822P, TLV5616P)
  4. Resistors Instrumentation amp (INA217AIP)
  5. Comparator (LM311P)
  6. Regulators (LM317KCT, MC34063AP)
  7. Inductors Logic gates (SN74LS10N, SN74LS00N, SN74LS32N, SN74LS86AN, SN74LS02N, SN74LS08N)
  8. Diodes Capacitors Inverter (SN74LS04N)
  9. Dual complementary pair (CD4007UBE)
  10. Counter ( SN74LS163N )
  11. Flip-flops (SN74LS107AN, SN74LS74AN)
  12. Transistors Decoder Encoder Multiplexers (SN74LS138N, SN74LS148N, CD4511BE)
  13. LEDs Wiring kit Timer (TLC555)
  14. Frequency-to-voltage converters (LM2917N/NOPB)
  15. Infrared transistor
  16. Photocell buzzer
  17. Audio transformer

iTeadStudio Prototyping eBricks (click on the associated Download tab to get spec sheets, code examples ...)

  1. Breadboard(8.3 x 5.5cm)
  2. Electronic Brick - Track Sensor
  3. Electronic Brick - Big Button
  4. Electronic Brick - LED - Green (other colors)
  5. Electronic Brick - Tilt Sensor/Switch Brick
  6. Electronic Brick - Buzzer
  7. Electronic Brick - Temperature Sensor Brick
  8. Electronic Brick - Sound Sensor/Microphone Brick
  9. Electronic Brick - Rotary Potentiometer Brick
  10. Electronic Brick - Magnetic Sensor/Switch Brick
  11. Electronic Brick - Moisture Sensor
  12. Electronic Brick - Light Sensor Brick
  13. Electronic Brick - 5V Relay

Background Reading and Viewing

  1. Visionaries of the Internet: J.C.R. Licklider - IETF and Internet Hall of Fame 2013
  2. In Vegas, Imagining the Wonders of the Internet of Things
  3. IoT in the Wine Cellar?
  4. Firms are selling the “Internet of Things” hard at this year’s CES. But are consumers buying it?
  5. ‘Internet Of Things’ On Display At Consumer Electronics Show WBUR Hear & Now
  6. Tales of CES (it's all happening Jan 6 - 9, week before IoT IAP)
  7. The Home Of the Future (CNN video featuring the Jetsons and Nest)
  8. At the International CES, the Internet of Things Hits Home
  9. Embedded Systems - Shape The World (excellent eBook with embedded video clips - must reading!)
  10. Wireless Connectivity in Embedded Systems Classes
  11. IoT - The Wikipedia view (compare and contrast to WoT - The Wikipedia View)
  12. The Internet of Things is Reaching Escape Velocity
  13. Top 2014 Acquistions that Advanced the Internet of Things
  14. TEDx Talk: Rethink money and meaning with the internet of things - Chris Rezendes (video 11:55)
  15. TEDx Talk: The Dawn of the IoT Experience Era - Chris White (video 8:33)
  16. CyberSecurity, The Internet of Things, and the Role of Government
  17. How Smart, Connected Products are Transforming Competition
  18. Slides from Prof. Michael Porter: Managing the Internet of Things: How Smart, Connected Products are Changing the Competitive Landscape
  19. The Problem With The Internet of Things
  20. Life (yet to be) Scripted - by Bob Frankston
  21. GSMA: Connected Living (June 2014)
  22. New cheap NFC sensor can transmit information on hazardous chemicals, food spoilage to smartphone
  23. If We Build IoT, They Will Come. Right?
  24. The Problem With The Internet Of Things
  25. Enabling Open Markets for the Web of Things
  26. Google's "Call for Research Proposals to participate in the Open Web of Things Expedition" is a blogpost by Vint Cerf over here and more detail on their "Request For Proposal: Open Web of Things An Internet of Things Research and Open Innovation Expedition" available here (and due for submission by January 21, 2015)
  27. People, Places, Things: Web Presence for the Real World
  28. IETF Journal, The Internet of Things, by Carsten Bormann, JP Vasseur, and Zack Shelby (Nov 2010)
  29. What's inside the Nest? Thread is why Nest has extra 802.15.4 goodies

Tech Notes

  1. Firewalls: The New Maginot Line (Bob Frankston, 2/25/1998)
  2. Tech Notes on using Dart, BeagleBone Black and Debian for IoT Applications

TI MSP430 Microcontrollers and Sensor Products

  1. CES 2015 - Internet-connected water level system using TI TDC1000
  2. Interfacing and MSP430 with Industrial Sensors (30:29 minute video)
  3. Web Server using MSP430 LaunchPad & CC3000 WiFi BoosterPack (6:53 video)

MSP430 Workshop Materials

  1. http://processors.wiki.ti.com/index.php/UCF_Workshop_2014
  2. http://processors.wiki.ti.com/index.php/UMICH_Workshop_2014

IoT in 2015 - New Year Resolutions or Revolutions?

  1. Pitfalls in Internet of Things for 2015 & Beyond
  2. 10 Top Challenges Industrial IoT Must Overcome in 2015
  3. Embedded Systems 2015: New Tools for New Challenges

Security

  1. Let's Encrypt (video 2:59 minutes)

Video Tutorials

  1. ARM Architecture Fundamentals - At the bottom of the page (44:24 minute video by Chris Shore)
  2. Electronics 101 (Collection of basic electronics videos, runtime about 90 minutes)
  3. Making a Simple 4 Bit Computer (Waiting for Friday, Simon Inns, 5:25 minutes)
  4. How a CPU works (21 minutes)

Dart background materials (we'll use Dart to program our IoT Apps)

Dart Language - Videos

  1. Intro to Dart (4 minutes)
  2. Structured Web Programming: An Introduction to Dart (37:21 minutes)
  3. WebAudio with Dart and WebRTC - The internet of musical things! (41 minutes)

Dart Language - Readings

  1. Quick Start Intro to Dart
  2. A Tour of the Dart Language
  3. Command Line Apps in Dart
  4. An Introduction to the dart:io library

Dart Language Niceities

  1. It's easy to setup a library file with globals for convenient sharing (link)

Dart Language - Exercises

  1. See Dart (5 minutes)
  2. Write Dart (1 hour)
  3. Dive Deep into Dart docs, libraries, and tools (1 day)

System/Laptop Setup:

  1. Install Dart from https://www.dartlang.org/ (requires Java installed on your system)
  2. Install FileZilla from https://filezilla-project.org/ (we'll use this for transferring files)
  3. Install Energia (we'll use this with the CC3200)
  4. During class .... you'll get sample programs for BeagleBone (in Dart) and CC3200 (in Energia)

Dart Startup:

void main() { // The app starts executing here.    
  print("Hello, IoT IAP @ MIT");       // print a simple test
}
  

Industry Innovators

  1. Kinoma Create - Kinoma JS
  2. Catalina Computing - Virtual Wiring

Monday / Day 1: General Introduction

Tuesday / Day 2: Hardware & Software Deeper Dive

Wednesday / Day 3: Networks and Packaging

Thursday / Day 4: Build Time

Optional Event: IoT MiniFest, Guest Speakers include Jason Kridner, BeagleBoard.org
Date:  Thu 01/15/15 / Time: 6:30PM - 9:00PM / Classroom: MIT  E51-315

Friday / Day 5: Demo Day

Goals:

  1. Master some of the basic technologies of IoT
  2. Build an IoT Device
  3. Demo a finished "product" you can call your own

Outcomes: At the end of this program, participants will have created their own working IoTdevice & participate in a poster session

 

Footnotes:

  1. No soldering required!
  2. Designed for individual participation, but team organization also possible.
  3. "IoT Starter Kits" will be provided to participants who complete the program. This will include (tentative): BeagleBoneBlack, CC3200 SimpleLink Wi-Fi LaunchPad, sensors, Electronics Starter Kit, Text, Handouts/Slides/Notes
  4. We'll have guest speakers, product demos, labs, group and interactive discussions along the way

BeagleBone Black Links

  1. BeagleBone System Reference Manual
  2. Latest Production Files / Schematics, BOM etc.

Programming the CC3200 - These few links are a general introduction - worth scanning.

  1. CC3200 SimpleLink™ Wi-Fi® and IoT Solution with MCU LaunchPad Hardware User's Guide
  2. Energia Download for Mac, Windows, Linux
  3. Energia First Sketch (explanation of a simple Energia program)
  4. Internet of the Backyard: Energia is out there for CC3200
  5. Good Pro/Con of CC3200 for IoT
  6. tmp006 Document

CC3200 Setup / Configuration - The CC3200s will be passed out and already configured and operational. We'll be able to quickly ramp up on this and write simple programs with Energia.There's a lot of startup detail here you won't need to worry about.

  1. CC3200 Pin Picture for Energia
  2. CC3200 Setup - follow this guide
  3. CC3200 - How to Setup on Windows
  4. CC3200 - Setup Guide
  5. How to edit / maintain your com ports on Windows
  6. To Check COM port, use the Device Manager on Windows [here's a link how]
  7. CC32000 Getting Started Video and Pin Mapping
  8. CC3200 Chip Specs
  9. CC3200 SimpleLink Wi-Fi and Internet-ofThings Solution, a Single Chip Wireless MCU: Technical Reference Manual
  10. Energia Introduction on Windows
  11. Energia / CC3200 Guide
  12. Energia on Ubuntu (Note: Initial attempts trying this failed)
  13. CC3200 Jumper Settings (take particular note of the jumper settings for run vs flash)
  14. Energia on GitHub
  15. CC3200 SDK
  16. CC3200 Getting Started Guide / Element14
  17. Uniflash Standalone Flash Tool for TI Microcontrollers (MCUs) and Sitara Processors
  18. ARM Coretex-M Series
  19. Demo video (7:54 min) of Energia running on an MSP430 (a different, simpler chip than what we will use)
  20. Backyard Challenge / Element14
  21. Hackaday: "Here’s your Internet of Things, people. ...If you’re looking to pull a hardware startup out of your hat, you might want to plan your Kickstarter around this chip."

CC3200 Videos - Embedded WiFi for IoT

  1. CC3200 Energia Getting Started
  2. CC3200 Out of Box Experience
  3. CC3100 and CC3200 (14 min)
  4. CC3200 Project Zero (15:46 min)
  5. TI Launches CC3200
  6. Code Composer Studio / Project 0
  7. Meet the new Internet: Embedded Wi-Fi for the IoT
  8. Energia Out of Box Experience
  9. Tomato Greenhouse / Backyard Challenge
  10. Amichai Ron, TI general manager for the embedded connectivity solutions (ECS) (6:02 min)

Alliance / Industry Standards Groups

  1. AllJoyn
  2. ARM: IoT From Sensor to Server

CoAP Links

Readings on Wi-Fi

  1. The Wi-Fi Alliance
  2. Wi-Fi Aware
  3. WiFi Alliance Announces IoT Initiatives At CES 2015

Small Device Network Protocols: A Case Study of CoAP

  1. Implementation of CoAP in Go
  2. CoAP Technology Implementations
  3. Zach Shelby, Embedded Web Services: SenZations, Sensinode (August 2010)
  4. IETF Journal, The Internet of Things, by Carsten Bormann, JP Vasseur, and Zack Shelby (Nov 2010)
  5. Embedded Web Services, Shelby and Tolle (January 2011)
  6. Zach Shelby PDF: "Introduction to Resource-Oriented Applications in Constrained Networks" (March 2011)
  7. 6LoWPAN - The Wireless Embedded Internet, Part 1, Zach Shelby and Carsten Bormann (May 2011)
  8. 6LoWPAN: The wireless embedded Internet - Part 2: 6LoWPAN history, market perspective & applications (May 2011)
  9. Zach Shelby on "CoAP: The Web of Things Protocol" (April 30, 2014; Video: 40:19) (corresponding slides are here)
  10. IETF RFC7252 - The Constrained Application Protocol (June 2014)
  11. IETF Draft - CoAP Core Interfaces (Nov 2014) (replace earlier version)
  12. Constrained Application Protocol (Wikipedia description)
  13. Connecting Sensor Networks (Video from Hangout 42:05) (September 2014)
  14. Short interview with Zach Shelby on IoT, Standards etc. (June 2014)
  15. OMA Lightweight M2M Tutorial (LWM2M) (22:16 video) (October 2014)
  16. Nokia Foundation awards Internet of Things pioneer Zach Shelby (December 2014)
  17. Life of Jeremy (4:45 video)
  18. 6LoWPAN vs ZigBee
  19. Internet of Things: 802.15.4, 6LoWPAN, RPL, COAP
  20. Internet Protocol Suite
  21. Open Systems Interconnection Model
  22. Embedded Web Services (behind paywall), by Zach Shelby (2010)
  23. Media Types for Sensor Markup Language (IETF Draft Standard, Expired)