cover photo

COURSEWORK

Nalin's IOT-001 course work. Lv 2

Nalin VyasAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

Level - 1 Report

16 / 7 / 2024


Task 1 : Soil Moisture Sensor

In this task I used a ESP32 with a catalytic Soil Moisture Sensor to check and display the soil moisture levels to the serial monitor. This enables us to provide efficient irrigation to the plants. Images of the task are given below.

Task 2 : Simon Says

This was a very fun and interesting task. The original task resource had code and connection for an Arduino Uno which I had to change and implement using the ESP32 . I had a few problems fixing the code initially, but I was later able to figure out these issues and fix them. The images and a video of the task are given below.

Task 3 : Morse Code

For this task I had to use an ESP32 and a simple LED to implement a morse code functionality where the input string can be provided via the webserver which is received by the ESP32 and then it makes the LED flash accordingly to display the appropriate flash code. The task resource provided here wasn't functional so I had to search and implement other resources online which helped me improve my trouble shooting skills. The images and video of the task are given below.

Task 4 : I2C Protocol :

In this task I implemented a simple master slave I2C setup using an Arduino Uno and a ESP32 . The ESP32 acts as the master and sends the message to the Arduino to display on the serial monitor. Implementing this was a bit confusing, but I figured it out and was able to complete the task. The below image shows the ESP32 successfully sending the message to the Arduino. The below image shows the Arduino successfully receiving the message and printing to serial monitor. Physical setup is shown below. Image of the physical setup

Task 5 : Creating a Website

This was a simple task where I had to create a website with a button which would dynamically change the color of a div. This task helped me improve my HTML skills which will help me in the further tasks which require hosting a webserver. The image of the website is given below. The JavaScript function to implement the color changing functionality is given below.

function Colorchange(){
   i = Math.random()*6|0 + 1;
   if (i < 3){
       document.getElementById('newDiv').style.backgroundColor='green';
            }
   else{
       document.getElementById('newDiv').style.backgroundColor = 'brown';
            }   
}

Task 6 : ESP32 Cam

In this task, I used a ESP32 camera module to send the live video feed to a webpage. This was a pretty interesting task, it introduced me to the FTDI programmer which was used to program the ESP32 cam. Overall a very interesting and fun task. Due to lack of time I wasn't able to completely finish this task by connecting the motors.

Task 7 : MQTT Publish and Subscribe

This was a very interesting task that required me to setup a mqtt communication system is such a manner that when a particular character or string was sent, the led connected to esp32 would glow. I had some issues setting up this mqtt system as the app for mqtt communication provided in the resources was discontinued so I had to try it out with various app. I was ultimately able to finish this task using the MQTTX app. A short video of the task is given below.

Task 8 : Sending data to ThingSpeak

I attempted this task, however the data from the temperature sensor (DHT11) wasn't being taken correctly as the website was reading all the sensor values as zero. I tried printing the sensor values to the serial monitor and I was able to obtain some values however these were not getting displayed correctly in the graph. The graph I got showed different data entries but the data values were visible as 0 only.

Task 9 : Basic of MQTT protocol

Going through the resource articles given made me aware about the various communication protocols used in IoT systems. The article goes over 12 basic protocols in brief. I also learnt about the working of the MQTT protocol and topics such as subscribe, publish and payload with respect to the MQTT protocol.

Task 10 : Read and Display Vitals

In this task I used a MAX30100 sensor along with a esp32 to read the vitals of a person such as heart rate. I printed this data to the serial monitor. Due to lack of time I wasn't able to implement the MIT app part where the data would be displayed in an app.

UVCE,
K. R Circle,
Bengaluru 01