Designing for the Internet of Things Labs
A Hands on Guide to Programming, Electronics and Building Connected Products
Prepared by Daragh Byrne for DIoT @ CMU
An outline description of tutorials and hands-on self paced guides for this course is described below.
This guide contains a series of online resources, developed as part of CMU’s Designing for the Internet of Things (49-713). It’s designed to offer a series of self-paced guides and tutorials which can be followed during scheduled lab times or at a time of convenience.
These tutorials assume you are using a custom kit prepared for our classes or can access these components.
First, these guides serve as an introduction for those who haven’t encountered electronics and programming for microcontrollers before. To help build general skills, these guides cover a range of topics, including (but not limited to):
- Working with electronics, preparing circuits and reading circuit diagrams
- Using an IDE
- Programming Microcontrollers (coding and development guides for novices)
- Networking and connectivity ( device to device communication, exposing device information and status through APIs, handling events, etc.)
- Sensing, Actuation and Input
- Working with Libraries; and
- Working with advanced components
The Internet of Things and Organisation of this Material
This material is designed to help students begin to build working prototypes of ‘internet appliances’. These are discussed, for example, by McEwen and Cassimally:
These internet appliances broadly allows a couple of major scenarios to happen:
Putting Data on the Web: They allow sensors or other components to collect data about the user or the environment the appliance is in and share it on the web. This allows other ‘things’ to make use of or act on this information.
Allowing control and access: They allow us to reach out and change, configure and control our devices from places near and far away. Like for example, using an app to turn on your crock pot or lights before you get home.
Getting data from the web: The appliance can access information from services, databases and other things connnected to the web. Often this will be used to either act on the data to configure the home (e.g. local weather used by a smart thermostat to adjusting indoor temperature) or to make useful information visible so that someone can act on it (e.g. an umbrella that lights up if it’s going to rain today)
Making thing talk: Things can talk to other things, either through the data they share or they can directly interface and pass information another device needs or wants. This helps to build an IoT ecosystem where lots of ‘internet-enabled appliances’ are talking to one another, sharing information and interacting.
Once we cover the basics of the Particle framework and electronics, we’ll look at each one of these through guides, tutorials and examples.