cover photo

COURSEWORK

Deeksha's IOT-001 course work. Lv 2

Deeksha AithalAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

LEVEL 1 REPORT

7 / 4 / 2023


Task: Simon says

We had to create a working model of this using ESP32 microcontroller. To ensure the functionality of my design, I first opted to create a simulated version of Simon Says using the Wokwi simulator. This online platform allowed me to virtually construct and test the game, ensuring that it operated accurately. Then, I took the next step in my project by building a physical, hands-on model of Simon Says using the ESP32 microcontroller.
Skills acquired: Clearer understanding of how the ESP32 microcontroller works.
Difficulties faced: The code was a little hard to understand in the beginning. And the connection wasn't working as well. So had to spend some time to understand why.

image

image

Task: Basics of MQTT protocol and other communication protocols

MQTT stands for Message Queuing Telemetry Transport. MQTT is a machine to machine internet of things connectivity protocol. MQTT follows a publish-subscribe (pub-sub) messaging model. In this model, there are two main roles: publishers and subscribers. Devices or applications that generate data (publishers) send messages to \topic " and other devices or applications interested in that data (subscribers) subscribe to those topics. This way, data flows from publishers to subscribers without them needing to know each other directly.MQTT allows devices to connect, send messages, and disconnect as needed. It doesn't require a persistent, always-on connection, which can save power and resources in IoT scenarios.
Difficulties faced: It was a lot of theory to study and understand. I still haven't really understood a lot of it yet. But it's a start.

Task: Basics of creating a website

We had to create a webpage with a button that toggles the background colour of the page when pressed.
Skills acquired: Creating a websie using html, css. Basics of Javascript to change colour of button.

image

Task: ESP32 Cam

ESP32-CAM is a low-cost ESP32-based development board with onboard camera, small in size.ESP32 cam does'nt come with a usb port. So we had to use FTDI programmer.
Skills acquired: How to use the ESP32 cam module.
Difficulties faced: I was not able to upload the code onto the ESP32 cam module.Took me several days to upload, even though all the connections were proper.

image

Task: Sending data to ThingSpeak

ThingSpeak is a platform providing various services exclusively targeted for building IoT applications. It offers the capabilities of real-time data collection, visualizing the collected data in the form of charts, ability to create plugins and apps for collaborating with web services, social network and other APIs.
In this task, we had to post the data of a temperature sensor, obtained with use of ESP32 microcontroller, to the Thinspeak Website using its api and display the graph of temp vs time and after processing retrieve the data back from the website.
Skills acquired: Learnt about Thingspeak, how to send data to website
Difficulties faced: The temperature sensoror module had some issues with it. So it showed message "FAILURE TO READ FROM SENSOR". The DHT11 sensor wasn't working.

image

image

Task: Communication using I2C protocol

Here, we had to send data from the ESP32 to Arduino via I2C protocol. I2C stands for Inter-Integrated Circuit.It uses only 2 bi-directional open-drain lines for data communication called SDA and SCL.
Skills acquired: Learnt about I2C protocol, SCL and SDA pins od ESP32 and Arduino, how data is communicated between two microcontrollers.
Difficulties faced: The data from ESP32 to Arduino couldn't be sent. Some garbage values was passed across.

Task: Flashing Morse Code

Here, 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 created a web server on the ESP32 that listens for incoming messages or commands.When a message is received, it gets converted to morse code using the Morse code library.Then I wrote code to blink the LED in accordance with the Morse code message. For example, a dot ('.') could be a short LED blink, and a dash ('-') could be a longer blink.
Skills acquired: How to set up a websever hosted by an ESP32, Javascript to take in and display the message entered, convert message to morse code. And to pass the morse code to led to blink it.
Difficulties faced: It was quite an easy task. But I didn't know how to create webserver using js. So had to learn that.

image

Task: 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.
Skills acquired: Learnt about Soil moisture, how it works.
Difficulties faced: It was quite an easy task. No difficulties was faced. Got it the first time itself.

image

image

Task: Read and Display Vitals

In this task, we had to measure heart rate and blood oxygen levels using MAX30100 sensor. We also had to display the results on an Android Application using MIT App Inventor and give a notification to the user if the heart rate or the oxygen level is out of the normal range.
Difficulties faced: The MAX30100 sensor wasn't working. So couldn't complete the application building part.

image

image

"

UVCE,
K. R Circle,
Bengaluru 01