cover photo

COURSE

IOT-001

3 Levels · 6 Months

Introduction to IOT

IOT-001

Jump to:


Level 1


Generic Tasks

TASK 1: 3D Printing

Understand the working of a 3D printer, check out the online resources. Understand what's an STL file, and then learn to slice it (using ultimaker or creality slicer).Go through the SOP'S regarding the 3d printer. Learn about bed temperature, infill density and other printer settings. Finally get an STL file from the internet, and slice it and put it for print.

Resources:

Introduction to 3d printer

PLA settings

Types of 3D printing

(Note this task is to be done under coordinator supervision.) 3dprinter

TASK 2: API

What is an API? Learn the working of an API and its applications. Using any api of your choice, build an user interface(web app, mobile app, etc), where you can make calls and then display the necessary information. An example weather app is given below, using the open weather api.

Example

TASK 3: Working with Github

Familiarize yourself with GitHub integrated workflows (GitHub actions), Issues, and pull requests with this task. Given below is a git repository, go check it out and then perform the necessary tasks stated in the readme file.

Check this link for more info: https://github.com/UVCE-Marvel/git-task

TASK 4: Get familiar with the command line on ubuntu and do the following subtasks:

● Create a folder named test.

● cd into that folder.

● Create a blank file without using any text editor.

● list the files in that folder

● create 2600 folders in this folder where each folder is named like . For example, M90 or B56.

● concatenate two text files containing any random text and display them on the terminal.

https://ubuntu.com/tutorials/command-line-for-beginners#1-overview

TASK 5: Kaggle contest

Make a kaggle account, visit the website and complete the competition

Participate in the Titanic ML competition – the best, first challenge for you to dive into ML competitions and familiarize yourself with how the Kaggle platform works.The competition is simple: use machine learning to create a model that predicts which passengers survived the Titanic shipwreck.

Resources: Titanic regression model - https://www.kaggle.com/c/titanic

Video reference - https://youtu.be/I3FBJdiExcg

TASK 6: Working with Pandas and Matplotlib:

Using pandas and matplotlib, and a dataset of your choice, plot a line graph, bar graph, and scatter plot.

Reference: https://realpython.com/pandas-plot-python/

TASK 7: Create a Portfolio Webpage

Create a website to showcase your portfolio - about yourself, interests, projects, social media profiles and more. It has to be responsive and also pushed to the git repository. CSS can be of your choice and any framework can be used.

TASK 8: Writing Resource Article using Markdown

Markdown is an easy-to-use markup language that is used with plain text to add formatting elements (headings, bulleted lists, URLs) to plain text without the use of a formal text editor or the use of HTML tags. Markdown is device agnostic and displays the writing format consistently across device type. Write a technical resource article on a topic of your choice and post it on the MARVEL website. Refer to the linked article for further details

Link

TASK 9: Tinkercad

Create a tinkercad account, get familiar with the application, understand the example circuits given and simulate a simple circuit using an ultrasonic sensor to estimate the distance between an obstacle and the sensor. Display the results on the serial monitor.

Create a radar system utilising an ultrasonic sensor and servo motor to detect objects within a certain range. The ultrasonic sensor emits sound waves and measures the time taken for them to bounce back, while the servo motor rotates the sensor to cover a wider area, providing a simple yet effective detection mechanism. RESOURCE: https://youtu.be/NwmcNCvUcDc?si=x2LAYMFiqs1SzLfI TASK OUTCOME: introduction to- · TINKERCAD · Working of ultrasonic sensor and servo motor · Radar technology PRECAUTIONS/SAFETY MEASURES- NOT ANY

TASK 10: Speed Control of DC Motor

Explore basic techniques for controlling DC motors, understand the control DC motors using the L298N motor driver and the Arduino board. Using an UNO and H-Bridge L298N motor driver, control the speed of a 5V BO motor, try simulating this on tinkercad and then perform it on the hardware, Record videos of you doing the same.

Reference

TASK 11: LED Toggle Using ESP32

Learn the working of an ESP32 and create a standalone web server with an ESP32 that controls the LED connected with ESP32 GPIOs. Use the arduino IDE to code and upload the program to the ESP32. Learn to configure the IDE to upload code to an ESP32.

Reference

TASK 12: Soldering Prerequisites

(Soldering is to be done in presence of a coordinator)

Learn about the soldering equipment present in our lab, the solder, the soldering iron, soldering wick, flux, etc. Learn to use them and perform basic soldering on a perf board, for example a LED circuit in the presence of a coordinator and document the same.

Reference

TASK 13:

Design a 555 astable multivibrator with duty cycle 60%, rig up the circuit on a breadboard and by using the probes observe the output of your circuit on the DSO. Resources:

Circuit

TASK 14: Karnaugh Maps and Deriving the logic circuit

Description: For 4 cases, based on door lock/open and key pressed/not pressed. Determine the karnaugh map and make a burglar alarm using simple logic circuits. The buzzer or led blinks when certain conditions are met, you can use push buttons for the door and key.

(Tip: use logic gates, use k-maps to figure out the working conditions.)

TASK 15: Active Participation:

Take part in any technical event, inter or intra college and submit the issued certificate of participation.

Enroll for a MOOC and complete the course.

TASK 16: Datasheets report writing:

Topics: 1)MQ135 Gas sensor 2)L293D motor driver Task Description: Study the datasheet of any one of the above and write a report on it. Specify about the ICs used in L293D, PWM, H-bridge etc. In case of MQ 135, specify the calibrations for different gases and the Freundlich Absorption Theorem Graph.

Task 17: Introduction to VR

Familiarise yourself with what Virtual Reality is. Make a detailed study about what's the difference between VR and AR. Mention about the trends in the space and technology stack being developed. Make about Indian companies in this space. Make the report with detail. Using generative AI to generate this study can lead to disqualification.

vrlol

TASK 18: Sad servers - "Like LeetCode for Linux"

Sadservers is an excellent ground to test your Linux troubleshooting skills. Here is a troubleshooting scenario: Command Line Murders. Troubleshoot and Make Sad Servers Happy!

Command line murder
Linux commands
Linux commands

Task 19: Make a Web app

Using express create a resource library website where you can browse the resource articles, books etc which are available and also manage your account
Reference


Level 2


Level 1

Task 1 - Simon Says

Create a simon says game using ESP32, pushbuttons and LEDs. Blink the leds randomly, asking the user to push the corresponding buttons. If the user has failed, then give a clear indication and restart the game.

What is simon says game?

How to make it using ESP32? Follow this wokwi simulation and modify it for ESP32.

Takeaways : Familiarize with the use of the microcontroller esp32 and create a fun game.

Task 2 - Basics of MQTT protocol and other communication protocols

Learn the basics of MQTT protocol and its working from the website

Learn the different types of communication protocols here

Learn about the different networking protocols here

Takeaways : Learn about the different protocols used in IOT.

Task 3 - Basics of creating a website

Learn how to create a website both front-end and back-end. Create a webpage with a button that when pressed toggles the color of the webpage.

need help?

Takeaways : Learn to create a website so that its easier to create a webserver.

Task 4 - ESP32 CAM Based Surveillance Robot using Arduino IDE

Specific and customised task description * (Very important) - Use an ESP32 cam implementing L298N control for movement, setting up a live video streaming server, and enabling remote control functionality through Wi-Fi. Upload the video captured by the esp32cam on the MARVEL website (Specific part is instead of the motor driver in the website they have to use L298N motor driver hence circuit will change and even the code a little bit)

Resource link :

https://iotdesignpro.com/projects/esp32-cam-surveillance-robot-car

Expected task outcomes*- The goal is to create a versatile surveillance robot capable of capturing and transmitting live video feed while being remotely controllable for surveillance applications.

Precautions/Safety measures/process for completing task- NILL

Task 5 - MQTT PUBLISH AND SUBSCRIBE USING CLOUD MQTT

Specific and customised task description * (Very important) - Utilise MQTT LENS or any mqtt platform to establish MQTT publishing and subscribing functionalities. Upon publishing a message to turn on the 3 LED, ensure that subscribers receive the message and activate the particular led at a certain time LED accordingly. Ex.LED 1 ON - Should on the first led only SIMILARLY FOR LED 2 AND FOR 3

LED 1 OFF - Should off the first led only SIMILARLY FOR LED 2 AND FOR 3

specifications- the resource is for one led on and off I gave it for 3 leds

Takeaways : Learn about the different protocols used in IOT. Resource Links* -

https://m.youtube.com/watch?v=deIRY5NxXo4

Expected task outcomes*- Upon successfully implementing MQTT publishing and subscribing using MQTT-LENS or any MQTT PUBLISHER, the LED will turn on and off when a particular message is published, demonstrating seamless communication and control over the LED device Using MQTT.

Precautions/Safety measures/process for completing task- NILL

Task 6 - Sending data to ThingSpeak

Using Esp32 post the data of a temperature sensor to the Thingspeak Website using its api and display the graph of temp vs time and after processing retrieve the data back from the website.

Alternatively you can also use matplotlib in python to plot the graph of temp vs time, by downloading the dataset from thingspeak.

Resource1

Resource 2

Takeaways : Learn how to publish data to website and get data from it

Task 7 - Communication using I2C protocol

Send data from Esp32 to Arduino via I2C protocol and display a message on the lcd screen by typing the message using the webserver hosted on the esp32.

What is I2C protocol?

Resource

Takeaways : Learn the wired communication protocol between two microcontrollers.

Task 8 - Flashing Morse Code

Set up an ESP32 to flash morse code using an led making use of the message sent by the webserver hosted on the esp32.

Resource.

Takeaways : One of the real life application of a webserver for communication.

Task 9 - Soil Moisture Sensor

Measure the moisture level of the soil in the pot using the capacitive soil moisture sensor and display the moisture level on the serial monitor or on the LCD screen. Give an alert to the user if the soil moisutre level is below a certain level.

Resource.

Takeaways : Learn to measure soil moisture and control the water level.

Task 10 - Read and Display Vitals

Measure heart rate and blood oxygen levels using MAX30100 sensor and display the results on an Android Application using MIT App Inventor. Give a notification to the user if the heart rate or the oxygen level is out of the normal range. The app can communicate with the ESP32 using a webserver or using MQTT protocol.

Resources:

  1. MAX30100 with OLED
  2. MIT App Inventor using WebServer
  3. MQTT using MIT App Inventor and ESP32

Task 11 - FIRE ALARM SYSTEM WITH EMAIL ALERTS

Develop a fire alarm system using ESP32 microcontroller equipped with fire sensors. Upon detecting fire, the ESP32 triggers an email alert through Wi-Fi, notifying designated recipients about the potential fire hazard for timely response and action. IMPORTANT -This task needs to be tested only in the presence of a coordinator outside the lab (in an open area) to ensure the safety of the lab.

RESOURCE : https://randomnerdtutorials.com/esp32-email-alert-temperature-threshold/

TASK OUTCOME: sending emails using esp32- the resource provides guidance on sending emails using esp32. Changes have to be done to the hardware connections and the code so as to include the fire sensor.

PRECAUTIONS/SAFETY MEASURES- to ensure that the testing of this circuit is done only in the presence of a coordinator outside the lab (in an open area ) to ensure the safety of the lab.


Level 3


Level 2

Task 1 - Watering a Plant

Using Solenoid Valve design a system to water the plant when the soil moisture content in the soil goes below a certain threshold value. Use a relay to turn on the valve.

Resource

Task 2 - Introduction to RFID

Learn about RFID cards and RFID card reader. Interface it with ESP32 and read a metro card with the reader. Display the hex code on the LCD screen.

Resource

Task 3 - Interfacing RTC time module with ESP32

Interface a DS3231 RTC Module with ESP32 and display the time on the serial monitor.

Resource

Task 4 - Creating an attendance logger

Use RFID cards to log in attendance and display the attendance with time on google sheets using IFTTT (Use ESP32).

Resource

Task 5 - Communication using Zigbee protocol

Establish a communication between Arduino and ESP32 using zigbee protocols and transfer data from a sensor from one device to the other.

Resource

Task 6 - Controlling multiple peripherals using SPI Protocol

Using SPI protocol, read from a RFID module and use it to control the direction of DC motor .

Resource

Task 7 - Telegram Bot Motor control

Create a Telegram bot to turn on a motor in both the directions. Use ESP32 as the interface for this task.

Resource

Task 8 - Alexa Light Control

By sending voice commands to Alexa turn off or turn on an LED bulb. Use ESP32 for the task

Resource

UVCE,
K. R Circle,
Bengaluru 01