Instructor: Dr. Li

Email: xhli@citytech.cuny.edu

Course URL:  http://citytechrobotics.org/teaching/cet4925/

Weekly Schedule

Week 1:

Intro to the course, course project, project videos, and project ideas.

Ch 1: Intro and Architecture of IoT: history, applications, examples

Team-up; Research/brainstorm project ideas; Order Photon

Week 2:

Ch 1: Intro and Architecture of IoT (Contd): Architecture, ecosystems

Team-up finishes; Research/ brainstorm project ideas. Start to order parts/components

Week 3:

Ch 2: Physical computing platforms for IoT: MCU, MPU/SBC, PLC and FPGA; and comparison of all platforms

Lab 1: Get started with Photon

Get project approved by instructor; Search & order parts & supplies

Week 4:

Ch 3: Review/Primer of C++ OOP Programming

Ch 4: I/O for IoT

Lab 2: Input with Photon (digital/analog): temperature or IR sensor

Lab 3: Output with Photon (digital/analog), Dimmer light, DC brushed motor, DC servo motor or text LCD display

Discuss project design; Divide the jobs; Continue ordering parts

Week 5:

Ch 5: Connectivity Technologies: From FieldBus and WSN, to WiFi/Celluar/ZigBee/BLE/Z-Wave/RuBee, and the latest Thread, LoRa, Sigfox and NB-IoT

Continue with project design; Continue ordering parts

Week 6:

Ch 6 & Lab 4: IoTing via IFTTT

Midterm project proposal due in two weeks

Continue with project design; Continue ordering parts; Start to develop project proposal

Week 7:

Ch 7: IoT Cloud — Introduction and ReST

Lab 5: Intro to IBM Watson IoT Platform (Quickstart)

Handout: Get Started with IBM Watson IoT Platform

Handout: Dr. Li’s example code of sending data to IBM Watson IoT Platform Quickstart

Continue with project design; Finish ordering parts; Start to build the project — the physical platform.

Midterm project proposal due next week

Week 8:

Ch 7: IoT Cloud (contd.) — MQTT

Lab 6: Using MQTT to send data to IBM Watson IoT Platform & Data visualization

Handout: Visualize real-time data by IBM Watson IoT Platform

Handout: Dr. Li’s example code of sending data for visualization on IBM Watson IoT Platform

Link: MQTT library for Photon: https://github.com/hirotakaster/MQTT

Continue building the project;

Project proposal Due! See Blackboard for the exact due date.

Week 9:

Ch 7: IoT Cloud (contd) — Node-RED

Lab 7: Node-RED app to tweet an alert message according to remote sensor readings

Handout:  Dr. Li’s Example Node-RED flow for generating Twitter alert messages

Continue building the project: system physical platform is  in shape; program and test sensors

Week 10:

Continue building the project: program and test actuators

Week 11:

Ch 7: IoT Cloud (contd) — AWS IoT

Lab 9A: IoTing via AWS — AWS IoT Core

Handout:   Dr. Li’s example code — Photon sends sensor data to and receives commands from AWS IoT Core over MQTT TLS

Handout: A Brief instruction on using Particle CLI to create a project, compile and flash the code to Photon

MQTT.fx: a MQTT client software (very handy! Highly recommended for testing MQTT connection!)

How to use MQTT.fx: an example connection profile (screenshot); and an simple guide (link here)

Lab 9B: IoTing via AWS — Node-RED with AWS EC2

Finish setting up IoT Cloud and coding on the Cloud

Week 12:

Ch 7: IoT Cloud (contd) — AWS IoT

Lab 10: IoTing via AWS — Lambda Functions for IoTing

Lab 11: IoTing via AWS —  AWS Greengrass, and Mesh Network (optional)

Final testing of each component, and integrate everything together

Week 13:

Ch 8 & Lab 12: Android Things
Integrate everything, preliminary system testing. Bring in everything and work on the project next week

Week 14:

Project hours

Test and refine the entire system

Week 15:

Final project demonstration