Course Hours: 30 hrs

Course Time: 10/31/2017 – 12/7/2017

Course Arrangement: Every Tuesday & Thrusday 6pm - 9pm for 5 weeks

Fee: $850

Prerequisite: Basic understanding of Electronics, Python programming & Linux environment

Category: Emerging Technology

Job Opportunities: Area of IoT, IoT Applicaitons

Participants are expected to bring their laptops.

Course description:

The Internet of Things (IoT) is defining the next wave of Cloud computing, Communication and Edge Device synergy.

This hands-on short term course uses two popular Single Board Computers - Arduino & Raspberry Pi platform to explain key aspects of IoT.

It includes,

  • Interfacing sensors to an Edge Device
  • Performing Edge processing on the input, before forwarding data to Cloud
  • Using a Gateway to assimilate data from Edge Devices
  • Use Python and IoT protocols (MQTT, CoAP) to send information to Cloud
  • Create Mobile App to receive data from Cloud

The purpose of this course is to introduce Internet of Things (IoT) with experiments and real-world applications.

This course will provide the student an understanding of end-to-end connectivity of an IoT system. It will cover sensor interfacing, edge computing, gateways, internet connectivity, protocols and cloud based analytics.

Course Outline:

Course topic covered are, Sensor (Motion, Light, GPS receiver) interfacing, Edge computing, WiFi  / Cellular connectivity to Internet, Protocols – MQTT, CoAP, REST API,  cloud computing fundamentals, Mobile App using MIT App Inventor 2

Components of IoT

  • Begin with end in mind. Understanding application.
  • Edge Devices, Gateways and Cloud Computing
  • Case Studies of IoT based systems
  • Usefulness of IoT data

Get to know Raspberry Pi  & Arduino Boards

-  Raspberry Pi board

-  Connectivity – Ethernet and WiFi

-  USB Ports

-  GPIO ports, Interfaces

Review of Linux file system and commands

-  Copying files

-  Using Nano Editor

-  Logging in to Raspberry Pi from a remote location

-  Executing code using Bash Script

-   Changing password of your Pi


Python programming basics

Functions, lists, String, File I/O,  Dictionary, Class, Importing Modules


Arduino programming basics


Idea of Setup & Loop functions.  Embedded ‘C’ constructs, control of I/O pins

Sensors Interfacing, Gateway, Cloud &  Mobile App Development


Sensor interfacing with Raspberry Pi  & Arduino

  • Connect Digital and analog sensors to Raspberry Pi
  • Understand interfacing protocols – I2C, SPI & UART
  • Write code to perform local control action (Fog Computing)


Develop a simple IoT Gateway : 

Raspberry Pi based Zigbee & Bluetooth Gateway


Communicating Sensor Data over the Internet

  • Local Area Network (Ethernet, WiFi)
  • Collate and transfer - Zigbee for mesh network / cellular data transfer


Data packets formation for transmitting Sensor Data

  • Use HTTP protocol and REST API
  • Choose Message Queue Telemetry Transport (MQTT) – Subscriber , Producer model

Securely transmit IoT data to Amazon Web Services (AWS)

  • Securely transmit data to AWS NoSQL database
  • Create and implement Rules to act on IoT data
  • Send SMS using AWS SNS if a parameter goes out of bounds

Creating an IoT system in the Lab


  • Configure one computer to act as Cloud Server
  • Understand how IP address is allocated to each Pi by the DHCP server
  • Finding out your Pi’s IP address
  • Access web page hosted by another Raspberry Pi
  • Send data from each Pi device to Cloud Server using MQTT protocol
  • Installing Flask WebServer to set up HTTP Server
  • Creating a routing configuration for different web pages
  • Create content for each webpage



Mobile App Development

  • Access Cloud data using Mobile Device – Android Smart phone
  • Develop a Mobile App (for Android smart phone) using MIT App Inventor 2

Learning Outcome:

  • Learning outcomes of this course are to have students to understand these major topics:
  • Sensor interfacing, edge computing and local control action
  • Mesh networking using Zigbee
  • Connectivity to internet using WiFi or Cellular connectivity
  • Transfer data from edge devices to Cloud computer for storage and Analytics

Create simple mobile app to access information from Cloud


Dr. Rahul Dubey

Hardware to be provided:

Raspberry Pi 3 (WiFi) compatible board with NOOBs SD Card, Power Supply and Case.

Additional, related courses

  • Follow-up courses on Mobile App Development using Android
  • Cloud Computing

This course includes hands-on experiments using Raspberry Pi Single Board Computers, programming in Python, Interfacing with Sensors.

SJPU Advantages:

Lab to support experiments

  • Programming Edge Devices
  • Use of Electronic Test Instruments such as Oscilloscopes, Function Generators, Protocol Analyzers to ensure understand how I2C, SPI and UART data is obtained from Sensors
  • Access to variety of sensors to interface to Edge Device
  • Availability of prototyping tools – Breadboards, Connectors, LCD Displays, Discrete electronic components,
  • Raspberry Pi (RPi) Hardware : RPi Zero Boards, RPi Camera, Rpi 3
  • Gateway Modules