cover photo

COURSEWORK

SHRIYA's IOT-001 course work. Lv 1

SHRIYA N.RAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

IoT LEVEL 1 TASK REPORT

31 / 3 / 2024


LEVEL 1 TASK REPORT

TASK 1: SIMON SAYS

Simon says is a classic memory game where players should replicate a random sequence of colours provided by the device.

We had to create a working model of this game using ESP 32 microcontroller, LED 's and push buttons.

Before starting off with the actual model, I tried simulating the circuit in wokwi to thoroughly understand the connections to be made and how to implement the source code.

Difficulties faced : I faced problems with the connections, implementation of the source code. After tweaking some slight errors, was able to execute it.

Takeaways: Gained more insight on ESP 32 microcontroller, its usage, working and uploading code.


TASK 2: BASICS OF MQTT PROTOCOL

MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for low-bandwidth, high-latency, or unreliable networks, commonly used in Internet of Things (IoT) applications.

It follows a publish-subscribe model, where clients connect to a broker and publish messages to topics or subscribe to topics to receive messages. MQTT operates over TCP/IP and uses a minimal header overhead, making it efficient for constrained environments.

It supports Quality of Service levels for message delivery assurance and Last Will and Testament messages for client state management. With its simplicity, scalability, and reliability, MQTT facilitates real-time communication between devices, enabling efficient IoT deployments.

Some other communication protocols are:   
. AMQP   
. Bluetooth and BLE   
. Cellular   
. CoAP   
. LoRa and LoRaWAN etc   

Difficulties faced: This a fundamental topic in IoT with a lot of information, I did try to read as much as possible. Over time hoping to gain in depth insight in this topic.


TASK 3: Basics of creating a website

The task was to creat a website encompassing both front end and back end. This website has to have a button that when pressed toggles the color of the webpage.

Skills gained : I was able to learn the basics of html, css and javascript and gained interest in web development.


TASK 4 : ESP32 CAM

The ESP32-CAM is a compact development board based on the ESP32 microcontroller and a camera module. It integrates Wi-Fi and Bluetooth connectivity, making it suitable for various IoT and camera-related projects.The ESP32-CAM board features GPIO pins, an SD card slot for storage expansion, and can be programmed using the Arduino IDE or other ESP32 development frameworks.   

We had to perform a basic task to set up a CCTV camera system that streams/records video footages. Since ESP32 cam does 'nt come with a usb port, we had to use FTDI programmer.

Difficulties faced : Unable to upload code onto the ESP 32, took a few tries and youtube tutorials to figure it out.

Takeaways: How to use and the functioning of ESP 32 CAM


TASK 5: SENDING DATA TO THINGSPEAK

ThingSpeak is an IoT (Internet of Things) platform and analytics service provided by MathWorks. It enables users to collect, analyze, and visualize data from sensors or other devices in real-time. The platform offers various features, including data logging, time-series analysis.   
   
Users can send data to ThingSpeak using HTTP or MQTT protocols, and they can also interact with the platform through RESTful APIs. ThingSpeak provides built-in visualization tools for creating custom charts, graphs, and gauges to display data in real-time dashboards.   

The task was to send the data of the DHT11 temperature sensor obtained using ESP 32 microcontroller to the thingspeak website using its API.
Then display a graph of temperatur v/s time and retrieve the data back.

Difficulties faced: Sending the data to the thingspeak website using its api and the temperature sensor was glitching.

Skills acquired: Learned about Thingspeak website and DHT11 temperature sensor.


TASK 6: Communication using I2C protocol

I2C stands for the inter-integrated controller. This is a serial communication protocol that can connect low-speed devices. It is a master-slave communication in which we can connect and control multiple slaves from a single master. In this, each slave device has a specific address.   
   
Advantages:   
. It supports flexible data transmission rates.   
. It supports long-distance communication than SPI.   
. Each device on the bus is controlled separately.   
. It increases the complexity of firmware or low-level hardware.   
. This protocol requires only two cables.   
. The devices can work as both master and slave.   

We had to establish a connction between an ESP 32 and Arduino UNO board, send a message from the master to the slave and display it on the serial monitor.
I tried this in wokwi simulator first to gain a glimpse into the working of I2C protocol as well as test the source code for its accuracy before implementation.

Difficulties faced: Uploading the code onto ESP 32 was tiresome as it was glitching due to some unknown reason, relaying the message between the master and the slave took a few tries.

Takeaways: Learnt about I2C protocol and how information is passed between two microcontrollers.


TASK 7: FLASHING MORSE CODE

We had to create a setup where an ESP32 flashes morse code using an LED, based on a message received from a web server hosted on the ESP32.

I faced difficulties in creating a web server, hence used a serial monitor to access input and convert this into morse code where a short LED blink stand for (.) and a long LED blink stands for (-).

Difficulties faced: I didn 't have much knowledge on js to createa a website that takes in the input messsage, displays it and converts it into morse code. Have to work more in this area.


TASK 8: SOIL MOISTURE SENSOR

In this task, we had to 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. We also had to give an alert to the user if the soil moisutre level was below a certain level.   

Capacitive soil moisture sensor works by checking the charge storing capacity of the soil which in turn indicates the amount of moisture present in the soil.
The water level was monitored using the AOUT pin. The voltage in the AOUT pin is inversely proportional to the water level.


TASK 9: READ AND DISPLAY VITALS

We were tasked to measure SPO2 levels and Heart rate using ESP32 and MAX30100 sensor and display them on an OLED display.

MAX30100 is a pulse oximeter and heart rate sensor which uses photo diodes and receptors to determine the level of blood oxygen level and heart rate per minute.


THANK YOU


UVCE,
K. R Circle,
Bengaluru 01