CSCI 373 Embedded Systems: Making Things Talk
- TEXT
- Making Things Talk, Tom Igoe, O'Reilly Media/Make, 2007.
- (Also see: A blog for notes and updates to the book Making Things Talk)
- TIME AND PLACE
- WF 12:45-2:25 PM
- RBH 223
- INSTRUCTOR
- Dean Brock
- RBH 221
- Office Hrs: TBA
- 828.251.6446
- brock@cs.unca.edu
- OTHER INSTRUCTOR
- Rebecca Bruce
- RBH 220
- Office Hrs: 1:00-2:00PM M,T,R or by appointment
- 828.232.2275
- bruce@cs.unca.edu
DESCRIPTION
This course introduces students to designing alternate physical network interfaces. We will begin with a brief introduction to physical computing by making devices that use sensors to respond to the physical environment. We will build on that knowledge by learning methods for making these devices talk to each other. We will learn about a variety of network interface devices, including microcontrollers, network radios, and serial-to-Ethernet converters by undertake a series of guided projects followed by a final project. We will also do some reading and discussion of contemporary work in the field. This is a "hands-on" course, all concepts will be introduced in an interactive Activity/lecture environment. There will be ample opportunity for self-guided exploration and creativity.
- The Arduino platform
- Single chip computers Input/Output
- Analog to digital converters and digital to analog converters
- Data protocols and address schemes
- Serial protocols and Network Structures
- TCP/IP basics
- Layers and OSI model
- Assembling a basic embedded net device
- ZigBee and Bluetooth
CLASS PHILOSOPHY
We believe that it is essential to play with technology, exploring different possiblities directly in hardware and software. We believe that exploration should be self-guided to the largest extent possible. Creativity is fostered by self-guided exploration. In order to incourage creativity, this class strives to offer the nine dimensions of a climate for innovation (Prather, C. W., 1996).
- RESOURCES
- Idea Time
- Idea Support
- Challenge and Involvement
- PERSONAL MOTIVATION
- Trust and Openness
- Playfulness and Humor
- Absence of Interpersonal Conflicts
- EXPLORATION
- Risk-Taking
- Debates About the Issues
- Freedom
Lecture: Students are expected to attend all class meetings. Failure to do so will impact your course grade and will be considered a lack of interest in success on the part of the student. Students are responsible for completeing all work missed due to class absense on their own.
Exams: If you must miss a quiz due to illness, you must email or telephone the instructor before the scheduled time to avoid a zero for that quiz.
Course Schedule (mostly TBA)
- Wed: 01/13/10
- Lecture: Overview
- Reading: Ch 1, Ideas
- Activity: Background and dreams
- Reading: Ch 1, Ideas
- Fri: 01/16/10
- Lecture: Getting board
- Reading: Introduction and Project 1 of Beginners Guide to the Arduino
- Activity: Running an Arduinio program
- Wed: 01/20/20
- Activity: Trying to get Processing to work (disaster)
- Fri: 01/22/10
- Lecture: Serial Communication
- Reading: Ch 2
- Activity: Going serial
- Wed: 01/27/20
- Lecture: Basic electricity
- Lecture: Arduino & Processing vs. Java
- Reading: Chapter 2
- Updates: Chapter 2 blog
- Activity: New sensors
- Fri: 01/29/20
- Lecture: Switches -- SPST, ..., de-bouncing, Rotary encoder, switch matrix
- Guided Project: Due February 16 -- Demonstrate Monski Pong
- Wed: 02/03/10
- Activity: Counting bounces and checking time
- Fri: 02/05/10
- UNCA class canceled due to snow
- Tree fell on instructor's house
- Wed: 02/10/10
- Fri: 02/12/10
- Wed: 02/17/10
- Fri: 02/19/10
- Activity and lecture: IP networking
- Reading: Chapter 3 of Making Things Talk
- Reading: any link on the IP network notes
- Reading: Tutorial on Network Programming with Python
- Reading: Any of Norm Matloff's Quick Python Tutorials
- Wed: 02/24/10
- Guided Project 2: Due February XX -- networked PONG
- Guided Project 2 jump start
- Fri: 02/26/10
- Discussion of PONG networking
- The PONG teams: Server, Client, Display
- Wed: 03/03/10
- UNCA classes canceled due to snow
- Fri: 03/05/10
- UDP examples
- Processing UDP library
- Wed: 03/17/10
- Fri: 03/19/10
- CGI -- Common Gateway Interface
- CGI and PHP example
- Wed: 03/24/10
- Fri: 03/26/10
- tentative protocol
- near-vaporware server for Pong protocol
- near-vaporware client for Pong protocol
- Wed: 03/31/10
- Fri: 04/02/10
- Wed: 04/07/10
- Fri: 04/09/10
- Serial and wireless
- Wed: 04/11/10
- XBee addressing
- Rest of course
- Use the Arduino for infrared communication
- Use the XBee on the Arduino
- Use the Arduino Ethernet shield
- Take a little quiz
Things to do before the semester ends
- As a group
- Network PONG
- As an individual