0% found this document useful (0 votes)
14 views47 pages

H - IoT Practicals

The document provides an introduction to Arduino, its components, and the Arduino IDE, detailing various pins and their functions. It includes practical experiments using Arduino for LED control, traffic light simulation, multicolored LED streams, and various sensors like ultrasonic, gas, color, PIR, IR, flex, rain, and soil humidity sensors. Each experiment outlines the components used, source code, and expected outputs, emphasizing hands-on learning in electronics and programming.

Uploaded by

HEMAL PATEL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views47 pages

H - IoT Practicals

The document provides an introduction to Arduino, its components, and the Arduino IDE, detailing various pins and their functions. It includes practical experiments using Arduino for LED control, traffic light simulation, multicolored LED streams, and various sensors like ultrasonic, gas, color, PIR, IR, flex, rain, and soil humidity sensors. Each experiment outlines the components used, source code, and expected outputs, emphasizing hands-on learning in electronics and programming.

Uploaded by

HEMAL PATEL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS

FACULTY OF ENGINEERING, GAURIDAD CAMPUS.


DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:1
a) Introduction to – Arduino, Arduino components and IDE .
What is Arduino?
Arduino is an open-source electronics platform based on easy-to-use hardware and software.
Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message
- and turn it into an output - activating a motor, turning on an LED, publishing something online.
You can tell your board what to do by sending a set of instructions to the microcontroller on the
board.
Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed
at students without a background in electronics and programming. As soon as it reached a wider
community, the Arduino board started changing to adapt to new needs and challenges,
differentiating its offer from simple 8-bit boards to products for IoT applications, wearable, 3D
printing, and embedded environments.

Breadboard:

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Arduino PINS:

Vin: This is the input voltage pin of the Arduino board used to provide input supply from an external
power
source.
5V: This pin of the Arduino board is used as a regulated power supply voltage and it is used to give
supply to
the board as well as onboard components.
3.3V: This pin of the board is used to provide a supply of 3.3V which is generated from a voltage
regulator on the board
GND: This pin of the board is used to ground the Arduino board.
Reset: This pin of the board is used to reset the microcontroller. It is used to Resets the
microcontroller.
Analog Pins: The pins A0 to A5 are used as an analog input and it is in the range of 0-5V.
Digital Pins: The pins 0 to 13 are used as a digital input or output for the Arduino board.
Serial Pins: These pins are also known as a UART pin. It is used for communication between the
Arduino board and a computer or other devices. The transmitter pin number 1 and receiver pin
number 0 are used to transmit and receive the data resp.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

External Interrupt Pins: This pin of the Arduino board is used to produce the External interrupt
and it is done by pin numbers 2 and 3.
PWM Pins: This pin of the board is used to convert the digital signal into an analog by varying thewidth
of the Pulse. The pin numbers 3,5,6,9,10 and 11 are used as a PWM pin.
SPI Pins: This is the Serial Peripheral Interface pin, it is used to maintain SPI communication with
the help of the SPI library. SPI pins include:
1. SS: Pin number 10 is used as a Slave Select
2. MOSI: Pin number 11 is used as a Master Out Slave In
3. MISO: Pin number 12 is used as a Master In Slave Out
4. SCK: Pin number 13 is used as a Serial Clock
LED Pin: The board has an inbuilt LED using digital pin-13. The LED glows only when the digital
pin becomes
high.
AREF Pin: This is an analog reference pin of the Arduino board. It is used to provide a reference
voltage from an external power supply.
What is Arduino IDE?
The Arduino integrated development environment (IDE) is a cross-platform application (for
Microsoft Windows, macOS, and Linux) that is written in the Java programming language. It
originated from the IDE for the languages Processing and Wiring. It includes a code editor with
features such as text cutting and pasting, searching and replacing text, automatic indenting, brace
matching, and syntax highlighting, and provides simple oneclick mechanisms to compile and upload
programs to an Arduino board. It also contains a message area, a text console, a toolbar with buttons
for common functions and a hierarchy of operation menus. The source code for the IDE is released
under the GNU General Public License, version 2. The Arduino IDE supports the languages C and
C++ using special rules of code structuring. The Arduino IDE supplies a software library from the
Wiring project, which provides many common input and output procedures.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

b) LED ON-OFF program using Arduino.


Output: -

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Source Code:-

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:2
AIM: - Perform Experiment using Arduino UNO for LED ON-OFF with
PUSH button and dimming of LED using loop.
Component: -

• Arduino
• Breadboard
• LED
• Register
• Jumper wire
• Push button

Source code:-

const int BUTTON_PIN = 7; // the number of the pushbutton


pin const int LED_PIN = 3; // the number of the LED pin int
button state = 1; // variable for reading the pushbutton status
void setup() {
pinMode(LED_PIN,
OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP); }
void loop() {

button state = digitalRead(BUTTON_PIN);

if(button state == LOW) // If button is pressing

digitalWrite(LED_PIN, HIGH); // turn on LED

else // otherwise, button is not pressing

digitalWrite(LED_PIN, LOW); // turn off LED

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Output:-
Thinkercad circuit:

Circuit:

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:3
AIM: - Perform Experiment using Arduino for traffic light simulator.
Component: -

• Arduino
• Breadboard
• LED
• Register
• Jumper wire

Source code: -

int red = 10;


int yellow = 9;
int green = 8;
void chassssssssss(){ // green off, yellow on for 3 seconds
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
delay(3000); // turn off yellow, then turn red on for 5 seconds
digitalWrite(yellow, LOW);
digitalWrite(red, HIGH);
delay(5000); // red and yellow on for 2 seconds (red is already on though)
digitalWrite(yellow, HIGH);
delay(3000);// turn off red and yellow, then turn on green
digitalWrite(yellow, LOW);
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
delay(3000); } // the setup routine runs once when you press reset:
void setup()
{ pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT); }
void loop(){
changeLights();
delay(12000);
}

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Output: -
Thinkercad circuit

Circuit:

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:4
AIM: - Perform Experiment using Arduino for multicolored LED stream with buzzer
Component: -

• Arduino
• Multicolored LED
• Register
• Jumper wire

Source code: -

void setup(){
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(9, OUTPUT);
} void loop(){
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(10, LOW);
delay(1000);
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000); }

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Output: - Thinkercad circuit:

Circuit: -

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:5
AIM:- To study different types of sensors and their application.
1. Ultrasonicnic sensor
• An ultrasonic sensor is an instrument
that measures the distance to an object
using ultrasonic sound waves.

• An ultrasonic sensor uses a transducer


to send and receive ultrasonic pulses
that reply back information about an
object’s proximity.

• High-frequency sound waves reflect


from boundaries to produce distinct
echo patterns.
• The sensor emits short bursts of sound and listens for the echo of nearby objects measuring the
time of flight, distance can be computed.

• When it doesn’t work When waves are not reflected back towards the sensor.

2. Gas sensor

● A Gas Sensor is an electronic device


that detects dangerous gas leaks in the
industries’ areas.

● This direct sets 300 to


5000ppmNaturalural Gas.

● Gas sensor is a subclass of chemical


sensors.

● Good sensitivity to combustible gas in


a wide range Gas sensor has a long life
and low cost.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

3. Color sensor
• These sensors are photoelectric devices that can emit light and detect the color of reflected light
from an object.

• These sensors can detect the


intensity of light reflected from
an object and differentiates the
primary colors like red, blue, and
green.These are also called color
detectors.

• Colors sensors can illuminate the


object with a broad wavelength,
and light ratio, and determine the light intensity of primary colors (red, blue, green, and white).

• The ratio of the intensity of light determines the amount of light reflected and absorbed by the
object.

4. PIR sensor
• A motion sensor is a sensor that detects moving things, such as people. These types of motion
sensors are on top of a door to
detect weather a person has
walked inside or not.4

• A motion detector often is


integrated as a component of a
system that automatically
performs a task or alerts a user
of motion in an area. There are
motion sensors everywhere,
such as street lights. It detect the
light of the sky and then turns on
the light depending on how light or dark it is.

• A Passive infrared sensor(PIR) is an electronic sensor that measures infrared(IR) light radiating
from objects in its field of view.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF
INSTITUTIONSFACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
• Passive infrared sensor (PIR) or PIR motion sensor is the kind of IR sensor that measures the
infrared radiations released from objects and thus identify them as moving or still objects.

• This type of motion sensor is only the receptor of infrared waves and does not release any infrared
beam like that is done in Active Infrared Sensors.

• There are two types of PIR sensors:-


1. Thermal infrared Sensors
2. Quantum Infrared Sensors

5. IR sensor
• Infrared sensor is an electronic device that emits light in order to sense some object of the
surroundings.

• An IR sensor can measure


the heat of an object as well
as detects the motion.
Usually, in the infrared
spectrum, all objects
radiate some form of
thermal radiation.

• These types of radiations


are invisible to our eyes,
but the infrared sensor can
detect these radiations.
• The three main types of media used for infrared transmission are vacuum, atmosphere, and optical
fibers. Optical components are used to focus the infrared radiation or to limit the spectral response.

• There are two types of IR sensors available and they are,


1. Active Infrared Sensor
2. Passive Infrared Sensor

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
6. Flex sensor
• A flex sensor is a kind of sensor which is used to measure the amount of defection otherwise
bending.
• The designing of this sensor can be
done by using materials like plastic
and carbon.
• These sensors are classified into
two types based on its size namely
2.2-inch flex sensor & 4.5-inch
flex sensor.

• This type of sensor is used in


various applications like computer
interface, rehabilitation, servo
motor control, security system,
music interface, intensity control.

7. Rain sensor
• This sensor works on the bending strip principle which means whenever the strip is twisted then
its resistance will be changed.
This can be measured with the
help of any controller.

• The Raindrops Detection sensor


module is used for rain
detection. It is also for
measuring rainfall intensity.

• Rain sensor can be used for all


kinds of weather monitoring
and translated into output signals and AO.

• It includes a printed circuit board (control board) that “collects” the raindrops. As raindrops are
collected on the circuit board, they create paths of parallel resistance that are measured via the op-
amp. The lower the resistance (or the more water), the lower the voltage output.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
• Conversely, the less water, the greater the output voltage on the analog pin. A completely dry
board, for example, will cause the module to output 5V.

• The module includes a rain board and a control board that is separate for more convenience. It has
a power indicator LED and an adjustable sensitivity through a potentiometer. The module is based
on the LM393 op-amp.

8. Soil Humidity sensor


• A soil humidity sensor is a simple analog resistance sensor.
• Stick it in the soil to see if your plant needs watering. Normal tap water and groundwater contain
diluted salts and other material.

• This makes water conductive. The


soil humidity sensor simply
measures that conductivity.
• Supplying water to the plants is
also essential to change the
temperature of the plants. The
temperature of the plant can be
changed with water using the
method like transpiration.

• These sensors normally used to check volumetric water content, and another group of sensors
calculates a new property of moisture within soils named water potential.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

9. Hall sensor
• A Hall Effect sensor is a transducer that varies its output voltage in response to a magnetic field.
• Hall effect sensors are used for
proximity switching, positioning,
speed detection, and current
sensing.
• In its simplest form, the sensor
operates as an analog transducer,
directly returning a voltage.
• With a known magnetic field, its
distance from the Hall plate can
be determined. Using groups of
sensors, the relative position of the magnet can be deduced.

• Frequently, a Hall sensor is combined with circuitry that allows the device to act in a digital
(on/off) mode, and may be called a switch in this configuration.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:6
AIM: - Perform Experiment using Arduino UNO to keep Buzzer/LED ON/OFF

based on the moment of the object in the range of PIR Motion sensor

Component: -

• Arduino
• LED
• Register
• Jumper wire
• PIR motion sensor

Source code: -

int led = 13; // the pin that the LED is atteched to


int sensor = 2; // the pin that the sensor is atteched to
int state = LOW; // by default, no motion detected
int val = 0; // variable to store the sensor status (value)

void setup()
{ pinMode(led, OUTPUT); // initalize LED as an output
pinMode(sensor, INPUT); // initialize sensor as an input
Serial.begin(9600); // initialize serial
}
void loop()
{ val = digitalRead(sensor); // read sensor value
if (val == HIGH) { // check if the sensor is HIGH
digitalWrite(led, HIGH); // turn LED ON
delay(500); // delay 100 milliseconds
if (state == LOW) {
Serial.println("Motion detected!");
state = HIGH; // update variable state to HIGH }}

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

else {
digitalWrite(led, LOW); // turn LED OFF delay(500); // delay 200 milliseconds
if (state == HIGH){
Serial.println("Motion stopped!");
state = LOW; // update variable state to LOW
}}}
Circuit: -

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:7
AIM: - Perform Experiment using Arduino UNO to keep Buzzer/LED ON/OFF based
on the moment of the object with Ultrasonic sensor
Component: -

• Arduino
• LED
• Jumper wire

• Ultrasonic sensor

Source code: -
// constants won't change const int TRIG_PIN = 6;
// Arduino pin connected to Ultrasonic Sensor's TRIG pin const int ECHO_PIN = 7;
// Arduino pin connected to Ultrasonic Sensor's ECHO pin const int LED_PIN = 13;
// Arduino pin connected to LED's pin const int DISTANCE_THRESHOLD = 10;
// centimeters
// variables will change:
float duration_us, distance_cm;
void setup() {
Serial.begin (9600); // initialize serial port
pinMode(TRIG_PIN, OUTPUT); // set arduino pin to output mode pinMode(ECHO_PIN,
INPUT); // set arduino pin to input mode
pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode
}
void loop() {
// generate a 10-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from ECHO pin
duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance
distance_cm = 0.017 * duration_us;
if(distance_cm < DISTANCE_THRESHOLD)
digitalWrite(LED_PIN, HIGH); // turn on LED

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

else
digitalWrite(LED_PIN, LOW); // turn off LED
// print the value to Serial Monitor
Serial.print("distance: ");
Serial.print(distance_cm);
Serial.println(" cm");
delay(500);
}
Output:-

Thinkercad circuit:

Circuit:-

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:8
AIM:- Perform an Experiment using Arduino UNO to detect Rain.
Component:-

https://circuitdigest.com/microcontroller-projects/interfacing-rain-sensor-with-arduino

• Arduino
• LED
• Jumper wire
• Rain detect sensor
Source code:-
// Sensor pins pin D6 LED output, pin A0 analog Input
#define ledPin 13
#define sensorPin A0
void setup() {
Serial.begin(9600);
pinMode(ledPin,
OUTPUT);
digitalWrite(ledPin,
LOW); }
void loop() {
Serial.print("Analog output: ");
Serial.println(readSensor());
delay(500); }
int readSensor() {
int sensorValue = analogRead(sensorPin); // Read the analog value from sensor
int outputValue = map(sensorValue, 0, 1023, 255, 0); // map the 10-bit data to 8-bit data
if(outputValue>185) {
digitalWrite(ledPin,outputValue);
delay(10); }
else {

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

digitalWrite(ledPin,LOW);
delay(10); }
return outputValue; // Return analog moisture value
}
Output:-
Circuit:-

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
Practical:9
Aim: Perform experiment using Arduino Uno for measuring temperature using

sensor.Output:

Program:

int sensorPin – A0; int


sensorVal – 0; int limit –
665;void setup() {
serial.begin(9600);
pinMode(13, OUTPUT);
} void loop() {
sensorVal = analogRead(sensorPin); If(sensorVal < limit){ digitalWrite(13, HIGH);
} else{ digitalWrite(13, LOW);
}
}

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:10
Aim: Using NodeMCU with Arduino
IDE.Output:

DHT11 Humidity Temperature Monitor on ThingSpeak with


NodeMCU(ESP8266-12E Board)

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

• This tutorial is all about Humidity & Temperature Monitoring using DHT11 &
NodeMCU on ThingSpeak. It explains how to log Humidity & Temperature data on the
cloud. We can use Thingspeak as a cloud service provider and DHT11 to measure
temperature and humidity.
• This tutorial is for NodeMCU on Arduino IDE. You can also configure the ESP8266-
12E board with Arduino to monitor temperature and humidity.

Components:

Steps for Configuring Arduino IDE with NodeMCU (ESP8266- 12E):


First, we have to add NodeMCU board in Arduino IDE. For that steps are given below:
1. Open Arduino IDE
2. Go to File > Preferences and Paste given link in Additional Board Manager URLs

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

3. Go to tools > Board > Board Manager and Install esp8266

4. Go to Tools > Board > ESP8266 Boards (3.0.2) and Select NodeMCU 1.0

Now, after adding NodeMCU Board in Arduino, we have to install certain libraries to
connect Wi-Fi to NodeMCU and upload data on ThingSpeak cloud service. For that follow
steps givenbelow:

1. Download following libraries into your computer

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

2. Open ArduinoIDE
3. Go to Sketch > Include Library > Add .ZIP Library and install all four libraries
4. After installing you will be able to see those libraries in Include Library option

Steps of creating channel in ThingSpeak cloud service:


1. Go to https://thingspeak.com/ and create and verify an account if you do not have one
otherwise Login to your account.
2. After verifying you will be redirected to channels page. On channel page click on New
Channel button

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

3. Add channel and Field name. Then Scroll down and save the channel.
*Do not modify any other options

4. After channel is created, Go to API Keys and copy and paste this key toa separate notepad file.
You will need it later while programming.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Steps:
1. Make connection as shown below in circuit diagram

2. Open ArduinoIDE, copy this program and paste it on Arduino IDE.


3. Select the NodeMCU ESP-12E board from the board manager.
4. Paste your API Key from ThingSpeak which you created earlier on a
programming section line.
5. Edit the program to change the Wi-Fi SSID and password with your own.
6. Before uploading program to NodeMCU board, Verify it.

7. If you don’t get any errors, compile the code and upload it to NodeMCU board.

Code:

#include <ArduinoWiFiServer.h>
#include <BearSSLHelpers.h>
#include <CertStoreBearSSL.h>

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

#include <ESP8266WiFi.h>
#include <ESP8266WiFiAP.h>
#include <ESP8266WiFiGeneric.h>
#include <ESP8266WiFiGratuitous.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266WiFiScan.h>
#include <ESP8266WiFiSTA.h>
#include <ESP8266WiFiType.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include
<WiFiClientSecureBearSSL.h> #include
<WiFiServer.h>
#include <WiFiServerSecure.h>
#include
<WiFiServerSecureBearSSL.h> #include
<WiFiUdp.h>
#include <Adafruit_Sensor.h>
// Robo India Tutorial
// Simple code upload the tempeature and humidity data using thingspeak.com
// Hardware: NodeMCU,DHT11
#include <DHT.h> // Including library for dht
String apiKey = "PASTE API KEY HERE"; // Enter your Write API key from
ThingSpeak const char *ssid = "WIFI NAME"; // replace with your wifi ssid and
wpa2 key const char *pass = "WIFI
PASSWORD"; const char* server =
"api.thingspeak.com";
#define DHTPIN 0 //pin where the dht11 is connected
DHT dht(DHTPIN, DHT11);
WiFiClient
client; void setup()
{
Serial.begin(115200);
delay(10);
dht.begin();
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

}
Serial.println("");
Serial.println("WiFi connected");
}
void
loop(){
float h = dht.readHumidity(); float t =
dht.readTemperatu
re(); if (isnan(h) ||
isnan(t)){
Serial.println("Failed to read from DHT sensor!"); return;}
if (client.connect(server,80)) // "184.106.153.149" or
api.thingspeak.com{ String postStr = apiKey;
postStr +="&field1="; postStr += String(t); postStr +="&field2=";
postStr +=
String(h); postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type:application/x-www-form-
urlencoded\n"); client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n"); client.print(postStr);
Serial.print("Temperature: "); Serial.print(t);
Serial.print(" degrees Celcius, Humidity: ");
Serial.print(h);
Serial.println("%. Send to Thingspeak.");
}
client.stop();
Serial.println("Waiting...");
// thingspeak needs minimum 15 sec delay between updates, i've set it to 30
seconds delay(1000);

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
Practical:11
Aim: Demonstrate Setup & Working of
RaspberryPi.RASPBERRY PI:
Raspberry Pi is a credit card sized micro processor available in different models with different
processing speed starting from 700 MHz. Whether you have a model B or model B+, or the
very old version, the installation process remains the same. People who have checked out the
official Raspberry Pi website, But using the Pi is very easy and from being a beginner, one
will turn pro in no time. So, it's better to go with the more powerful and more efficient OS,
the Raspbian. The main reason why Raspbian is extremely popular is that it has thousands of
pre built libraries to perform many tasks and optimize the OS. This forms a huge advantage
while building application

Fig. 1 Raspberry Pi Elements


As for the specifications, the Raspberry Pi is a credit card-sized computer powered
by the Broadcom BCM2835 system-on-a-chip (SoC). This SoC includes a 32-bit
ARM1176JZFS processor, clocked at 700MHz, and a Videocore IV GPU. It also has 256MB
of RAM in a POP package above the SoC. The Raspberry Pi is powered by a 5V micro USB
AC charger or at least 4 AA batteries (with a bit of hacking). While the ARM CPU
delivers real-world performance similar to that of a 300MHz Pentium 2, the Broadcom GPU
is a very capable graphics core capable of hardware decoding several high definition video
formats. The Raspberry Pi model available for purchase at the time of writing — the
Model B — features HDMI and composite video outputs, two USB 2.0 ports, a 10/100
Ethernet port, SD card slot, GPIO (General Purpose I/O Expansion Board) connector, and
analog audio output (3.5mm headphone jack). The less expensive Model A strips out the
Ethernet port and one of the USB ports but otherwise has the same hardware. Raspberry Pi
Basics: installing Raspbian and getting it up and running.
1. Downloading Raspbian and Image writer.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

You will be needing an image writer to write the downloaded OS into the SD card (micro SD
card in case of R aspberry Pi B+ model). So download the "win32 disk imager" from
the website.
2. Writing the image
Insert the SD card into the laptop/pc and run the image writer. Once open, browse and select
the downloaded Raspbian image file. Select the correct device, that is the drive
Representing the SD card. If the drive (or device) selected is different from the SD card
then the other selected drive will become corrupted. SO be careful.
After that, click on the "Write" button in the bottom. As an example, see the image
below,where the SD card (or micro SD) drive is represented by the letter "G:\"

Fig. 2 OS Installation

Once the write is complete, eject the SD card and insert it into the Raspberry Pi andturn it
on. It should start booting up.
3. Setting up the Pi
Please remember that after booting the Pi, there might be situations when the user credentials
like the "username" and password will be asked. Raspberry Pi comes with a default user name and
password and so always use it whenever it is being asked. The credentials are:
login: pi
password: raspberry
When the Pi has been booted for the first time, a screen called the “Setup
configuration”

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
Options" should appear and it will look like the image below.

Fig. 3 Raspberry Configuration

If you have missed the "Setup Options" screen, its not a problem, you can always get it by the
following command in the terminal.
sudo raspi -config
Once you execute this command the "Setup Options" screen will come up as shown in the
Image above
Now that the Setup Options window is up, we will have to set a few things. After completing each of
the steps below, if it asks to reboot the Pi, please do so. After the reboot, if you don't get the "Setup
Options" screen, then follow the command given above to get the screen/window.
• The first thing to do: select the first option in the list of the setup options window, that
is select the "Expand
Filesystem " option and hit the enter key. We do this to make use of all the space present

on the SD card as a full partition. All this does is, expand the OS to fit the whole space
on the SD card which can then be used as the storage memory for the Pi
• The second thing to do:
Select the third option in the list of the setup options window, that is select the "Enable
Boot To Desktop/Scratch" option and hit the enter key. It will take you to another
window called the "choose boot option" window that looks like the image below.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Fig. 4 Boot Options

In the "choose boot option window", select the second option, that is, "Desktop Log in asuser'pi'
at the graphical desktop" and hit the enter button. Once done you will be taken back tothe " Setup
Options" page, if not select the "OK" button at the bottom of this window and you will betaken back
to the previous window. We do this because we want to boot into the desktop environment which we
are familiar with. If we don't do this step then the Raspberry Pi boots into aterminal each time with
no GUI options. Once, both the steps are done, select the "finish"b utton atthe bottom of the page and
it should reboot automatically. If it doesn't, then
use the following command in the terminal to reboot.
sudo reboot

Updating the firmware


After the reboot from the previous step, if everything went right, then you will end up on the
desktop which looks like the image below.

Fig.5 Raspberry Desktop

Once you are on the desktop, open a terminal and enter the following command to update
the firmware of the Pi.

sudo rpi-update

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
Updating the firmware is necessary because certain models of the Pi might not have all
the required dependencies to run smoothly or it may have some bug. The lates firmware
might have the fix to those bugs, thus its very important to update it in the beginning
itself.

5. Conclusion

So, we have covered the steps to get the Pi up and running. This method works on all the different
models of Raspberry Pi (model A, B, B+ and also RPi 2) as Raspbain was made to be supported on all
models. However, while installing other software or libraries, the
procedure might change a bit while installing depending on the model of the Pi or the version of
Raspbian itself. The concept of Rasberry is to keep trying till you get the result or build that you want.
This might involve a lot of trial and error but spending the time will be worth it. The actual usage
doesn't end here. This is just the beginning. It is up to you to go ahead to build somet hing amazing out
of it.

Fig. 6 GPIO Pins

GPIO:
Act as both digital output and digital input. Output: turn a GPIO pin high or low.
Input: detect a GPIO pin high or low

Installing GPIO library: Open terminal


Enter the command “sudoapt-get install python-dev” to install python development

Enter the command “sudoapt-get install python-rpi.gpio” to install GPIO library.


Basic python coding:
Open terminal enter the command sudo nano filename.py
This will open the nano editor where you can write your code

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
Ctrl+O : Writes the code to the file
Ctrl+X : Exits the editor Blinking LED Code:
import RPi.GPIO as GPIO #GPIO library import time
GPIO.setmode(GPIO.BOARD) # Set the type of board for pin numbering GPIO.setup(11,
GPIO.OUT) # Set GPIO pin 11as output pin for i in range (0,5): GPIO.output(11,True) # Turn on
GPIO pin 11 time.sleep(1)
GPIO.output(11,False) time.sleep(2)
GPIO.output(11,True) GPIO.cleanup()

Power Pins
The header provides 5V on Pin 2 and 3.3V on Pin 1. The 3.3V supply is limited to 50mA. The 5V
supply draws current directly from your microUSB supply so can use whatever is left over after the
board has taken its share. A 1A power supply could supply up to 300mA once the Board has drawn
700mA.
Basic GPIO
The header provides 17 Pins that can be configured as inputs and outputs. By default they are all
configured as inputs except GPIO 14 & 15.
In order to use these pins you must tell the system whether they are inputs or outputs. This can be
achieved a number of ways and it depends on how you intend to control them. I intend on using Python.
SDA & SCL: The 'DA' in SDA stands for data, the 'CL' in SCL stands for clock; the S stands for serial.
You can do more reading about the significance of the clock line for various types of computer bus,
You will probably find I2C devices that come with their own userspace drivers and the linux kernel
includes some as well. Most computers have an I2C bus, presumably for some of the purposes listed
by wikipedia, such as interfacing with the RTC (real time clock) and configuring memory. However,
it is not exposed, meaning you can't attach anything else to it, and there are a lot of interesting things
that could be attached -- pretty much any kind of common sensor (barometers, accelerometers,
gyroscopes, luminometers, etc.) as well as output devices and displays. You can buy a USB to I2C
adapter for a normal computer, but they cost a few hundred dollars. You can attach multiple devices to
the exposed bus on the pi.
UART, TXD & RXD: This is a traditional serial line; for decades most computers have had a port
for this and a port for parallel.1 Some pi oriented OS distros such as Raspbian by default boot with
this serial line active as a console, and you can plug the other end into another computer and use
some appropriate software to communicate with it. Note this interface does not have a clock line; the
two pins may be used for full duplex communication (simultaneous

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
PCM, CLK/DIN/DOUT/FS: PCM is is how uncompressed digital audio is encoded. The data
stream is serial, but interpreting this correctly is best done with a separate clock line (more lowest
level stuff).
SPI, MOSI/MISO/CE0/CE1: SPI is a serial bus protocol serving many of the same purposes as
I2C, but because there are more wires, it can operate in full duplex which makes it faster and more
flexible.
Raspberry Pi Terminal Commands
[sudo apt-get update] - Update Package Lists
[sudo apt-get upgrade] - Download and Install Updated Packages
[sudo raspi-config] - The Raspberry Pi Configuration Tool
[sudo apt-get clean] - Clean Old Package Files
[sudo reboot] - Restart your Raspberry Pi
[sudo halt] - Shut Down your Raspberry Pi

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:12
Aim:-CONNECT THE LED TO THE RASPBERRY PI

Components:
● Raspberry Pi
● One LED
● One 330 Ohm resistor
● Jumper wires
● Breadboard

Connect the components as shown in the wiring diagram below.

The 330 Ohm resistor is a current limiting resistor. Current limiting resistors should always be used
when connecting LEDs to the GPIO pins. If an LED is connected to a GPIO pin without a resistor, the
LED will draw too much current, which can damage the Raspberry Pi or burn out the LED. Here is
a nice calculator that will give you the value of a current limiting resistor to use for different
LEDs. After connecting the hardware components, the next step is to create a Python program to
switch on and off the LED. This program will make the LED turn on and off once every second and
output the status of the LED to the terminal. The first step is to create a Python file. To do this, open
the Raspberry Pi terminal and type nano LED.py. Then press Enter. This will create a file named
LED.py and open it in the Nano text editor. Copy and paste the Python code below into Nano and
save and closethe file.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY
GPIO.setup(14,GPIO.OUT)
# While loop
while True:
# set GPIO14 pin to HIGH
GPIO.output(14,GPIO.HIGH)
# show message to Terminal
print "LED is ON" # pause for one second time.sleep(1)
# set GPIO14 pin to HIGH
GPIO.output(14,GPIO.LOW)
# show message to Terminal print "LED is OFF" # pause for one second
time.sleep(1)
At the top of the program we import the RPi.GPIO and time libraries. The RPi.GPIO library
will allow us to control the GPIO pins. The time library contains the sleep() function that we will use to
make the LED pause for one second.
Next we initialize the GPIO object with GPIO.setmode(GPIO.BCM). We are using the BCM
pin numbering system in this program. We use .GPIO.setwarnings(False) to disable the
warnings and GPIO.setup(14,GPIO.OUT) is used to set GPIO14 as an output.
Now we need to change the on/off state of GPIO14 once every second. We do this with the on or off.
GPIO.output() function. The first parameter of this function is the GPIO pin that will be switched
high or low. We have the LED connected to GPIO14 in this circuit, so the first argument is 14. The
second parameter of the GPIO.output() function is the
voltage state of the GPIO pin. We can use either GPIO.HIGH or GPIO.LOW as an argument to turn
the pin
Each GPIO.output() function in the code above is followed by a sleep() function that causes
the pin to hold its voltage state for the time (in seconds) defined in the parameter of the function.
In this program we are switching the LED on and off once every second so the argument is 1.
You can change this value to make the LED blink on and off faster or slower. Run the Python
program above by entering the following into the Raspberry Pi’s terminal:

sudo python
LED.py
You should see the LED blinking on and off once every second.
You should also see a message in the terminal with “LED is ON“ when the LED is turned on,
and “LED is OFF” when the LED is turned off.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Humans and other animals emit radiation all the time. This is nothing to be concerned about, though, as the
type of radiation we emit is infrared radiation (IR), which is pretty harmless at the levels at which it is
emitted by humans. In fact, all objects at temperatures above absolute zero (-
273.15C) emit infrared radiation. A PIR sensor detects changes in the amount of infrared
radiation it receives. When there is a significant change in the amount of infrared radiation it detects, then
a pulse is triggered. This means that a PIR sensor can detect when a human (or any animal) moves in front
of it. The pulse emitted when a PIR detects motion needs to be amplified, and so it needs to be powered.
There are three pins on the PIR: they should be
labelled Vcc, Gnd, and Out. These labels are sometimes concealed beneath the Fresnel lens (the white cap),
which you can temporarily remove to see the pin labels.

As shown above, the Vcc pin needs to be attached to a 5V pin on the Raspberry Pi.

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

The Gnd pin on the PIR sensor can be attached to any ground pin on the Raspberry Pi.
Lastly, the Out pin needs to be connected to any of the GPIO pins.
Tuning a PIR
Most PIR sensors have two potentiometers on them. These can control the sensitivity of the
sensors, and also the period of time for which the PIR will signal when motion is detecte
Program:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
PIR_PIN = 7
GPIO.setup(PIR_PIN, GPIO.IN) try:
print “PIR Module Test (CTRL+C to exit)”
time.sleep(2) print “Ready” while True:
if GPIO.input(PIR_PIN):
print “Motion Detected!”
time.sleep(1)
except KeyboardInterrupt:
print “ Quit”
GPIO.cleanup()

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical:13
AIM:-13.1 Perform Experiment using Arduino UNO to detect Soil

Component:-

● Arduino

● LED

● Jumper wire

● Soil Moisture Sensor

Source code:-
// C++ code //
int moisture_data = 0; void setup()
{
pinMode(A0, INPUT); Serial.begin(9600);
pinMode(12, OUTPUT);
}
void loop()
{
moisture_data = analogRead(A0);
Serial.println(moisture_data);
if (moisture_data < 21) {
digitalWrite(12, HIGH);
} else
{ digitalWrite(12, LOW);
} delay(10); // Delay a little bit to improve simulation performance }

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Thinkercad Circuit:-

Circuit:-

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

Practical 13 (13.2)
AIM:- Case Study on IOT Pet Trackers
Customers:-
A new service allowing pet owners to monitor their pets’ locations with the help of wearable trackers
managed via a mobile app.
Challenge:-
The Customer wanted a big data solution that would allow the users to be always up-to-date about
their pets’ locations, receive real-time notifications about critical events, as well as access the reports
on their pet’s presence.
The solution was to enable media content transfer (audio, video and photos) so that pet owners could
speak to their pets or see where their pets were at a particular moment.
As the Customer expected that the number of users would be constantly growing, the solution was to
be easily scalable to store and process an increasing amount of data.
Solution:-

Hemal Patel 210570116026


MARWADI EDUCATION FOUNDATION’S GROUP OF INSTITUTIONS
FACULTY OF ENGINEERING, GAURIDAD CAMPUS.
DEPARTMENT OF INFORMATION TECHNOLOGY

How the solution works:-


• Multiple GPS-trackers transmit real-time data about pet location, as well as about events (e.g., low
battery, leaving a safe territory, etc.) to the message broker using the MQTT protocol. The
protocol was chosen because it helps to ensure a devicefriendly interface and save mobile phone
battery life.
• A stream data processor based on Apache Kafka streams data from multiple MQTT topics,
processes it in real time and checks data quality. Its component, Kafka Streams, makes push-
notifications possible and ensures a safe data transfer.
• A data aggregator implemented on Apache Spark processes data in memory, aggregates it by hour,
day, week and month and transfers to a data warehouse. For the latter, ScienceSoft’s team
suggested MongoDB technology because it allows storing the time series events as a single
document (by hour, by day, by week). Besides, its document-oriented design allows in-place updates
that lead to a major performance win.
• Operational database on PostgreSQL RDS stores users’ profiles, accounts and configuration data.
• RESTful services separate user interface from the data storage, as well as ensure reliability,
scalability and independency from the platform type or a programming language.

Results:-

The Customer received an easily scalable big data solution that allows processing 30,000+ events
per second from 1 million devices. As a result, the users can track their pet’s location in real time,
as well as send and receive photos, videos and voice messages. If a critical event happens (e.g., a
pet crossed a geo fence set by the pet owner or the pet’s wearable tracker turned “out of
communication,” etc.), the user receives push-notifications. Pet owners can also access hourly,
weekly or monthly reports set automatically, or manually tune the reporting period, if needed.
Technologies and Tools:-
Amazon Web Services, MQTT, Apache Kafka (stream data processor), Apache Spark (data
aggregator), MongoDB (data warehouse), PostgreSQL RDS (operational database), RESTful
web services.

Hemal Patel 210570116026

You might also like