Skip to content

Latest commit

 

History

History
84 lines (60 loc) · 4.32 KB

Syllabus.md

File metadata and controls

84 lines (60 loc) · 4.32 KB

IoT Syllabus - TechClub 2023-24

Progress: ===========>_______________________________ - 27.907%

Introduction to Raspberry Pi and basic sensors

  • ☑️ High level understanding on the architecture
  • ☑️ OS booting
  • 🔲 Useful Linux commands
  • 🔲 Introduction to GPIO programming
    • ☑️ Basic Output scripts (LED blinking)
    • 🔲 Sensors – Theory and working
      • ☑️ Ultrasonic
      • ☑️ PIR
      • ☑️ DHT11 temperature and humidity sensor (left as self exploration)
      • 🔲 Raspberry Pi camera.

Introduction to Arduino

  • ☑️ High level understanding of Arduino and its work environment
  • ☑️ Installing Arduino IDE
  • 🔲 GPIO programming
    • 🔲 Arduino UNO to interface most of the sensors mentioned
    • 🔲 PWM
    • 🔲 ADC
    • 🔲 Interrupts

ESP 32 or ESP 8266

In case of hardware constraints, Web based simulators would be used.

  • 🔲 High level understanding of ESP32 or ESP8266 architecture
  • 🔲 Setting up Arduino IDE for programming ESP32 (or) ESP8266
  • 🔲 Basic GPIO programming
  • 🔲 Setting up ESP32 (or) ESP8266 to host a web server to control the status GPIO pins (including PWM control)
  • 🔲 Hosting a basic Telegram bot on ESP32 (or) ESP8266
  • 🔲 ESP32 Specific
    • 🔲 Exploring dual core architecture of ESP32 for real time use cases
    • 🔲 Using the inbuilt Bluetooth functionality.

Wired or Hardware Communication protocols

Arduino IDE compatible microcontrollers shall be used.

In case of hardware constraints, Web based simulators would be used.

  • ☑️ UART - Universal asynchronous receiver transmitter
    • 🔲 Interfacing HC-06 Bluetooth module for serial Bluetooth communication
  • 🔲 SPI - Serial Peripheral Interface
    • 🔲 Interfacing IC 74595 for serial in parallel out data transfer using SPI
  • 🔲 I2C - Inter Integrated Circuit
    • 🔲 Communicating with BMP180 sensor or LCD or OLED display or simple data transfer between two Arduinos (in case of hardware constraints).

Backend server development to accumulate data from ESP32 (or) ESP8266

  • ☑️ Introduction to the light weight flask python web framework
  • 🔲 Coding session for GET and POST HTTP routes.
  • 🔲 Programming ESP32 (or) ESP8266 (or Raspberry Pi 4 in case of hardware constraints) to send GET and POST requests to the server for data exchange.

MQTT protocol for bi-directional communication (this will be covered if time permits)

  • 🔲 General overview on MQTT protocol
  • 🔲 Setting up Mosquito broker in Raspberry Pi 4
  • 🔲 Programming ESP32 (or ESP8266) to publish sensor data and subscribe topics to control GPIO pins or display a message on a display.
  • 🔲 Basic introduction to web sockets (if time permits).

Soldering Session

  • 🔲 Soldering of basic circuit such as an astable multivibrator using 555 timers or LM386 based audio amplifier using THT components on a Perfboard.
  • 🔲 Purpose of header pins, flux, IC base.

Introduction to Schematic and PCB design

This topic was mainly included to give an exposure to students on the usage and importance of Schematic and PCB Design.

This was executed in the form of a workshop during Tesla 2023.

Schematic design will be thought in parallel to other classes.

Resources on PCB design will be shared. If time permits, we can have a session on a simple two-layer PCB design.

  • ☑️ Using KiCAD
  • ☑️ Basic schematic design
  • 🔲 Layout of a simple two-layer PCB