INTERNSHIP_PPT_122. very large scale integration (VLSI)

nesaramsmg 2 views 30 slides Mar 04, 2025
Slide 1
Slide 1 of 30
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30

About This Presentation

very large scale integration (VLSI)


Slide Content

BAPUJI INSTITUTE OF ENGINEERING AND TECHNOLOGY DAVANGERE- 577 004 DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING Internship presentatio n on INTERNET OF THINGS by Kruthika Rani D S 4BD21EC 122 Poornima G N M.Tech Internship Guide Dr. G. S. Sunitha M.Tech(DEAC).,Ph.D.,MISTE.,FIETE.,FIEE Program Coordinator

Institute Vision To be a center of excellence recognized nationally and internationally, in distinctive areas of engineering education and research, based on a culture of innovation and invention. Institute Mission BIET contributes to the growth and development of its students by imparting a broad based engineerin g education and empowering them to b e successful in their chosenfiel d by inculcating in them positive approach, leadership qualities and ethical values.

VISION OF THE DEPARTMENT To be in the forefront in providing quality technical education and research in Electronics & Communication Engineering to produce skilled professionals to cater to the challenges of the society. MISSION OF THE DEPARTMENT M1: To facilitate the students with profound technical knowledge through effective teaching learning process for a successful career. M2: To impart quality education to strengthen students to meet the industry Standards and face confidently the challenges in the program. M3: To develop the essence of innovation and research among students and faculty by providing infrastructure and a conducive environment. M4: To inculcate the student community with ethical values, communication Skills, leadership qualities, entrepreneurial skills and lifelong learning to meet the societal needs.

INTRODUCTION: What is IoT? IoT connects everyday devices to the internet, enabling data sharing and remote control. It improves efficiency and productivity in sectors like healthcare, agriculture, and smart cities. How IoT Works: Data Collection: Sensors gather data (e.g., temperature, motion). Data Transmission: Data sent via Wi-Fi, Bluetooth, or 5G. Data Processing: Cloud/Edge computing analyzes data. Actionable Insights: Actions are triggered (e.g., thermostats adjust temperature). Key Components: Devices: Sensors/actuators in devices like thermostats, trackers. Connectivity: Networks like Wi-Fi, Bluetooth, LoRaWAN , and 5G. Data Processing: Cloud : Scalable analysis. Edge : Real-time processing. User Interface: Apps or dashboards for control and monitoring.

Applications of IoT: Smart Homes : Control lights, security, and appliances remotely. Healthcare : Wearables monitor vitals and enable telemedicine. Smart Cities : Optimize traffic, energy, and waste management. Industry : Predictive maintenance and machinery monitoring. Agriculture : Improve irrigation and crop yield using sensors. Challenges: Security : Protect data from cyberattacks. Interoperability : Ensuring devices work seamlessly together. Scalability : Managing large-scale data and devices. Power Consumption : Energy efficiency for battery-powered devices. Future Trends: 5G : Faster, real-time connectivity for IoT applications. AI Integration : Smarter devices for automated decision-making. Edge Computing : Instant data processing for real-time actions.

C language: C is a general-purpose, procedural, high-level programming language used in the development of computer software and applications, system programming, games. C language was developed by Dennis M. Ritchie at the Bell Telephone Laboratories in 1972.

DATA TYPES: int float char double Operators: An operator in C can be defined as the symbol that helps us to perform some specific mathematical, relational, bitwise, conditional, or logical computations on values and variables. The values and variables used with operators are called operands. Types of Operators : Arithmetic Operators Relational Operators Logical Operators Bitwise Operators Assignment Operators

The conditional statements (also known as decision control structures) such as if, if else, switch, etc are used for decision-making purposes in C programs. 1. if Statement 2. if- else Statement 3. Nested if Statement 4. switch Statement 5. Jump Statements 6. break 7. continue 8. goto 9. return

Project 1: School Register Creating a School Register Here is an example script to create a simple school register where you can enter and save student details such as name, age, and grade: MODE OPERATION DESCRIPTION Mode Operation Description "r" Read Opens an existing file for reading. "w" Write Creates a new file or truncates an existing one to zero length. "a" Append Appends data to an existing file or creates a new file if not present. "r+" Read/Write Opens an existing file for both reading and writing. "w+" Write/Read Creates a new file or truncates an existing one for reading and writing. "a+" Append/Read Appends data to the end of the file, and allows reading.

#include < stdio.h > #include < stdlib.h > #include < string.h > #define FILENAME "schoolRegister.txt" #define MAX_LINELENGTH 80 typedef struct { char name[50]; int age; char grade[10]; } Student; int main() { FILE *file; char choice; int sl_no = 1; Student student ; char line[MAX_LINELENGTH];

. // Open file in append mode, create if not exist file = fopen (FILENAME, "a+"); if (file == NULL) { printf ("Error opening file!\n"); return 1; // Exit with error } rewind(file); // Rewind to read existing records // Read records from file and calculate next serial number while ( fgets (line, sizeof (line), file)) { int present_sl_no ; if ( sscanf (line, "%d|", & present_sl_no ) == 1) { if ( present_sl_no >= sl_no ) { sl_no = present_sl_no + 1; } } }

// Begin loop to add new student records do { // Prompt user for student information printf ("Enter name: "); scanf ("%s", student.name); printf ("Enter age: "); scanf ("%d", & student.age ); printf ("Enter grade: "); scanf ("%s", student.grade ); // Ask user if they want to save the record printf ("Do you wish to save this record? (Y/N): "); scanf (" %c", &choice); if (choice == 'Y' || choice == 'y') { fprintf (file, "%d|%s|%d|%s\n", sl_no ++, student.name, student.age , student.grade ); } else { printf ("Record discarded.\n"); } }

// Ask if user wants to continue or exit printf ("Do you wish to continue? (Y/N): "); scanf (" %c", &choice); } while (choice == 'Y' || choice == 'y'); // Close the file fclose (file); printf ("File closed. Exit...\n"); return 0;

#define FILENAME "schoolRegister.txt": Defines a constant for the filename. This makes it easier to change the file name later without modifying the code everywhere it’s used.  #define MAX_LINELENGTH 80 : Defines the maximum length of each line of text to be read from the file. This will be used in functions like fgets () to limit the input buffer size.  FILE *file; : Declares a file pointer file that will be used to open and interact with the schoolRegister.txt file.  char choice ;: A variable to hold the user's choice input for whether to save the record or continue entering data.  int sl_no = 1;: Initializes the serial number (student ID) for the first student record.  Student student ;: Declares a variable student of type Student to hold the student's information.  char line[MAX_LINELENGTH];: Declares a buffer line to hold each line read from the file.  fopen (FILENAME, "a+");: Opens the file schoolRegister.txt in "a+" mode, which means:  The file is opened for both reading and appending. 

The file is opened for both reading and appending.  If the file doesn't exist, it will be created.  if (file == NULL): Checks if the file failed to open (e.g., due to permissions). If it fails, an error message is printed and the program exits with return 1.  rewind(file);: Resets the file pointer to the beginning of the file so it can be read (after any potential appending).  fgets (line, sizeof (line), file): Reads each line from the file until the end of the file is reached or the buffer size is exceeded.  sscanf (line, "%d|", & present_sl_no ): Parses the line to extract the student’s serial number (if it's in the format serial_number |...). This assumes that each student record in the file is in the format serial_number|name|age|grade . If the serial number is found, it updates the sl_no to ensure the next serial number is one greater than the last serial number found in the file.  The program enters a do-while loop where it repeatedly asks the user to input student details: name, age, and grade.   

scanf ("%s", student.name);: Reads the student's name (single word, no spaces allowed).  scanf ("%d", & student.age );: Reads the student’s age.  scanf ("%s", student.grade );: Reads the student's grade After entering the student data, the user is asked if they want to save the record.  scanf (" %c", &choice);: Reads the user's input (Y or N).  If the user chooses to save the record (Y or y), the program writes the student data to the file in the format serial_number|name|age|grade , and then increments the sl_no for the next record.    After saving the record, the program asks if the user wants to continue entering more student data.    If the user inputs Y or y, the loop continues; otherwise, it exits.    fclose (file);: Closes the file after finishing the operations (reading and writing).    printf ("File closed. Exit...\n");: Prints a message indicating the file is closed and the program is exiting. 

Setting Up an ESP32 as an Access Point Step 1: Make the ESP32 Work as an Access Point To configure the ESP32 as an access point, follow these steps: Install the ESP32 board package in the Arduino IDE. Write the following code to set up the ESP32 as an access point: #include < WiFi.h > const char * ssid = "ESP32-Access-Point"; // Name of the access point const char *password = "123456789"; // Password for the access point void setup() { Serial.begin (115200); // Start the Wi-Fi in AP mode WiFi.softAP ( ssid , password); Serial.println ("");

Serial.print ("Access Point Started. IP address: "); Serial.println ( WiFi.softAPIP ()); }   void loop() { // Nothing to do here, the ESP32 remains an access point } This code will create an access point with the SSID "ESP32-Access-Point" and password "123456789". The IP address of the access point will be displayed in the Serial Monitor, typically 192.168.4.1.

Step 2: Create a Simple Web Server on the ESP32 Once the ESP32 is configured as an access point, you can create a simple web server to serve a basic HTML page: #include < WiFi.h > #include < WebServer.h > const char * ssid = "ESP32-Access-Point"; // Name of the access point const char *password = "123456789"; // Password for the access point WebServer server(80); // HTTP server runs on port 80   void handleRoot () { // Send an HTML page as a response server.send (200, "text/html", "<h1>ESP32 Web Server </h1><p>Hello this is a simple web server! </p>"); } void setup() { Serial.begin (115200); // Start the Wi-Fi in AP mode WiFi.softAP ( ssid , password);

Serial.println (""); Serial.print ("Access Point Started. IP address: "); Serial.println ( WiFi.softAPIP ()); // Define the route for the root ("/") path server.on ("/", HTTP_GET, handleRoot ); // Start the server server.begin (); } void loop() { // Handle client requests server.handleClient (); } This code sets up a basic HTTP server on port 80. It responds with an HTML page when clients access the root URL (/).

WiFi.h : This library is used to control the Wi-Fi functionality on the ESP32. WebServer.h : This library is used to create an HTTP server on the ESP32 to handle incoming HTTP requests. ssid : This is the name of the Wi-Fi network the ESP32 will create (ESP32-Access-Point). password: The password for the Wi-Fi network. WebServer server(80): The ESP32 will act as an HTTP server on port 80. Serial.begin (115200): Initializes serial communication for debugging. WiFi.softAP ( ssid , password): This starts the ESP32 as an access point with the specified SSID and password.

server.begin (): Starts the HTTP server to begin listening for incoming client requests. server.handleClient (): This function continuously checks for incoming HTTP client requests and processes them. Step 4: Testing the Access Point and Server Upload the code to the ESP32 and open the Serial Monitor to view the IP address of the access point (e.g., 192.168.4.1). Connect your device (e.g., phone or laptop) to the Wi-Fi network named "ESP32-Access-Point" using the password "123456789". Open a web browser and navigate to http://192.168.4.1 . You should see your resume page hosted on ESP32.

App testing for a project involving BLE communication between an L1 Finger BLE Module and an ESP32 .    Overview of the BLE Communication System   L1 Finger BLE Module : This is likely a fingerprint sensor that communicates over Bluetooth Low Energy (BLE) . The module captures biometric data (like fingerprints) and sends it to a connected device (e.g., the ESP32).  ESP32 : A versatile microcontroller with built-in Wi-Fi and BLE support. The ESP32 serves as a BLE central device that manages connections with the L1 Finger BLE Module (which acts as the BLE peripheral). The ESP32 may then relay data to the mobile app for processing or display.  Mobile App(ACP L1 Test App) : This app interfaces with the ESP32, receiving data (e.g., fingerprint scans) and possibly sending commands to control the L1 Finger BLE Module through the ESP32. 

2. BLE Communication Testing in Detail   A. BLE Pairing and Connection Testing   1.BLE Device Discovery : Ensure the mobile app can detect the ESP32 and, in turn, the L1 Finger BLE Module. 2. BLE Connection: Test that the app can establish and maintain a reliable BLE connection to the ESP32. 3. Pairing: Ensure that the BLE pairing process between the L1 Finger BLE Module and ESP32 is successful B. Data Transfer (Read/Write) Testing  1.Reading Data from the L1 Finger BLE Module: Test if the app correctly reads fingerprint data or any other sensor data sent from the L1 Finger BLE Module via the ESP32. 2. Writing Data (Sending Commands): Verify the ability to send commands from the app to the ESP32, which will then control the L1 Finger BLE Module (e.g., start/stop scans, set configurations). C. BLE Signal Strength and Range Testing  1. Signal Strength Testing : Ensure that BLE communication is stable over a reasonable range and under different conditions. 2.Range Testing: Test if the app can maintain BLE communication over the expected range.

D. Connection Reliability Testing  1. Reconnection Testing: Verify that the app can successfully reconnect if the BLE connection is lost. E. Error Handling and Notifications  1. Error Scenario Testing: Verify that the app responds appropriately to connection issues, data transfer errors, or fingerprint scanning failures. 2. User Feedback : Ensure that the app provides clear feedback to users at every stage of the process. UI/UX Testing in Detail  A. UI Interaction  1.Responsive UI Design : Test if the mobile app has a responsive and intuitive design. 2.Status Indicators : Ensure the app has visual status indicators (e.g., "Connected," "Scanning," "Completed"). B. Performance Testing  Speed and Latency: Test the responsiveness and latency of the mobile app when interacting with the BLE devices. Battery Usage : Measure how the app affects the battery life of the mobile device during BLE communication. C. Security Testing Encryption and Data Integrity: : Ensure that BLE communication is secure and that sensitive data, such as fingerprint scans, is transmitted securely. Access Control: Ensure that only authorized users can interact with the BLE devices.

Introduction to Beacons and Tags  Beacons and tags are key components in the realm of Bluetooth Low Energy (BLE) and location-based services, playing a significant role in a wide range of applications such as indoor positioning, asset tracking, proximity marketing, and more. 

What is a Tag? A tag is a device or an object that interacts with a beacon, usually by receiving the signal transmitted by the beacon. Tags are typically passive (they don't actively transmit data like beacons) or active (they may periodically send signals to a receiver). Tags can be attached to objects for tracking or worn by individuals to detect their location.  How Beacons and Tags Work Together:  The interaction between beacons and tags is what makes proximity-based services possible. Beacon Broadcasts a Signal:  Beacon: A small, low-power device that continuously broadcasts a signal using Bluetooth Low Energy (BLE). The broadcast signal typically contains a unique identifier (UUID), which distinguishes one beacon from another. Beacons may also include other data like location coordinates or other metadata. 

Broadcasting : The signal is broadcast in all directions, meaning any device within the beacon’s range that can receive BLE signals (like smartphones, tablets, or dedicated tags) can detect it.  Tag Detects the Signal:  Tag : The tag is usually a Bluetooth-enabled device (e.g., a smartphone, wearable, or RFID tag) that listens for signals from nearby beacons.  When the tag comes within range of a beacon’s signal, it detects the signal and can trigger specific actions depending on the system configuration.  Simple Detection : In some systems, the tag may simply recognize the beacon’s signal and log the event (e.g., location tracking or timestamping).  Data Interaction : In more advanced setups, the tag might send its detected data (such as ID, timestamp, or location information) back to a central server or cloud for further processing, analytics, or triggering actions (e.g., notification) Communication:  Direct Communication : Some systems might allow direct communication between the beacon and the tag. For example, the beacon may trigger an action on the tag (like opening an app, showing a message, or logging the location). 

Server Interaction: More often, the tag sends the detected data to a central server or cloud-based platform for processing. This data could be used for things like:  Location Logging: Tracking the position of tagged objects or personnel.  Triggering Actions: Activating notifications, alerts, or system changes based on proximity (e.g., a door opening when an employee is nearby).  Personalized Content: Sending notifications or offers based on a user’s location (e.g., a discount when a customer enters a specific store section). 

Thank You