21ec581 IOT Manual-Vtu-Belagavi
21ec581 IOT Manual-Vtu-Belagavi
21ec581 IOT Manual-Vtu-Belagavi
LABORATORY MANUAL
Course Internet of Things
Title :
Course Code 21EC581
:
Year / 3rd Year / 5th Semester
Semester
: Academic Odd Semester of 2023
Year : - 2024
Course In-Charge Mr. B N
: Choukimath
[email protected]
1
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Department of Electronics & Communication
Engineering
2
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
MQTT broker.
11 Write a program on Arduino/Raspberry Pi to subscribe to MQTT broker
for temperature data and print it.
12 To install MySQL database on Raspberry Pi and perform basic SQL
queries.
3
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
7. Applications: IoT applications are software programs or interfaces that enable users to
interact with IoT data and control devices. These can take the form of web-based
dashboards, mobile apps, or automation systems.
Applications of IoT:
IoT has a wide range of applications across various industries, including:
• Smart Homes: Home automation, security systems, and energy management.
• Smart Cities: Traffic management, waste management, and environmental monitoring.
• Industrial IoT (IIoT): Predictive maintenance, asset tracking, and process optimization.
• Healthcare: Remote patient monitoring and medical device connectivity.
• Agriculture: Precision farming and livestock monitoring.
• Logistics and Supply Chain: Inventory management and asset tracking.
4
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
Sensing Data: IoT devices are equipped with various sensors that capture data from the
physical world. These sensors can measure parameters like temperature, humidity,
pressure, light, motion, and more. Some devices also include cameras and microphones
for visual and audio data.
2. Data Transmission: IoT devices use communication technologies to transmit the data
they collect to other devices or central processing units. The choice of communication
method depends on factors such as range, power consumption, and bandwidth
requirements. Common communication technologies include Wi-Fi, cellular networks
(3G, 4G, 5G), Bluetooth, Zigbee, LoRa, and more.
3. Data Processing: The data collected by IoT devices is sent to central processing units,
such as cloud servers or edge computing platforms. Here, the data is processed and
analyzed. This processing can include data filtering, aggregation, storage, and, in many
cases, the application of machine learning or artificial intelligence algorithms to extract
meaningful insights from the data.
4. Storage: Processed data is often stored in databases or data lakes, making it accessible
for future analysis and historical reference.
5. Decision-Making: Based on the processed data, IoT systems can make informed
decisions. These decisions can range from simple actions like turning on a light when a
motion sensor is triggered to complex decisions in industrial IoT (IIoT), such as
predicting equipment maintenance needs.
6. User Interaction: IoT applications and interfaces enable users to interact with the
system. Users can monitor and control devices, view data through web-based dashboards
or mobile apps, and receive alerts or notifications. Some systems also allow voice control
or integration with other software applications.
7. Automation: IoT can enable automation based on pre-defined rules or data-driven
triggers. For example, a smart thermostat can automatically adjust the temperature based
on occupancy and ambient conditions.
5
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
8. Security and Privacy: Security measures are crucial in IoT to protect data, devices, and
the network from unauthorized access and potential vulnerabilities. This includes
encryption, authentication, and access control.
IoT Ecosystem: IoT systems are part of a larger ecosystem that includes:
• Devices/Things: These are the IoT devices and sensors that collect data and perform
actions.
• Connectivity: Communication networks and protocols that allow devices to transmit data
over the internet.
• Applications: Software interfaces that enable users and other systems to interact with IoT
data and devices
IoT Architecture
IoT (Internet of Things) architecture defines the structure and components of an IoT system,
outlining how devices, data, and processes interact. It provides a blueprint for building a
functional and secure IoT ecosystem. Here's an explanation of the typical architecture of IoT:
1. Devices/Things: These are the physical objects or devices embedded with sensors,
actuators, and communication modules.
IoT devices can include a wide range of objects, from environmental sensors to industrial
machinery and wearable devices.
They collect data from their surroundings or perform actions based on commands received.
2. Sensors and Actuators: Sensors are responsible for collecting data from the physical
world. They measure variables such as temperature, humidity, pressure, motion, light, and
more.
Actuators carry out actions based on commands received from the network or other devices.
Examples include turning on lights or adjusting thermostat settings.
Common IoT communication technologies include Wi-Fi, cellular networks (3G, 4G, 5G),
Bluetooth, Zigbee, LoRa, and Ethernet.
6
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Data can be transmitted in real-time or stored locally for later transmission, depending on the use
case.
5. Data Processing: Processed data is essential for extracting valuable insights from the collected
information. Data processing can involve filtering, aggregation, and applying machine learning
algorithms.
Data processing can occur in the cloud (centralized) or at the edge (closer to the device),
depending on the architecture and requirements.
6. Cloud/Edge Computing: The data is sent to cloud platforms or edge computing environments
for further processing, storage, and analysis.
Cloud computing offers scalability and accessibility from anywhere, while edge computing
reduces latency and allows for real-time decision-making.
7. Applications: IoT applications are software programs or interfaces that enable users to interact
with IoT data and control devices.
These applications can take the form of web-based dashboards, mobile apps, or automation
systems.
8. User Interaction: End-users interact with the IoT system through web interfaces, mobile apps,
voice commands, or other interfaces.
Users can monitor data, control devices, and receive alerts or notifications.
9. Security and Privacy: Security measures are crucial to protect against data breaches,
unauthorized access, and device tampering. IoT security includes encryption, authentication,
access control, and regular updates to address vulnerabilities.
10. External Integration: IoT systems may integrate with other systems, such as enterprise
resource planning (ERP) systems, customer relationship management (CRM) systems, or third-
party APIs for extended functionality and data sharing.
7
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
IoT Protocols
IoT (Internet of Things) protocols are communication standards that enable devices and
systems in the IoT ecosystem to exchange data reliably and efficiently. These protocols play a
crucial role in ensuring that devices from different manufacturers can communicate and work
together seamlessly. Here are some common IoT protocols:
MQTT (Message Queuing Telemetry Transport):
• MQTT is a lightweight and efficient publish-subscribe messaging protocol.
• It is well-suited for IoT due to its low overhead, making it ideal for low-power and low-
bandwidth devices.
• Devices can publish messages to topics, and other devices can subscribe to these topics to
receive data.
HTTP (Hypertext Transfer Protocol) and HTTPS (HTTP Secure):
• HTTP is a standard protocol for transmitting data over the web.
• IoT devices can communicate with web servers and cloud services using HTTP or its
secure version, HTTPS.
• It's commonly used for interactions between IoT devices and cloud platforms or web
applications.
CoAP (Constrained Application Protocol):
• CoAP is a lightweight, UDP-based protocol designed for constrained IoT devices.
• It is suitable for low-power, low-data-rate applications, and it is often used in resource-
constrained environments.
AMQP (Advanced Message Queuing Protocol):
• AMQP is a robust and reliable messaging protocol that ensures guaranteed message
delivery.
• It is suitable for IoT applications that require reliable communication, such as industrial
and enterprise IoT use cases.
DDS (Data Distribution Service):
• DDS is a protocol for real-time, data-centric communication between IoT devices and
systems.
• It is commonly used in industrial and mission-critical applications where low latency and
high reliability are essential.
Bluetooth and Bluetooth Low Energy (BLE):
• Bluetooth is a wireless communication protocol often used in short-range IoT
applications.
• BLE, a low-power variant of Bluetooth, is well-suited for battery-operated IoT devices
and smartphone connectivity.
LoRaWAN (Long Range Wide Area Network):
• LoRaWAN is designed for long-range, low-power communication.
• It is suitable for IoT applications like remote environmental monitoring and asset
tracking.
Zigbee:
• Zigbee is a low-power, low-data-rate wireless communication protocol.
• It is commonly used in home automation and industrial IoT applications.
Modbus:
• Modbus is a communication protocol widely used in industrial automation.
• It is suitable for connecting industrial devices and sensors to control systems and SCADA
(Supervisory Control and Data Acquisition) systems.
DDS (Device Device Server):
• DDS is a lightweight protocol that facilitates peer-to-peer communication between IoT
devices.
• It is suitable for applications where low latency and efficient data exchange are critical.
8
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
IoT Software
Embedded systems have less storage and processing power, their language needs are different.
The most commonly used operating systems for such embedded systems are Linux or UNIX-like
OSs like Ubuntu Core or Android.
IoT software encompasses a wide range of software and programming languages from general-
purpose languages like C++ and Java to embedded-specific choices like Google ‘s Go language
or Parasail.
9
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Introduction to Node MCU ESP8266 module
The NodeMCU (Node Micro-Controller Unit) is an open-source software and hardware
development environment built around an inexpensive System-on-a-Chip (SoC) called the
ESP8266. The ESP8266, designed and manufactured by Espressif Systems, contains the crucial
elements of a computer: CPU, RAM, networking (WiFi), and even a modern operating system
and SDK. That makes it an excellent choice for Internet of Things (IoT) projects of all kinds.
10
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
• Operating Voltage: 3.3V
11
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
• Input Voltage: 7-12V
• Digital I/O Pins (DIO): 16
• Analog Input Pins (ADC): 1
• UARTs: 1
• SPIs: 1
• I2Cs: 1
• Flash Memory: 4 MB
• SRAM: 64 KB
• Clock Speed: 80 MHz
• USB-TTL based on CP2102 is included onboard, Enabling Plug n Play
• PCB Antenna
• Small Sized module to fit smartly inside your IoT projects
PIN CODE
A0 A0
GPIO 16 D0
GPIO 5 D1
GPIO 4 D2
GPIO 0 D3
GPIO 2 D4
GPIO14 D5
GPIO 12 D6
GPIO 13 D7
GPIO 15 D8
GPIO 9 SD2
GPIO10 SD3
GPIO3 Rx
GPIO1 Tx
12
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Steps to install Node MCU
1. Download and install Arduino IDE
2. Open the IDE and follow this path. File -> preferences -> Additional board
manager URL.
3. Now paste the URL in the dialog box :
http://arduino.esp8266.com/stable/package_esp8266com_index.json
4. Then, click the “OK” button.
5. Now follow this path. Tools -> Board -> Boards Manager
6. Search for ESP8266 and install the “ESP8266 by ESP8266 Community“
7. After this, restart your Arduino IDE.
8. Then, go to Tools > Board and check that you have ESP8266 boards available.
9. First, make sure you have an ESP8266 selected in Tools > Board. If you’re using the
ESP8266-12E NodeMCU Kit as shown in previous pictures, select the NodeMCU 1.0
(ESP-12E Module) option.
Apparatus Required:
Sl No Components Quantity
1 Node MCU ESP 8266 1
13
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
2 LED or Buzzer 1
3 USB cable for NODE MCU 1
4 Connecting wires 1
Circuit Diagram:
Pin Connection
NODE MCU LED
Theory:
GND Cathode
D0 Anode LED,
which
stands for Light Emitting Diode, is a semiconductor device that emits light when an electric
current passes through it. LEDs are widely used for various applications due to their energy
efficiency, long lifespan, and versatility. Here are some key points about LEDs.
Basic Operation: LEDs work on the principle of electroluminescence. When electrons and holes
(positive counterparts of electrons) recombine within the semiconductor material, they release
energy in the form of photons, which produces light.
Program
#define ledDO //inbuilt LED Pin void setup() {
pinMode(led, OUTPUT);
}
void loop() { digitalWrite(led, HIGH); delay(1000)
}
14
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No: 1.b
To interface Push button with Arduino and write a program to ‘turn ON’ LED when push
button is pressed or at sensor detection.
Component Required:
Sl No Components Quantity
1 NODE MCU ESP8266 1
2 LED or Buzzer 1
3 USB cable for NODE MCU 1
4 Connecting wires --
5 Push Button 1
6 Bread Board 1
7 Resistance (Any value above 1KΩ) 1
Circuit Diagram
15
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Program
#define buttonpin D3
#define led D0
int buttonstate=0;
void setup() {
pinMode(buttonpin, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
buttonstate=digitalRead(buttonpin);
Serial.print(“buttonstate status is:”);
Serial.println(buttonstate);
if(buttonstate == HIGH)
digitalWrite(led, HIGH);
else
digitalWrite(led, LOW);
delay(500);
}
Result: Turn ON and OFF of LED automatically as well as controlled Switching operation of
LED by using push button done using Arduino UNO.
16
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No.: 2.a
To interface DHT11 sensor with Arduino and write a program to print temperature and
humidity readings
Component Required:
Sl No Components Quantity
1 NODE MCU ESP8266 1
2 DHT11 Temperature sensor 1
3 USB cable for NODE MCU 1
4 Connecting wires --
17
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Circuit Diagram
Theory
The DHT11 sensor is a low-cost digital temperature and humidity sensor. It operates at
a voltage of 3.3V to 5V and can measure temperatures ranging
from 0°C to 50°C with an accuracy of ±2°C. Additionally, it can
measure relative humidity ranging from 20% to 90% with an
accuracy of ±5% .
The humidity sensing capacitor has two electrodes with a moisture
holding substrate as a dielectric between them. Change in the
capacitance value occurs with the change in humidity levels. The IC measure, process this
changed resistance values and change them into digital form.For measuring temperature this
sensor uses a Negative Temperature coefficient thermistor, which causes a decrease in its
resistance value with increase in temperature.
DHT11 Specifications
• Operating Voltage: 3.5V to 5.5V
• Operating current: 0.3mA (measuring) 60uA (standby)
• Output: Serial data
• Temperature Range: 0°C to 50°C
• Humidity Range: 20% to 90%
• Resolution: Temperature and Humidity both are 16-bit
• Accuracy: ±1°C and ±1%
Libraries are a collection of code that makes it easy for you to connect to a sensor, display,
module, etc. For example, the LiquidCrystal library makes it easy to talk to character LCD
18
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
displays.
There are thousands of libraries available for download directly through the Arduino IDE, and
you can find all of them listed at the Arduino Library Reference.
Steps to Add DHT11 Sensor Library
1) Open your Arduino IDE and go to Sketch > Include Library > Manage
Libraries. The Library Manager should open.
2) Search DHT then find the DHT Sensor library by Adafruit
3) Click install button to install library
4) If ask click on install all button to install library dependencies
Program
#include <DHT.h>
#define DHTPIN D2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float humidity;
float temp;
void setup() {
Serial.begin(9600);
dht.begin();
void loop() {
humidity= dht.readHumidity();
Serial.print("Humidity = ");
19
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Serial.print(humidity, 2);
Serial.println (" %");
temp=dht.readTemperature();
Serial.print("Temperature = ");
Serial.println(temp,2);
delay(500);
Component Required:
Sl No Components Quantity
1 NODE MCU ESP8266 1
2 DHT11 Temperature sensor 1
3 USB cable for NODE MCU 1
4 Connecting wires --
5 OLED Display 128×64, SSD1306 I2C 1
Circuit Diagram
20
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
NODE MCU ESP 8266 DHT 11/22 OLED Pins
3.3V VCC VCC
GND GND GND
D5 DATA --
D2 -- SDA
D3 -- SCK
Theory
Specification of OLED
Terminals 4
Pixels 128×64
VCC 3.3V-5V
21
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
through an I2C interface. It has a display resolution of 128×64 pixels, and the SSD1306 is the
controller chip that manages the display. It’s commonly used for display purposes in various
electronics projects and is compact low power, and easily readable in low light conditions.
To control the OLED display you need the adafruit_SSD1306.h and the adafruit_GFX.h libraries.
Follow the next instructions to install those libraries.
1. Open your Arduino IDE and go to Sketch > Include Library > Manage
Libraries. The Library Manager should open.
2. Type “SSD1306” in the search box and install the SSD1306 library from Adafruit.
3. Click install button to install library
4. If ask click on install all button to install library dependencies
5. After installing the SSD1306 library from Adafruit, type “GFX” in the search box and
install the library.
6. If ask click on install all button to install library dependencies
7. After installing the libraries, restart your Arduino IDE
8. Find the Adafruit_SSD1306.h file in the Arduino Library folder. Generally, it is
located at Documents\Arduino\libraries on windows systems. There you will find the
Adafruit_SSD1306.h file inside the Adafruit_SSD1306 folder.
Program
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h> // Include DHT library code
#define DHTPIN D5
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup(void)
{
Serial.begin(9600);
delay(1000);
// set I2C pins [SDA = GPIO4 (D2), SCL = GPIO0 (D3)], default clock is 100kHz
Wire.begin(4, 0);
22
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
// by default, we'll generate the high voltage from the 3.3v line internally!
(neat!)
// initialize with the I2C addr 0x3D (for the 128x64)
// init done
display.begin(SSD1306_SWITCHCAPVCC, 0x3D);
dht.begin();
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE, BLACK);
display.setCursor(10, 5);
display.print("DHT11 TEMPERATURE:");
display.setCursor(19, 37);
display.print("DHT11 HUMIDITY:");
display.display();
}
void loop()
{
// Read humidity
byte RH = dht.readHumidity();
//Read temperature in degree Celsius
byte Temp = dht.readTemperature();
delay(1000);
Result: Successfully interfaced with DHT11 and OLED Display along NODE MCU Esp266 and
measured and displayed temperature and humidity readings.
23
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No: 3
To interface motor using relay with Arduino and write a program to ‘turn ON’ motor when
push button is pressed.
Component Required:
Sl No Components Quantity
1 NOD MCU ESP 8266 1
24
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
2 Relay 2 Channel 1
3 USB cable for NODE MCU 1
4 Connecting wires --
5 Push Button 1
6 Power Supply 1
7 DC motor 1
Circuit Diagram
Theory
Relay: A relay module is an electrical switch that is operated by an electromagnet. 2-Channel
5V Relay Module is a relay interface board,
it can be controlled directly by a wide range
of microcontrollers such as Arduino, AVR,
PIC, ARM and so on. It uses a low-level
triggered control signal (3.3-5VDC) to control
the relay. Triggering the relay operates the
normally open or normally closed contacts. It is an automatic switch to control a high-current
circuit with a low-current signal.
Dual-Channel Relay Module Specifications
Supply voltage – 3.75V to 6V
Trigger current – 5mA
Current when relay is active - ~70mA (single), ~140mA
(both) Relay maximum contact voltage – 250VAC, 30VDC
Relay maximum current – 10A
DC Motor: A DC motor is a machine which converts DC electrical energy into mechanical
energy. DC motors normally have just two leads, one positive and one negative. If you connect
these two leads directly to a battery, the motor will rotate. If you switch the leads, the motor
will rotate in the opposite direction.
24
………………………………………………… ………………………………………… ………
ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
DC Motor Specification
Operating Voltage(V): 12
Rated Speed (RPM): 200
Rated Torque(kg-cm): 1.5
Load Current (A): 0.3
No Load Current (A): 0.06
Program
#define buttonpin D3
#define relay D0
int buttonstate=0;
void setup() {
pinMode(buttonpin, INPUT);
pinMode(relay, OUTPUT);
Serial.begin(9600);
}
void loop() {
buttonstate=digitalRead(buttonpin);
Serial.print("buttonstate status is:");
Serial.println(buttonstate);
if(buttonstate == HIGH)
digitalWrite(relay, HIGH);
else
digitalWrite(relay, LOW);
delay(500);
}
Result: Completed ON/OFF of DC motor using relay and push button with Arduino.
Experiment No: 4
To interface Bluetooth with Arduino and write a program to turn LED ON/OFF when '1'/'0' is
received from smartphone using Bluetooth.
Component Required:
Sl No Components Quantity
1 Node MCU ESP8266 1
25
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
2 Bluetooth Module HC-05 1
3 USB cable for NODE MCU 1
4 Connecting wires --
5 LED 1
6 Smart Phone with RC Controlled Bluetooth app 1
Circuit Diagram
Theory
Bluetooth is a low-power wireless connectivity technology used to stream audio, transfer data and broadcast i
Operating frequency is: 2.4 to 2.485 GHz(UHF)
The HC-05 is a popular module which can add two-way (full-duplex) wireless functionality. You
can use this module to communicate between two microcontrollers like Arduino or communicate with any de
communicates with the help of USART at 9600 baud rate hence it is easy to interface with any
26
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
microcontroller that supports USART. So if you looking for a Wireless module that
could
transfer data from your computer or mobile phone to microcontroller or vice versa then
Enable / Key This pin is used to toggle between Data Mode (set low) and AT command
mode (set high). By default, it is in Data mode
TX – Transmits Serial Data. Everything received via Bluetooth will be given out
Transmitter by this pin as serial data.
RX – Receiver Receive Serial Data. Every serial data given to this pin will be broadcasted
via Bluetooth
State The state pin is connected to on board LED, it can be used as feedback to
check if Bluetooth is working properly.
2. Pair your phone with HC-05. for doing this go to Settings->Bluetooth->Scan device->select
HC-05 as KLSX (Check backside of module X =0 1 2 3 4 5 6….example KLS1 )and pair it.
Pass code to pair is ‘1234’.
3. Now, open the app and connect the HC-05 module in terminal mode.
27
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
6. Output: If you send ‘0’ it will make to LED ON and if you send ‘1’ it will make the
LED OFF. The Arduino code also sends the current state of LED also.
Program
#define led D4
char data;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop() {
if(Serial.available()>0);{
data=Serial.read();
}
if(data =='0'){
Serial.println("LED OFF");
digitalWrite(led, LOW);
}
if(data=='1'){
Serial.println("LED ON");
digitalWrite(led, HIGH);
}
delay(300);
}
Result: A Arduino program written and verified to turn LED ON/OFF when '1'/'0' is received
from smartphone using Bluetooth.
Experiment No: 5
To interface Bluetooth with Arduino and write a program to send sensor data to smartphone
using Bluetooth.
Component Required:
Sl No Components Quantity
1 NODE MCU ESP 8266 1
2 Bluetooth Module 1
28
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
3 USB cable A to B 1
4 Connecting wires 1
5 Smart Phone with RC Controlled Bluetooth app 1
Circuit Diagram
Theory
The HC-05 is a popular module which can add two-way (full-duplex) wireless functionality. You can use this
Phone or Laptop. There are many android applications that are already available which makes this process a l
baud rate hence it is easy to interface with any microcontroller that supports USART. So if you
looking for a Wireless module that could transfer data from your computer or mobile phone to microcontroller
29
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
• Operating Current: 30mA
• Range: <100m
• Works with Serial communication (USART) and TTL compatible
• Follows IEEE 802.15.1 standardized protocol
• Uses Frequency-Hopping Spread spectrum (FHSS)
• Can operate in Master, Slave or Master/Slave mode
• Can be easily interfaced with Laptop or Mobile phones with Bluetooth
• Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
Program
#include <DHT.h>
#define DHTPIN D4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float humidity;
float temp;
char data;
void setup() {
Serial.begin(9600);
dht.begin();
void loop() {
data =temp;
humidity= dht.readHumidity();
Serial.print("Humidity = ");
Serial.print(humidity, 2);
Serial.println (" %");
temp=dht.readTemperature();
Serial.print("Temperature = ");
Serial.println(temp,2);
delay(500);
Result: Successfully Interfaced with Bluetooth and sent sensor DHT11 Temperature data to
smartphone using Bluetooth.
30
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No: 6
Write a program on Arduino to upload temperature and humidity data to thingspeak cloud.
Component Required:
Sl No Components Quantity
1 ESP8266 12E Node MCU Kit 1
2 Temperature sensor DHT11 1
3 USB cable 1
4 Connecting wires --
5 Breadboard 1
31
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Circuit diagram
NODE MCU DHT11
GND GND
3V3 VCC
D5 DATA
Theory
ThingSpeak is an open-source Internet of Things (IoT) application and API that allows users
to collect and store sensor data in the cloud and perform analytics on that data. It allows users
to create “channels” to collect data from multiple sensors, and also has built-in support for
visualizing and analyzing the data. ThingSpeak can be used for a variety of applications, such
as monitoring environmental conditions, tracking the location of assets, and controlling
devices remotely. It is available for free and also has paid subscription plans for additional
features and support. The device that sends the data must be configured with the correct
channel information, such as the channel ID and write API key.
32
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Steps to Connect
Step 1: ThingSpeak Setup for Temperature and Humidity Monitoring
a. For creating your channel on Thingspeak, you first need to Sign up on Thingspeak.
b. In case if you already have an account on Thingspeak, just sign in using your id and
password.
b. After clicking on “New Channel”, enter the Name and Description of the data you want
to upload on this channel.
c. Enter the name of your data ‘Temperature’ in Field1 and ‘Humidity’ in Field2.
33
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Step 3: API Key
a. To send data to Thingspeak, we need a unique API key, which we will use later in our
code to upload our sensor data to Thingspeak Website.
b. Click on “API Keys” button to get your unique API key for uploading your sensor data.
c. Now copy your “Write API Key”. We will use this API key in our code.
Code
#include <DHT.h>
#include <ESP8266WiFi.h>
#define DHTPIN D1
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float humidity;
float temp;
void setup() {
Serial.begin(9600);
dht.begin();
WiFi.begin(ssid, password);
Serial.print("Wifi connecting to ...SSID:");
Serial.println(ssid);
Serial.print("connecting");
while(WiFi.status()!=WL_CONNECTED){
delay(500);
Serial.print(".");
}
void loop() {
temp=dht.readTemperature();
humidity= dht.readHumidity();
34
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
if(client.connect(server, 80)){
Serial.print("Temperature = ");
Serial.println(temp,2);
Serial.print("Humidity = ");
Serial.print(humidity, 2);
Serial.println (" %");
Serial.println("Data sent to ThingSpeak");
}
client.stop();
Serial.println("Waiting for 15sec...");
delay(15000); //ThingSpeak needs min. 15sec delay between each data post
}
Result : Program written on Arduino to upload temperature and humidity data to thingspeak
cloud.
Experiment No: 7
Write a program on Arduino to retrieve temperature and humidity data from Thingspeak
cloud.
35
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Component Required:
Sl No Components Quantity
1 Node MCU 1
2 Temperature sensor DHT11 1
3 USB cable 1
4 Connecting wires --
5 Breadboard 1
Circuit diagram
NODE MCU DHT11
GND GND
3V3 VCC
D5 DATA
Theory
36
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
To read values from Thingspeak we need to upload some data in real time, to do this, first
upload temperature and humidity data to Thingspeak using previous experiment using
NodeMCU 8266,
Code
37
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
#include <ThingSpeak.h>
#include <ESP8266WiFi.h>
//---------Channel Details--------------//
// enter your Channel ID
unsigned long counterChannelNumber = 2307603;
// enter your Read API Key
const char * myCounterReadAPIKey = "GVA4D3FK3A4VG36C";
const int FieldNumber1 = 1; // The field you wish to
read const int FieldNumber2 = 2; // The field you wish
to read
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
while(WiFi.status()!=WL_CONNECTED){
delay(500);
Serial.println("Wifi connecting..........");
}
Serial.println("Wifi connected successfully ");
}
void loop(){
// Channel 1 //
long temp = ThingSpeak.readLongField(counterChannelNumber, FieldNumber1,
myCounterReadAPIKey);
int statusCode = 0;
statusCode = ThingSpeak.getLastReadStatus();
if (statusCode == 200)
{
Serial.print("Temperature: ");
Serial.println(temp);
}
else
{
Serial.println("Unable to read channel / No internet connection");
}
delay(100);
// Channel 2 //
long humidity = ThingSpeak.readLongField(counterChannelNumber, FieldNumber2,
38
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
myCounterReadAPIKey);
statusCode = ThingSpeak.getLastReadStatus();
if (statusCode == 200)
{
Serial.print("Humidity: ");
Serial.println(humidity);
}
else
{
Serial.println("Unable to read channel / No internet connection");
}
delay(100);
// End of Channel 2 //
}
Result : Program on Arduino written to retrieve temperature and humidity data from Thingspeak
cloud.
39
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No: 8
Write a program to create UDP server on Arduino and respond with humidity data to UDP
client when requested.
Component Required:
Sl No Components Quantity
1 Node MCU ESP 8266 1
2 Temperature sensor DHT11 1
3 USB cable 1
4 Connecting wires --
6 Breadboard 1
Circuit Diagram
Theory
40
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
User Datagram Protocol (UDP) is a network communication protocol that operates at the
transport layer of the Internet Protocol (IP) suite. It is a connectionless and lightweight
protocol designed for fast and efficient data transmission, but it does not provide the same
level of reliability and error-checking as Transmission Control Protocol (TCP).
UDP is a lightweight, connectionless, and fast protocol that prioritizes low-latency data
transmission over reliability. It is suitable for applications where occasional packet loss or out-
of-order delivery can be tolerated, and real-time communication is essential. However, for
applications that require guaranteed delivery and error recovery, TCP is a better choice.
41
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Program
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <DHT.h>
#define DHTPIN D4
#define DHTTYPE DHT11
float temp;
char packet[1024];
const char* ssid = "choukimathwifi";
const char* password ="12345678";
const char* udpServerIP = "192.168.0.245"; // Replace <IP> with the actual
IP address of your computer
unsigned int port = 9000;
void setup() {
Serial.begin(9600);
dht.begin();
WiFi.begin(ssid, password);
void loop() {
Udp.beginPacket(udpServerIP, port);
42
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Udp.endPacket();
delay(500);
}
UDP_IP = "192.168.0.245"
UDP_PORT = 9000
while True:
received_data, addr = sock.recvfrom(1024)
print(received_data)
Procedure
To run Python code for UDP Server
Result: Python program used to create UDP server and Arduino program written to respond
with humidity data to UDP client when requested.
43
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No: 9
Write a program to create TCP server on Arduino and respond with Temperature data to TCP
client when requested.
Component Required:
Sl No Components Quantity
1 Node MCU ESP 8266 1
2 Temperature sensor DHT11 1
3 USB cable 1
4 Connecting wires --
6 Breadboard 1
Circuit Diagram
Theory
The Transmission Control Protocol (TCP) is a widely used protocol in the Internet Protocol
(IP) suite. It is a connection-oriented protocol that provides reliable, ordered, and error-
checked delivery of data between applications running on hosts1. In IoT, TCP is used to
establish connections between clients and servers, allowing devices to interact with each other
and resolve common problems.
A TCP server is a program that listens for incoming connections from clients and responds to
their requests. When a client connects to the server, it sends a request for data. The server then
sends back the requested data to the client. In IoT, TCP servers are used to provide access to
data from sensors and other devices
44
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
In the context of the Internet of Things (IoT), a TCP server refers to a network service running
on a device or gateway that listens for incoming TCP connections from other IoT devices or
clients
In the context of IoT, TCP (Transmission Control Protocol) and UDP (User Datagram
Protocol) are two protocols of the Transport Layer that are used to transmit data between
devices over a network.
TCP is a connection-oriented protocol that provides reliable delivery services by keeping track
of the segments being transmitted or received by assigning numbers to every single one of
them. It also implements an error control mechanism for reliable data transfer and takes into
account the level of congestion in the network .
On the other hand, UDP is a connectionless protocol that is used for simple request-response
communication when the size of data is less and hence there is lesser concern about flow and
error control. It is a suitable protocol for multicasting as UDP supports packet switching.
Normally used for real-time applications which cannot tolerate uneven delays between sections
of a received message.
In summary, TCP is more reliable but slower than UDP, while UDP is faster but less reliable
than TCP
Program
#include <ESP8266WiFi.h>
#include <DHT.h>
#define DHTPIN D4
#define DHTTYPE DHT11
float temp;
const char* ssid = "choukimathwifi";
const char* password = "12345678";
const char* tcpServerIP = "192.168.1.6"; // Replace <IP> with the actual
IP address of your computer
unsigned int port = 80; //most commonly used protocol port in
void setup() {
Serial.begin(9600);
dht.begin();
WiFi.begin(ssid, password);
45
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println("Connecting to WiFi...");
}
Serial.println("WiFi connected successfully");
}
void loop() {
client.connect(tcpServerIP, port);
// Read temperature from DHT sensor and convert it to a string
temp = dht.readTemperature();
// Confirm value in serial monitor
Serial.print("Temperature in degree Celsius: ");
Serial.println(temp);
mysock.bind((TCP_IP, TCP_PORT))
data = received_data.recv(1024).decode()
#we are extracting 1024 bytes of data at a time.
#(One can use one’s convenient number here).
print(data)
Procedure
To run Python code for UDP Server
46
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Result: Python Program used to create TCP server and Arduino program used to respond with
Temperature data to TCP client when requested is written and verified.
Experiment No: 10
Write a program on Arduino to publish temperature data to MQTT broker.
Component Required:
Sl No Components Quantity
1 Node MCU ESP 8266 1
2 Temperature sensor DHT11 1
3 USB cable 1
4 Connecting wires --
6 Breadboard 1
Circuit Diagram
Theory
MQTT stands for Message Queuing Telemetry Transport. MQTT is a simple messaging
protocol, designed for constrained devices with low bandwidth. So, it’s the perfect solution to
47
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
exchange data between multiple IoT devices.
Devices publish messages on a specific topic. All devices that are subscribed to that topic
receive the message.
In a publish and subscribe system, a device can
publish a message on a topic, or it can be subscribed
to a particular topic to receive messages
The MQTT broker is responsible for receiving all
messages, filtering the messages, deciding who is
interested in them, and then publishing the message
to all subscribed clients.
The MQTT broker is the central point of communication, and it is in charge of dispatching all
messages between the senders and the rightful receivers. A client is any device that connects to
the broker and can publish or subscribe to topics to access the information. A topic contains
the routing information for the broker. Each client that wants to send messages publishes them
to a certain topic, and each client that wants to receive messages subscribes to a certain topic.
The broker delivers all messages with the matching topic to the appropriate clients.
ThingSpeak™ has an MQTT broker at the URL mqtt3.thingspeak.com and port 1883. The
ThingSpeak broker supports both MQTT publish and MQTT subscribe
In this Experiment, we will create a setup that allows a NODE MCUESP8266 board to send
data to another MCU ESP 8266, using MQTT (Message Queuing Telemetry Transport). The
sender device, simply publishes a message to a broker service, which then can be subscribed to
by a receiver device.
The data we will send consists of readings from a DHT11 sensor, including temperature and
humidity data, from a NODE MCU ESP8266 to another NODE MCU. This experiment
utilizes the broker test.mosquitto.org, an open-source service that is free for anyone to use.
Program
#include <ESP8266WiFi.h>
48
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
#include <ArduinoMqttClient.h>
#include <DHT.h>
#include <DHT_U.h>
WiFiClient wifiClient;
MqttClient mqttClient(wifiClient);
#define DHTPIN D4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float humidity;
float temp;
void setup() {
Serial.begin(9600);
dht.begin();
Serial.println();
Serial.print("Wifi connecting to..........");
Serial.print(ssid);
WiFi.begin(ssid, password);
while(WiFi.status()!=WL_CONNECTED){
Serial.println("connecting.............");
delay(500);
}
Serial.println("Wifi connected successfully");
if (!mqttClient.connect(broker, port)) {
Serial.print("MQTT connection failed! Error code = ");
Serial.println(mqttClient.connectError());
while (1);
49
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
}
Serial.println("You're connected to the MQTT broker!");
void loop() {
mqttClient.poll();
humidity= dht.readHumidity();
Serial.print("Humidity = ");
Serial.print(humidity, 2);
Serial.println (" %");
temp=dht.readTemperature();
Serial.print("Temperature = ");
Serial.println(temp,2);
delay(500);
mqttClient.beginMessage(topicT);
mqttClient.print(temp);
mqttClient.endMessage();
mqttClient.beginMessage(topicH);
mqttClient.print(humidity);
mqttClient.endMessage();
Serial.println();
}
delay(1000);
}
50
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No: 11
Write a program on Arduino to subscribe to MQTT broker for temperature data and print it.
Component Required:
Sl No Components Quantity
1 Node MCU ESP 8266 1
2 Temperature sensor DHT11 1
3 USB cable 1
4 Connecting wires --
6 Breadboard 1
Circuit Diagram
Theory
The MQTT protocol was first introduced in 1999, as a light-
weight publish and subscribe system. It is particularly useful for devices with low-bandwidth,
where we can send commands, sensor values or messages over the Internet with little effort.
51
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
A
basic explanation on how it works is that a node, for example and Arduino with a Wi-Fi
module, sends a payload to a broker. A broker is a kind of "middle-point" server, that
essentially stores payloads sent to it, in something called topics. A topic, is a definition of what
type of data it contains, it could for example be "humidity" or " temperature". Another node
can then subscribe to this information, from the broker, and voilà, data has been moved from
Node A to Node B over the Internet.
One way to protect the data is for example, by using a token, something that is quite common
when working with various IoT services. For instance, if we are publishing something to a
broker, anyone that has the URL, e.g. randombroker.org/randomtopic can subscribe to it.
But if we add a unique token on both sides, they wouldn't be able to. These tokens could for
example be Z6ACuLwr5T, which is not exactly something easy to guess.
Program
#include <ESP8266WiFi.h>
#include <ArduinoMqttClient.h>
52
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
const char broker[] = "test.mosquitto.org";
int port = 1883;
const char topicT[] = "Temperature Value is ";
const char topicH[] = "Humidity Value is";
WiFiClient wifiClient;
MqttClient mqttClient(wifiClient);
void setup() {
Serial.begin(9600);
while(WiFi.status()!=WL_CONNECTED){
Serial.println("connecting.............");
delay(500);
}
Serial.println("Wifi connected successfully");
if (!mqttClient.connect(broker, port)) {
Serial.print("MQTT connection failed! Error code = ");
Serial.println(mqttClient.connectError());
while (1);
}
Serial.println("You're connected to the MQTT broker!");
Serial.println();
// subscribe to a topic
mqttClient.subscribe(topicT);
mqttClient.subscribe(topicH);
void loop() {
mqttClient.poll();
delay(1000);
}
void onMqttMessage(int messageSize) {
// we received a message, print out the topic and contents
Serial.println("Received a message with topic '");
Serial.print(mqttClient.messageTopic());
Serial.print("', length ");
Serial.print(messageSize);
Serial.println(" bytes:");
Result: Program written on Arduino to subscribe to MQTT broker to print temperature and
humidity data.
54
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Experiment No: 12
To install MySQL database on Raspberry Pi and perform basic SQL queries
Component Required:
Sl No Components Quantity
1 Raspberry Pi 4B 1
2 5 V DC adapter 1
3 Micro SD card (at least 16GB) 1
4 SD card reader 1
6 Monitor* 1
7 HDMI cable / VGA to mini-HDMI cable /HDMI to VGA convert 1
(among any one based on your system requirement)*
8 Keyboard 1
9 Mouse 1
10 Ethernet Cable 1
Theory
Raspberry Pi (often called Rpi) is a computationally powerful mini-computer developed by the
Raspberry Pi Foundation along with Broadcom. It has almost all the useful peripherals like
USB, Ethernet, WiFi, HDMI,
Audio Jack, memory card
interface, external display
connector, external camera
connector and GPIO pins for
controlling external hardware.
There are many versions of
Raspberry Pi ranging from
Raspberry Pi Zero to Raspberry
Pi 4. The peripherals and specifications of Raspberry Pi differ a lot from model to model. So,
purchase a Raspberry Pi according to your use case.
Specifications
Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @
1.8GHz 1GB, 2GB, 4GB or 8GB LPDDR4-3200 SDRAM (depending on
model)
55
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0,
BLE Gigabit Ethernet
2 USB 3.0 ports; 2 USB 2.0 ports.
Raspberry Pi standard 40 pin GPIO header (fully backwards compatible with previous boards)
2 × micro-HDMI® ports (up to 4kp60 supported)
2-lane MIPI DSI display port
2-lane MIPI CSI camera port
4-pole stereo audio and composite video port
H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
OpenGL ES 3.1, Vulkan 1.0
Micro-SD card slot for loading operating system and data storage
5V DC via USB-C connector (minimum 3A*)
5V DC via GPIO header (minimum 3A*)
Power over Ethernet (PoE) enabled (requires separate PoE
HAT) Operating temperature: 0 – 50 degrees C ambient
SQL software : MariaDB is an open-source database derived from MySQL which is created
when Oracle bought Sun (and so MySQL) a few years ago. It aims to be a drop-in alternative
to MySQL, while remaining free, open source, and community supported.
MariaDB is an alternative to MySQL that works on Raspberry Pi. MySQL is difficult to install
on Raspberry Pi as it is not officially supported for 32-bit ARM-based operating systems
(which the current version of Raspberry Pi OS is). While it is possible to install MySQL on
Raspberry Pi using a 64 bit operating system, MariaDB works natively with Raspberry Pi OS.
56
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
1. Initially, insert the micro-SD card into your SD card reader and connect it to a PC
for formatting it.
2. Raspberry Pi Imager developed by the Raspberry Pi organization. OS can be
down- loaded from this link (https://www.raspberrypi.org/software/)
3. PC with Windows OS, we need to download Raspberry Pi Imager to flash OS in
SD card
4. Download and install Raspberry Pi Imager (Neglect if already installed) to a
computer to write image of OS in SD card
5. Click on Raspberry Pi Imager
6. From Pi Imager Choose device and select your Raspberry Pi model from the list.
(type of raspberry note it from given board)
7. Click on Choose OS >> from bottom second option click on Eraser >> Select SD card
from Storage >> click Next >> and agree all options to format the SD card
8. Click one more time on Choose OS >> Click on Use custom >> Select Image from
the drive >> open
9. Choose Storage >> select SD Card >>Click Next >> click Write to flashing the OS
10. If the flashing of OS is successful, then you’ll see a pop-up window and remove
the micro-SD card from the SD card reader and insert it into the Raspberry Pi.
57
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Software Setting (Finish the setup)
1. When you start your Raspberry Pi for the first time, the Welcome to
Raspberry Pi application will pop up and guide you through the initial setup.
2. Click Next to start the setup.
3. Set your Country (India), Language (English), and Time zone (Kolkota), then
click Next again.
4. Enter a new username (vditXX- where XX is two-digit number) and password
(set 123456) for your Raspberry Pi and click Next.
5. Set up your screen or screens. (make off of two buttons from Screen)
6. Connect to your WiFi network or LAN by selecting its name, entering the
password, and clicking Next.
7. Click Next let the wizard check for updates to Raspbian and install them (this
might take a little while).
8. Click Restart to finish the setup.
58
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
Installing MySQL
Please open the raspberry pi terminal.
Execute the following commands to update the existing packages to install IMariaDB server
which is shown below.
1. Update the package list:
Sudo apt update
2. Upgrade installed packages:
sudo apt upgrade
3. Install MySQL Server:
sudo apt install mysql-server
4. Secure the MySQL installation:
sudo mysql_secure_installation
Follow the prompts during the secure installation to set a root password and configure other
security options. Do not forget to remember the root password you set.
5. It appears you were trying to switch to the MySQL command line as well. You can do
that after securing the installation with:
mysql -u root -p
Replace -u root with the appropriate username if you created a different one during the secure
installation. You'll be prompted to enter the root password you set earlier.
1. If you want to install MariaDB instead of MySQL, you can use:
sudo apt install mariadb-server
2. To secure the MariaDB installation:
sudo mysql_secure_installation
The MariaDB commands should be similar to those for MySQL, but keep in mind that
MariaDB and MySQL have some differences in their features and behaviour.
59
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
4. Login to Mariadb on Raspberry Pi from Windows Computer.
Result : Installed MySQL database on Raspberry Pi and performed basic SQL queries like
creating table and adding data in it.
60
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])
61
……………………………………………………………………………………………………
… ECE, VDIT Haliyal
Downloaded by Leena vvit ([email protected])