cover photo

COURSEWORK

Kannika.K.R's IOT-001 course work. Lv 2

Kannika.K.RAUTHORACTIVE

LEVEL 1 REPORT

30 / 3 / 2024


Task: Simon Says.

We had the task to implement a simple memory game where the player must repeat a sequence of LED flashes. I thought to create the stimulated one. I have used wokwi stimulator to make the circuit. Online platform thought me the complete working of ESP32, and it was difficult for me to understand. After creating the stimulated one, I have tried more than 3-4 times in the lab by using hardware components. After trying many times, I had got the good experience in using ESP432.

difficulties faced: The code was bit hard for me to understand and the connections wasn't working as well. So I had taken alot of time in doing this task.

Screenshot 2024-02-25 211648

IMG-20240330-WA0008

IMG-20240330-WA0013

Task: Basics of MQTT protocol and other communication protocols.

MQTT Protocol

MQTT (Message Queuing Telementary Transport ) is a lightweight messaging protocol designed for small footprint devices. MQTT follows publish/subscribe messaging pattern. Clients (devices or applications) can publish messages to topics and other clients can subscribe to receive messages from specific topics.

1.In MQTT, there's a central entity called the broker. It is responsible for receiving all messages filtering messages, deciding who is interested in them and then sending the messages to all the subscribed clients. 2.Topics are hierarchical strings that are used to categorize messages. A temperature sensor might publish data to the topic like sensors/temperature.
3.MQTT supports 3-levels of QoS (Quality of Service): a.QoS 0 : Message is delivered at most once, making it the fastest but least reliable option. b.QoS 1 : Message is guaranteed to be delivered, but there might be duplicates. c.QoS 2 : Message is guaranteed to be delivered exactly once, but it is the slowest and most reliable option.

MQTT is designed to be lightweight both in terms of bandwidth usages and implementation complexity, making it ideal for IoT and other resource-constrained environments.

Different Types of Communication Protocol.

1.HTTP/HTTPS : Hypertext Transfer Protocol and its secure variant HTTPS are widely used for communication between web servers and clients, typically over the internet. 2.TCP/IP: Transmission Control Protocol (TCP) and Internet Protocol (IP) are fundamental protocols for communication over the Internet. TCP ensures reliable, ordered, and error-checked delivery of data, while IP handles addressing and routing. 3.UDP: User Datagram Protocol (UDP) is a connectionless protocol that provides faster communication but with less reliability compared to TCP. It's often used for streaming media and real-time applications. 4.CoAP: Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in IoT applications. 5.AMQP: Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware, useful for queuing, routing and interchanging messages between systems.

Task : Basics of Creating a website.

We had to create the webpage with the toggle button. The background of the webpage should be changed if the toggle button is pressed. I knew HTML and the basics of CSS but I have learnt the basic JS which is required for this task to be completed. This was the first task I have done in level 2 and I felt it as bit easy when compared with other tasks. preferred skills : Creating a webpage using HTML and CSS. JS to change the color of the webpage.

Screenshot (79)

Screenshot (61)

Screenshot (63)

Task : ESP32 Cam.

ESP32-CAM is a compact and cost-effective solution for projects requiring camera capabilities integrated with an ESP32 microcontroller, making it suitable for a wide range of IoT and multimedia applications. ESP32-CAM is a development board based on the ESP32 microcontroller chip with an integrated camera module. We can't upload for ESP32 Cam Module, so we have to use FTDI programmer.

Difficulties faced: I have unable to upload the code and even the module doesn't work properly. It took me a lot of time to upload the code and make the module work, but I couldn't complete the task completely.

IMG-20240330-WA0002

Task : Sending data to ThingSpeak.

ThingSpeak is an IOT platform and open-source application that allows users to collect, analyze and visualize data from sensors or other devices in real-time. ThingSpeak offers APIs for developers to integrate with other platforms and services.

In this task, we had to post the data of the temperature and humidity sensor with the help of ESP32 microcontroller, to the thingspeak website using its API and display the graph of temperature v/s time and after processing it has to retrieve the data back from the website. Knowing about the Thingspeak website and how to send data to it is the main thing I have learnt in this task.

Difficulties faced : The temperature and humidity sensor module were not working properly.

WhatsApp Image 2024-04-18 at 6 45 12 PM

WhatsApp Image 2024-04-18 at 6 48 48 PM

IMG-20240330-WA0010

Task : Communication using I2C protocol.

We had to send the data from ESP32 to Arduino via I2C protocol. I2C stands for Inter-Integrated Circuit.

I2C (Inter-Integrated Circuit) is a serial communication protocol for connecting integrated circuits. It operates with a master-slave architecture, uses two lines (SDA and SCL) for data transfer, supports unique addressing for each device, and employs acknowledge bits for reliable communication. It's versatile, widely used, and supports various data speeds.

difficulties faced: The data from ESP32 to Arduino couldn't be sent initially and to learn about SCL and SDA pins took me a lot of time.

WhatsApp Image 2024-03-30 at 8 12 04 PM

IMG-20240330-WA0006

Task : Flashing Morse Code.

We had to create a model which flashes morse code using an LED, based on a message received from a web server hosted on the ESP32. I have connected led to ESP32 and uploaded a code which depicts a morse code. Morse code has the alphabets with ('.') and ('-') to make on and off the LED. To set up a web server hosted by ESP32, JS to take in and display the message entered, convert message to Morse code and to pass the morse code to led to blink it. I have not understood the creation of the web server and I have to learn that.

IMG-20240330-WA0012

IMG-20240330-WA0011

Task: Soil Moisture Sensor.

In this task, we had to measure the moisture level of the soil using the soil moisture sensor and to display the level of the moisture in the serial monitor or in the LCD display. along with giving the alert to the user if the level is below the certain level. I have done in Tinker Cad platform also before doing the hardware but in lab we had to use the ESP32 instead of Arduino uno. To know how the Soil moisture sensor works and i learnt to working of the capacitive soil moisture sensor. No difficulties faced and it was quite and easy task.

Screenshot (64)

Screenshot (65)

Task : Read and Display Vitals.

The aim of the task was to measure heart rate and the blood oxygen levels using MAX30100 sensor and display the results on an android application using MIT app invertor and to give the notification to the user if the heart rate or oxygen level is out of the normal range. The MAX30100 sensor had some problems with it and it was not working properly.

Difficulties faced : The sensor working was difficult and it was not working properly so I couldn't complete this task.

WhatsApp Image 2024-04-18 at 6 44 58 PM

UVCE,
K. R Circle,
Bengaluru 01