Sahil Kumar 1
Sahil Kumar 1
1
Internship Report
On
INDUSTRIAL INTERNET OF THINGS (IIOT)
Submitted for partial fulfilment of the requirements for the award of
B.Tech IN
ELECTRONICS AND COMMUNICATION ENGINEERING
Submitted by
SAHIL KUMAR
Semester : 5th
Reg.No: 21104133021
Internal Guide
External Guid
Dr. BRAJESH KUMAR
SAURAV KUMAR
HOD Chief Executive Officer
ii
DEPARTMENT OF TECHNICAL EDUCATION
GEC JAMUI
ELECTRONICS AND COMMUNICATION ENGINEERING
CERTIFICATE
This is to certify that Name: SAHIL KUMAR with Reg.No: 21104133021 has
satisfactorily submitted the internship report titled “INDUSTRIAL
INTERNETOF THINGS (IIOT)” in partial fulfillment of the requirements as
prescribed by DEPARTMENT OF TECHNICAL EDUCATION for V Semester
in ELECTRONICS AND COMMUNICATION ENGINEERING and
submitted this report during the academic year 2024-2025.
Dr. BRAJRSH
KUMAR
Head of the
Department
EXTERNAL VIVA
1.
2.
iii
ACKNOWLEDGEMENT
The satisfaction and euphoria that accompanies successful completion of any task
would be incomplete, without mentioning of the people who made it possible and
whose constant guidance and encouragement served as a beacon light and crowned
our efforts with success.
First of all, 1 would like to thank the management of ROBOMANTHAN Pvt. Ltd
for providing me an opportunity to undergo industrial training in their company.
1 would like to convey my gratitude and thanks to the company's Chief Executive
Officer and Industry Training Supervisor Mr. SAURAV KUMAR, for guiding me
and for all the support and guidance during the training period as my mentor.
I would like to thank my “Parents” who are the first God and who has given
blessings, strength, and stayed with me throughout the successful completion of the
report.
iv
DECLARATION
v
Executive Summary
One of the key highlights of my internship was the chance to work on the
development of educational content and workshops aimed at bridging the gap
between academia and industry. This experience not only enhanced my technical
skills but also gave me a deeper insight into the challenges and opportunities in
engineering education today.
vi
CONTENTS
vii
LIST OF FIGURES
Sl. No TITLE
Chapter 1:
1.
1. Working of IOT enables care devices
2. IOT controlled greenhouse environment
Chapter 2: Description of OJT -1 Project
1. Figure 2.1 L298N Motor Driver Module
2. Figure 2.2 L298N Module Specification
viii
LIST OF FIGURES
Sl. No TITLE
Chapter 3:
Chapter 4:
IOT as a term has evolved long way as a result of convergence of multiple technologies, machine learning, embedded
systems and commodity sensors. IOT is a system of interconnected devices assigned a UIDS, enabling data transfer and
control of devices over a network. It reduced the necessity of actual interaction in order to control a device. IOT is an
advanced automation and analytics system which exploits networking, sensing, big data, and artificial intelligence
technology to deliver complete systems for a product or service. These systems allow greater transparency, control, and
performance when applied to any industry or system
.
1.1.1 Features of IOT
1.1.1.1 Intelligence
IOT comes with the combination of algorithms and computation, software & hardware that makes it smart. Ambient
intelligence in IOT enhances its capabilities which facilitate the things to respond in an intelligent way to a particular
situation and supports them in carrying out specific tasks. In spite of all the popularity of smart technologies, intelligence
in IOT is only concerned as a means of interaction between devices, while user and device interaction are achieved by
standard input methods and graphical user interface
1.1.1.2 Connectivity
Connectivity empowers the Internet of Things by bringing together everyday objects. Connectivity of these objects is
pivotal because simple object level interactions contribute towards collective intelligence in the IOT network. It enables
network accessibility and compatibility in the things. With this connectivity, new market opportunities for the Internet of
things can be created by the networking of smart things and applications
1.1.1.6 Heterogeneity
Heterogeneity in Internet of Things as one of the key characteristics. Devices in IOT are based on different hardware
platforms and networks and can interact with other devices or service platforms through different networks. IOT architecture
should support direct network connectivity between heterogeneous networks. The key design requirements for
heterogeneous things and their environments in IOT are scalabilities, modularity, extensibility and interoperability.
1.1.1.7 Security
IOT devices are naturally vulnerable to security threats. As we gain efficiencies, novel experiences, and other benefits from
the IOT, it would be a mistake to forget about security concerns associated with it. There is a high level of transparency and
privacy issues with IOT. It is important to secure the endpoints, the networks, and the data that is transferred across all of it
means creating a security paradigm.
1.1.2.1 Communication
IOT encourages the communication between devices, also famously known as Machine-to-Machine (M2M)
communication. Because of this, the physical devices are able to stay connected and hence the total transparency is available
with lesser inefficiencies and greater quality.
1.1.2.3 Information
It is obvious that having more information helps making better decisions. Whether it is mundane decisions as needing to
know what to buy at the grocery store or if your company has enough widgets and supplies, knowledge is power and more
knowledge is better.
1.1.2.4 Monitor
The second most obvious advantage of IOT is monitoring. Knowing the exact quantity of supplies or the air quality in your
home, can further provide more information that could not have previously been collected easily. For instance, knowing
that you are low on milk or printer ink could save you another trip to the store in the near future. Furthermore, monitoring
the expiration of products can and will improve safety.
1.1.2.5 Time
As hinted in the previous examples, the amount of time saved because of IOT could be quite large. And in today’s modern
life, we all could use more time.
1.1.2.6 Money
The biggest advantage of IOT is saving money. If the price of the tagging and monitoring equipment is less than the amount
of money saved, then the Internet of Things will be very widely adopted. IOT fundamentally proves to be very helpful to
people in their daily routines by making the appliances communicate to each other in an effective manner thereby saving
and conserving energy and cost. Allowing the data to be communicated and shared between devices and then translating it
into our required way, it makes our systems efficient.
The IOT allows you to automate and control the tasks that are done on a daily basis, avoiding human intervention. Machine-
to-machine communication helps to maintain transparency in the processes. It also leads to uniformity in the tasks. It can
also maintain the quality of service. We can also take necessary action in case of emergencies.
1.1.3.2 Complexity
As with all complex systems, there are more opportunities of failure. With the Internet of Things, failures could sky rocket.
For instance, let’s say that both you and your spouse each get a message saying that your milk has expired, and both of you
stop at a store on your way home, and you both purchase milk. As a result, you and your spouse have purchased twice the
amount that you both need. Or maybe a bug in the software ends up automatically ordering a new ink cartridge for your
printer each and every hour for a few days, or at least after each power failure, when you only need a single replacement.
1.1.3.3 Privacy/Security
With all of this IOT data being transmitted, the risk of losing privacy increases. For instance, how well encrypted will the
data be kept and transmitted with? Do you want your neighbours or employers to know what medications that you are taking
or your financial situation?
1.1.3.4 Safety
Imagine if a notorious hacker changes your prescription. Or if a store automatically ships you an equivalent product that
you are allergic to, or a flavour that you do not like, or a product that is already expired. As a result, safety is ultimately in
the hands of the consumer to verify any and all automation. As all the household appliances, industrial machinery, public
sector services like water supply and transport, and many other devices all are connected to the Internet, a lot of information
is available on it. This information is prone to attack by hackers. It would be very disastrous if private and confidential
information is accessed by unauthorized intruders.
1.1.4.1 Wearables
Wearable technologies is a hallmark of IOT applications and is one of the earliest industries to have deployed IOT at its
services. Fit Bits, heart rate monitors, smartwatches, glucose monitoring devices reflect the successful applications of IOT.
1.1.4.4 Agriculture
A greenhouse farming technique enhances the yield of crops by controlling environmental parameters.
However, manual handling results in production loss, energy loss, and labour cost, making the process less
effective. A greenhouse with embedded devices not only makes it easier to be monitored but also, enables us to
control the climate inside it. Sensors measure different 18 | Page parameters according to the plant requirement
and send it to the cloud. It, then, processes the data and applies a control action.
1.1.4.5 Industrial Automation
For a higher return of investment this field requires both fast developments and quality of products. This vitality thus coined
the term IIOT. This whole schematic is re-engineered by IOT applications. Following are the domains of IOT applications
in industrial automation
• Factory Digitalization
• Product flow Monitoring
• Inventory Management
• Safety and Security
• Quality Control
• Packaging optimization
• Logistics and Supply Chain Optimization
1.1.5.1 Bluetooth
Bluetooth is a short range IOT communication protocol/technology that is profound in many consumer product markets and
computing. It is expected to be key for wearable products in particular, again connecting to the IOT albeit probably via a
smartphone in many cases. The new Bluetooth Low-Energy (BLE) – or Bluetooth Smart, as it is now branded – is a
significant protocol for IOT applications. Importantly, while it offers a similar range to Bluetooth it has been designed to
offer significantly reduced power consumption.
1.1.5.2 Zigbee
ZigBee is similar to Bluetooth and is majorly used in industrial settings. It has some significant advantages in complex
systems offering low-power operation, high security, robustness and high and is well positioned to take advantage of
wireless control and sensor networks in IOT applications. The latest version of ZigBee is the recently launched 3.0, which
is essentially the unification of the various ZigBee wireless standards into a single standard.
1.1.5.3 Z-Wave
Z-Wave is a low-power RF communications IOT technology that primarily design for home automation for products such
as lamp controllers and sensors among many other devices. A Z Wave uses a simpler protocol than some others, which can
enable faster and simpler development, but the only maker of chips is Sigma Designs compared to multiple sources for
other wireless technologies such as ZigBee and others.
1.1.5.4 Wi-Fi
Wi-Fi connectivity is one of the most popular IOT communication protocol, often an obvious choice for many developers,
especially given the availability of Wi-Fi within the home environment within LANs. There is a wide existing infrastructure
as well as offering fast data transfer and the ability to handle high quantities of data. Currently, the most common Wi-Fi
standard used in homes and many businesses is 802.11n, which offers range of hundreds of megabit per second, which is
fine for file transfers but may be too power-consuming for many IOT applications.
1.1.5.5 Cellular
Any IOT application that requires operation over longer distances can take advantage of GSM/3G/4G cellular
communication capabilities. While cellular is clearly capable of sending high quantities of data, especially for 4G, the cost
and also power consumption will be too high for many applications. But it can be ideal for sensor-based low-bandwidth-
data projects that will send very low amounts of data over the Internet .
1.1.5.6 NFC
NFC (Near Field Communication) is an IOT technology. It enables simple and safe communications between electronic
devices, and specifically for smartphones, allowing consumers to perform transactions in which one does not have to be
physically present. It helps the user to access digital content and connect electronic devices. Essentially it extends the
capability of contactless card technology and enables devices to share information at a distance that is less than 4cm.
1.1.5.7 LoRaWAN
LoRaWAN is one of popular IOT Technology, targets wide-area network (WAN) applications. The LoRaWAN design to
provide low-power WANs with features specifically needed to support low-cost mobile secure communication in IOT,
smart city, and industrial applications. Specifically meets requirements for low-power consumption and supports large
networks with millions and millions of devices, data rates range from 0.3 kbps to 50 kbps.
OJT-1 PROJECT
2.0 INTRODUCTION
• This robot is a simple yet powerful device that demonstrates the capabilities
of the ESP32 microcontroller. It’s designed with two motors, allowing it to
move in various directions - forward, backward, left, and right.
• The heart of this robot is the ESP32 microcontroller, a highly integrated chip
with both Wi-Fi and Bluetooth capabilities. It’s paired with an L298N Motor
Driver, which handles the low-level details of controlling the speed and
direction of the motors.
• The robot is powered by a 3-12V power supply. The motors are connected
to the motor driver, which in turn is connected to the ESP32. The ESP32
receives commands and controls the motors accordingly.
• To build this robot, you’ll need a two-motor robot chassis, an ESP32
microcontroller, an L298N motor driver, connecting wires, and a power
supply. You’ll also need to install the Arduino IDE for programming the
ESP32.
• This two-motor robot is a great project for anyone interested in robotics,
microcontrollers, or wireless communication. It’s a stepping stone to
creating more complex robots based on the ESP32 and the L298N motor
driver.
• In this tutorial, we will learn to interface L298N Motor Driver with ESP32.
This is an in-depth guide about the L298N motor driver including its
specifications, pinout, interfacing with ESP32 board. Firstly, we will see an
example to control DC motor speed. In the end, we will see an example to
control the direction of a DC motor using an L298N motor driver.
2.1.2 Components Used
• ESP32
• L298N Motor Driver
• Dual Shaft BO Motor
• BO Motor Mount
• BO Wheel
• Caster Wheel
• 3.7V 2600mAh Lithium-Ion Battery
• Acrylic Base Plate
• Standoffs
• Jumper Cable
• Nuts and Bolts
• Smartphone or tablet: Used to run the MIT App Inventor app for controlling
the home automation system.
• The L298N motor driver module is very easy to use with microcontrollers and
relatively inexpensive as well.
• It is widely used in controlling robots as we can connect up to four motors at
once but if we want to control the speed and direction as well then it allows two
motors to be connected.
• Thus, it is perfect for two-wheeled robots. This module is mainly used in
robotics and in controlling dc and stepping motors.
Figure:2.1 L298N Motor Driver Module
• There are two types of control pins found at the bottom right side of the module.
One type controls the speed and the other type controls the direction of the
motor.
2.1.7 Speed Control (ENABLE) Pins
• The speed control pins labelled ENA and ENB on the module, control the
speed of the dc motor and turn it ON and OFF.
char x;
#include <BluetoothSerial.h>
#include <esp_now.h>
#include <WiFi.h>
#if !defined(CONFIG_BT_ENABLED) ||
!defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is off please turn on
#endif
BluetoothSerial SerialBT;
int motor1Pin1 = 13; // Motor 1, Forward
int motor1Pin2 = 12; // Motor 1, Backward
int motor2Pin1 = 14; // Motor 2, Forward
int motor2Pin2 = 27; // Motor 2, Backward
void setup () {
Serial.begin(115200);
SerialBT.begin("ESP32test"); //Bluetooth device name
Serial.println("robot control is active, now you can pair with Bluetooth");
7
pinMode (motor1Pin1, OUTPUT);
pinMode (motor1Pin2, OUTPUT);
pinMode (motor2Pin1, OUTPUT);
pinMode (motor2Pin2, OUTPUT);
}
void loop ()
{
if (SerialBT.available())
{
x = SerialBT.read();
Serial.println(x);
if (x =='F')
{
digitalWrite(motor1Pin1,HIGH);
digitalWrite(motor1Pin2,LOW);
digitalWrite(motor2Pin1,HIGH);
digitalWrite(motor2Pin2,LOW);
Serial.println("forward");
}
if (x =='B')
{
digitalWrite (motor1Pin1, LOW);
digitalWrite (motor1Pin2, HIGH);
digitalWrite (motor2Pin1, LOW);
digitalWrite (motor2Pin2, HIGH);
Serial.println("backward");
}
if (x =='R')
{
digitalWrite(motor1Pin1,HIGH);
digitalWrite(motor1Pin2,LOW);
digitalWrite(motor2Pin1,LOW);
digitalWrite(motor2Pin2,HIGH);
Serial.println("left");
}
if (x =='L')
{
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
Serial.println("right");
}
if (x =='S')
{
digitalWrite(motor1Pin1,0);
digitalWrite(motor1Pin2,0);
digitalWrite(motor2Pin1,0);
digitalWrite(motor2Pin2,0);
Serial.println("STOP");
}}}
Using MIT App Inventor, a custom Android app was developed to provide a user
interface for controlling the Mobile Controlled ESP32 Two-Wheel Drive Robot The
app allows users to turn devices on or off, adjust settings, and monitor the status of
connected devices remotely. This methodology provided a systematic approach to
designing, implementing, and testing the home automation system, ensuring its
functionality and usability for end-users.
2.2.3 App development programming (Blocks)
2.3 Demonstration
Figure:2.7 Snip of User Interface of Mobile Controlled ESP32 Two- Wheel Drive
Robot
4|Page
Figure:2.8 User Interface of Mobile Controlled ESP32 Two-
Wheel Drive Robot
2.4 Conclusion
• By following these steps, you should have a functional system where the
ESP32 controls two motors based on commands received from the MIT
App Inventor mobile app.
Chapter 3
OJT-2
3.1. INTRODUCTION
In today's rapidly advancing technological landscape, the concept of a smart home
has become increasingly prevalent, offering homeowners enhanced convenience,
security, and energy efficiency. This project endeavors to bring this futuristic vision
to life by integrating cutting-edge technologies such as Arduino Uno, OpenCV for
AI face detection, and Pyfirmata for seamless communication between Python code
and the Arduino Uno board. The system's core functionality revolves around its
ability to intelligently detect human faces using the OpenCV library, specifically
the haarcascade_frontalface_default XML file, and then trigger actions through the
Arduino Uno, such as controlling AC loads using a 2-channel relay.
The Arduino Uno serves as the central hub of the system, interfacing with various
hardware components and executing commands based on the input received from
the face detection algorithm. This allows for a dynamic and responsive environment
where the automation system can adapt to the presence or absence of individuals in
the vicinity. Furthermore, the system is designed to be easily accessible, requiring
only a USB connection to a laptop or PC, making it suitable for a wide range of
home environments.
By leveraging the power of AI and IoT technologies, this project not only
showcases the potential for enhanced automation and convenience in modern
homes but also serves as a practical demonstration of how these technologies can
be integrated to create intelligent, interactive systems.
Through this project, we aim to inspire further innovation in the field of smart
home automation and contribute to the ongoing evolution of the connected home
ecosystem.
Arduino Uno simplifies the process of prototyping and creating electronic devices
by providing a user-friendly platform for programming and interfacing with a
variety of sensors, actuators, and other peripherals. It’s mostly used for
educational and commercial projects.
Specifications:
• Microcontroller: Atmel ATmega328P
• Operating Voltage: 5V
• Input Voltage (recommended): 7-12V
• Input Voltage (limit): 6-20V
• Digital I/O Pins: 14 (of which 6 provide PWM output)
• Analog Input Pins: 6
• DC Current per I/O Pin: 20 mA
• DC Current for 3.3V Pin: 50 mA
• Flash Memory: 32 KB (0.5 KB used by bootloader)
• SRAM: 2 KB
• EEPROM: 1 KB
• Clock Speed: 16 MHz
Specifications:
• Number of Channels: 2
• Operating Voltage: Typically, 5V or 12V
• Maximum Switching Voltage: Varies depending on the relay model,
commonly up to 250V AC or 30V DC per channel
• Maximum Switching Current: Usually up to 10A per channel
• Control Signal: Typically requires a low current (e.g., 20-30mA) control
signal to switch the relay
• Type: Normally Open (NO) and Normally Closed (NC) contacts
• Connection: Commonly uses screw terminals or pin headers for easy wiring
• Applications: Used in home automation for controlling lights, fans, and
other appliances; in industrial control systems for controlling machinery;
and in robotics for switching power to motors or other devices.
• Database Tools
• Extensibility
23
3.3.1.5 OpenCV Library:
How to use OpenCV in PyCharm, you first need to install the library. You can do
this using pip, the Python package manager, by running the following command in
your terminal or command prompt:
Once OpenCV is installed, you can start using it in your PyCharm project.
23
3.3.1.6 Pyfirmata Library:
• How to Use Pyfirmata: Using Pyfirmata is relatively simple. First, you need
to install the library using pip:
• Next, you need to upload the StandardFirmata sketch to your Arduino board.
• This sketch can be found in the Arduino IDE under File > Examples >
Firmata > StandardFirmata.
• Upload this sketch to your Arduino board using the Arduino IDE.
• Once the sketch is uploaded, you can use Pyfirmata in your Python code to
communicate with the Arduino board.
23
3.3.1.7 Haarcascade_frontalface_default XML File:
The `haarcascade_frontalface_default.xml` file is a pre-trained XML file used with
OpenCV for face detection. You can download this file from the OpenCV GitHub
repository or from the OpenCV source files.
Here's how you can use it in your Python code with OpenCV:
This file contains the trained data for detecting frontal faces. We can experiment
with different parameters of the “detect Multiscale” function to adjust the
sensitivity and accuracy of the face detection algorithm.
23
3.3.1.8 Circuit Diagram:
A circuit diagram was created to illustrate the connections between the 2-channel
relay module, microcontroller, and other components used in the project. The
diagram provides a visual representation of how the system is wired and helps in
understanding the overall setup of the home automation system.
Figure 3.6 Circuit Diagram of Home Automation _AI with all the Interfacing Module’s
23
3.3.1.9 Programming:
Python Code:
import pyfirmata
import cv2
video =cv2.VideoCapture(0) # for using external Webcam make 0 to 1
eye_cascade=cv2.CascadeClassifier(cv2.data.haarcascades +
'haarcascade_frontalface_default.xml')
pin=11
pin1=12
port=input("enter port")
com="COM"+port
print(com)
board=pyfirmata.Arduino(com)
while True :
x,videoread=video.read()
if not x:
break
gray=cv2.cvtColor(videoread,cv2.COLOR_BGR2GRAY)
eye=eye_cascade.detectMultiScale(gray,1.3,5,minSize=(30,30))
if (len(eye)>0):
for (x,y,w,h) in eye :
c = x+w//2 ,y+h//2
cv2.circle(videoread,c ,int(w/2 ),(0,255,255), 5)
x= "Face detected"
board.digital[11].write(0)
board.digital[12].write(1)
else:
x= "Face not detected"
board.digital[11].write(1)
23
board.digital[12].write(0)
cv2.putText(videoread,x,(10,30), cv2.FONT_HERSHEY_SIMPLEX ,1
,(255,0,0) , 4)
cv2.imshow("Home_Automation_with_AI", videoread)
if cv2.waitKey(1) & 0xFF == ord('e'): # To end the program press "e" in
keyboard once
break
board.digital[11].write(0)
board.digital[12].write(0)
cv2.destroyAllWindows()
23
3.4. DEMONSTRATION
23
3.5. CONCLUSION
The integration of Arduino, OpenCV, and Pyfirmata in this project has
successfully demonstrated the potential for creating a smart home automation
system with AI face detection. By combining these technologies, we have created
a system that can detect faces in real-time and trigger actions such as controlling
AC loads. This project serves as a proof of concept for utilizing these technologies
in smart home applications.
The use of Arduino as the central controller provides a flexible and scalable
platform for expanding the system's functionality. OpenCV's face detection
algorithm has proven to be robust and reliable, allowing for accurate detection of
faces in various conditions. Pyfirmata has simplified the communication between
Python and Arduino, enabling seamless integration of the two technologies.
One potential future enhancement for this system is the implementation of sleep
detection for drivers. By utilizing additional sensors, such as eye-tracking or heart
rate monitors, the system could detect signs of drowsiness in drivers and trigger
alerts to prevent accidents. Additionally, the system could be integrated with a
braking system to automatically apply brakes in case of detected drowsiness,
further enhancing the safety features of the system.
Overall, this project lays the foundation for further research and development in
the field of smart home technology and AI-based automation systems. With
continued advancements in technology, we can expect to see more innovative
solutions for improving the efficiency, comfort, and safety of our homes and daily
lives.
23
Chapter 4
The flow diagram provided are outlines the process of a User for using this
Two_Motor_Robot App created with MIT App Inventor. Here’s the explanation
in points:
10
• Installation: The user begins by installing the Two_Motor_Robot
application on their device.
• Pair with Bluetooth: Next, the user pairs their device with the
Two_Motor_Robot system via Bluetooth.
• Connect with Bluetooth: Once paired, the user connects to the
Two_Motor_Robot system using Bluetooth.
• Control Robot: The user can then control various Movements such as:
o FORWARD: It’s move forward.
o BACKWARD: It’s move backward
o RIGHT: It’s move right side.
o LEFT: It’s move left side.
o STOP: It will stop.
This flowchart represents a user-friendly interface that allows for easy control of
Two_Motor_Robot through a mobile application. It simplifies the process of
managing Robot remotely.
4.2. Use case-2 Flow Diagram: (User)
The flow diagram provided are outlines the process of a User for using this Home
Automation project using Arduino and AI Face detection. Here’s the explanation
in points:
This flowchart outlines the user interaction with the software and the subsequent
automation response based on face detection results. The 2-channel relay module
is used to control AC loads, such as lights, based on the detection outcome.
REFERENCES
1. Technical Specifications:
2. Circuit Diagram:
3. Code Snippets:
6. Assembly Instructions:
• Step-by-step guide on assembling the hardware
components.
• Tips for troubleshooting common assembly
issues.
7. Testing and Calibration:
• Procedures for testing the robot's functionality.
• Instructions for calibrating motor speeds and
adjusting control parameters.
8. Additional Resources:
• Links to datasheets for components used.
• References to relevant tutorials, articles, or
forums for further learning.
• Any libraries or dependencies used in the project.
9. Safety Precautions:
• Recommendations for safe operation of the robot,
including handling of batteries and motors.
• Guidelines for using the mobile app in a
responsible manner.
10. Acknowledgements:
• Recognition of individuals or organizations
that contributed to the project, such as
mentors, sponsors, or collaborators.
Appendix B: Data Tables of Equipment Specifications
Equipment Description
ESP32 Development
Microcontroller board with built-in Wi-Fi and
Board Bluetooth capabilities.
Motor Driver H-bridge motor driver for controlling the two-wheel
drive mechanism
DC Motors Geared DC motors used for driving the wheels.
Wheels Rubber wheels for traction and smooth movement.
Battery Pack Lithium-ion battery pack for powering the robot.
Jumper Wires Wires for making electrical connections on the
breadboard or PCB.
Breadboard Prototyping board for temporarily connecting
electronic components.
Power Switch On/Off switch for controlling power to the robot.
USB Cable USB cable for programming and powering the ESP32
board.
Smartphone/Tablet Device running the mobile app for controlling the
robot.
This table provides a concise overview of the main equipment required for the
project, helping to ensure that all necessary components are accounted for
during planning and implementation.
Drawing: Circuit Diagram
Experimental Configuration:
The experimental setup consisted of the following components:
• ESP32
• Motor Driver
• Smartphone or tablet
• Power supply (9V)
• DC Motors
SMART HOME AUTOMATION SYSTEM WITH
FACE DETECTION USING ARDUINO UNO AND
OPENCV
Appendix A: Circuit Diagram
The following circuit diagram illustrates the setup for the home automation project
using Arduino, AI face detection with OpenCV, and Pyfirmata for communication
with the Arduino Uno board. The circuit includes the connection of a 2-channel
relay for controlling AC loads and the USB connection between the Arduino Uno
and a laptop/PC.
Appendix B: Python Code for Face Detection
- Arduino Uno
- 2-channel Relay
- USB Cable
- Laptop/PC
- AC Loads
- OpenCV Library
- Pyfirmata Library
- Haarcascade_frontalface_default XML file
One potential future enhancement for this system is the implementation of sleep
detection for drivers. By utilizing additional sensors, such as eye-tracking or heart
rate monitors, the system could detect signs of drowsiness in drivers and trigger
alerts to prevent accidents. Additionally, the system could be integrated with a
braking system to automatically apply brakes in case of detected drowsiness, further
enhancing the safety features of the system.