Python’s role in developing real time embedded systems

Python isn’t only the most-popular language for introductory CS programs, it’s also the fastest-growing language for embedded computing. Maybe that sounds silly when you scan the numbers again and realize it’s the fastest-growing language of the remaining 5% of embedded systems code that aren’t C/C+ +, but Python will start eating into C/C++’s monopoly even more over the next few years.

Python might be at its strongest when used as a communication middleman between the user and the embedded system they’re working with. Sending messages through Python to or from an embedded system allows the user to automate testing. Python scripts can put the system into different states, set configurations, and test all sorts of real-world use cases. Python can also be used to receive embedded system data that can be stored for analysis. Programmers can then use Python to develop parameters and other methods of analyzing that data.

Role 1 – Device control and debugging:

During the embedded software development process, developers often find themselves analyzing bus traffic such as USB, SPI, or I2C. Sometimes the analysis is simply for debugging purposes, but other times there is a need to actually control the bus analyzer and send messages to the embedded system. Many bus analyzer and communication tools have user-friendly interfaces that can be used to control the tool. They also normally provide a way to develop scripts that can be used to control the tool as well. Python is one scripting languages that is normally supported, sometimes exclusively, to interface with and control the tool.

Role 2 – Automating testing:

The ability to control tools that can send and receive messages from an embedded system through Python opens up the possibility for using Python to create automated tests, including include regression testing. Python scripts can be developed that set the embedded system into different states, set configurations, and test all the possible perturbations and interactions that the system would have with the external world. One advantage to using Python for automated testing is that regression tests can be developed that constantly test and exercise the system. Any code changes that result in bugs or non-conformances will be immediately discovered.

Role 3 – Data analysis:

A simple search for Python libraries on the web reveals that there are many freely available and powerful libraries to develop Python applications. Python can be used to receive critical embedded system data that can then be stored in database or locally for analysis. Developers can then use Python to develop real-time visualizations that show critical parameters, or to store and save those parameters for later analysis. The nice part about performing data analysis using Python is that the groundwork has already been done; the functionality is simply drop-in.

Role 4 – Real-time Software:

Python has proven itself to be so powerful and easy to use that Python is even finding its way into real-time embedded systems as the programming language. Yes, the embedded software itself is being written in Python rather than C/C++. The most widely-available Python version for real-time is the MicroPython port designed to run on microcontrollers such as the ARM Cortex-M3/4. MicroPython is not alone though.

Role 5 – Learning object oriented programming:

Python is a free programming language that can be used across multiple platforms and is easy for students and non-programming types to learn how to program. The language is also modern, unlike C, and has the ability to be structured in a free-form script type manner or as a sophisticated object-oriented architecture. Python has also proven very versatile. There are even instances where electrical engineers with no programming experience have been able to take Python and write useful test scripts or perform board check-outs with a minimal time investment.

The learning curve for Python isn’t steep and developers who are familiar with it find that it is an easy language to switch to from other languages. 

Socket programming in Python

Socket programming is a way of connecting two nodes on a network to communicate with each other. One socket(node) listens on a particular port at an IP, while other socket reaches out to the other to form a connection. Server forms the listener socket while client reaches out to the server.

Server Socket Methods

1 s.bind()

This method binds address (host name, port number pair) to socket.

2 s.listen()

This method sets up and start TCP listener.

3 s.accept()

This passively accept TCP client connection, waiting until connection arrives .

Client Socket Methods


This method actively initiates TCP server connection.

General Socket Methods

1 s.recv()

This method receives TCP message

2 s.send()

This method transmits TCP message

3 s.recvfrom()

This method receives UDP message

4 s.sendto()

This method transmits UDP message

5 s.close()

This method closes socket

6 socket.gethostname()

Returns the hostname.

A Simple Server program

import socket 
host = socket.gethostname()
port = 12345
s.bind((host, port))
while True:
c,addr = s.accept()
print 'Got connection from', addr
c.send('Thank you for connecting')

A Simple Client Program

import socket
s = socket.socket()
host = socket.gethostname()
port = 12345
s.connect((host, port))
print s.recv(1024)

This would produce following result :-

Python Socket Programming – Server, Client Example

Socket is the endpoint of a bidirectional communications channel between server and client. Sockets may communicate within a process, between processes on the same machine, or between processes on different machines. For any communication with a remote program, we have to connect through a socket port.


  1. Python socket server program executes at first and wait for any request
  2. Python socket client program will initiate the conversation at first.
  3. Then server program will response accordingly to client requests.
  4. Client program will terminate if user enters “bye” message. Server program will also terminate when client program terminates, this is optional and we can keep server program running indefinitely or terminate with some specific command in client request.

We can obtain host address by using socket.gethostname() function. It is recommended to user port address above 1024 because port number lesser than 1024 are reserved for standard internet protocol.


bind()=binds address to socket.

listen()=sets up and start tcp server.

connect()=initiates tcp server connection.

gethostname()=return hostname.

import socket

def server_program():

host = socket.gethostname()
port = 5000  
server_socket = socket.socket() 
server_socket.bind((host, port))  
conn, address = server_socket.accept()  
print("Connection from: " + str(address))
while True:
data = conn.recv(1024).decode()
if not data:
print("from connected user: " + str(data))
data = input(' -> ')

if name == ‘main‘:

import socket

def client_program():
host = socket.gethostname()
port = 5000

client_socket = socket.socket()  
client_socket.connect((host, port))  
message = input(" -> ")  
while message.lower().strip() != 'bye':
data = client_socket.recv(1024).decode()  
print('Received from server: ' + data)  
message = input(" -> ")  

if name == ‘main‘:


Android Architecture

Android architecture is the structure of how android actually works in low level. There are several layers that shows how processes works on Android. Android architecture includes Android Run-time Applications, Native C and C++ libraries that were used to build Android. Some other frameworks on the Top of Linux kernel which connects hardware to the software.

The Android software stack

Linux kernel

At the bottom of the layers is Linux.This provides a level of abstraction between the device hardware and it contains all the essential hardware drivers like camera, keypad, display etc. Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers. For example, the Android Run-time (ART) relies on the Linux kernel for underlying functionalities such as threading and low-level memory management.

Hardware Abstraction Layer (HAL)

On top of Linux kernel there is an Android Hardware Abstraction Layer.It is an interface for hardware vendors to implement that allows the Android application/framework to communicate with hardware-specific device drivers. The Android application uses HAL APIs to get service from hardware devices.Android HAL uses the functions provided by the lower-layer Linux kernel to serve the request from the Android application/framework.

Android Run-time(ART)

This is the third section of the architecture and available on the second layer from the bottom. This section provides a key component called Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed for Android.This use Linux core features like memory management and multi-threading.It also enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine.

The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language.
Features Of ART:

  • Ahead-of-time (AOT) and just-in-time (JIT) compilation
  • Optimized garbage collection (GC)
  • On Android 9 (API level 28) and higher, conversion of an app package’s Dalvik Executable format (DEX) files to more compact machine code.
  • Better debugging support, including a dedicated sampling profiler, detailed diagnostic exceptions and crash reporting, and the ability to set watchpoints to monitor specific fields

Native C/C++ Libraries

Although most android applications are written in Java, there are special scenarios where you may require to use C/C++ . Many core Android system components and services are built from native code.This native codes are embedded in native libraries written in C and C++. The Android platform provides Java framework Application Program Interfaces to use the functionality of some of these native libraries to apps.For Example,You just want to access the device’s physical components like sensors, or touch (This can be done using Java, but using C/C++ helps you communicate directly).


The NDK (Native Development Kit) is a tool that allows to program in C/C++ for Android devices.It works with the basic standalone SDK tools.

Java API Framework

The Android team has built on a known set proven libraries, built in the background, and all of it these is exposed through Android interfaces. These interfaces wrap up all the various libraries and make them useful for the Developer.

  • View System: It builds the user interface by handling the views and layouts.
  • Resource Manager: It provides access to non-code resources.
  • Notification Manager: It enables all apps to display custom alerts in the status bar.
  • Activity Manager: It manages the activity lifecycle and the activity stack.

System Apps

Android applications can be found at the topmost layer. At application layer we write our application to be installed on this layer only. Examples of applications are Games, Messages, Contacts etc.

Working With Android Studio

Android Studio is the official integrated development environment (IDE) for Google’s Android operating system, built on JetBrains’ IntelliJ IDEA software and designed specifically for Android development.It is available for download on Windows, macOS and Linux based operating systems.

Android Studio

Android App Module

It Provides a container for your app’s source code, resource files, and app level settings such as the module-level build file and Android Manifest file. When you create a new project, the default module name is “app”.In the Create New Module window, Android Studio offers the following types of app modules:

  • Phone & Tablet Module
  • Wear OS Module
  • Android TV Module
  • Glass Module

Project Files:

Within each Android app module, files are shown in the following groups:

  • manifests:Contains the AndroidManifest.xml file.
  • java:Contains the Java source code files, separated by package names, including JUnit test code.
  • res: Contains all non-code resources, such as XML layouts, UI strings, and bitmap images, divided into corresponding sub-directories.

Project View:

When you select Project view, you can see a lot more files and directories. The most important of which are the following:

  • build: Contains build outputs.
  • libs:Contains private libraries.
  • src: Contains all code and resource files for the module in the following subdirectories:
    • androidTest:Contains code for instrumentation tests that run on an Android device.
    • main:Contains the “main” sourceset files: the Android code and resources shared by all build variants.
    • AndroidManifest.xml:Describes the nature of the application and each of its components.
    • java:Contains Java code sources.

Python for Beginners

Python is a programming language.Python can be used on a server to create web applications.

“Hello, World!” Program:

print(“Hello, World!”);

output:Hello world

In this program, we have used the built-in print() function to print Hello, world! string.

Variables and Literals:

Unlike other programming languages, Python has no command for declaring a variable.

A variable is created the moment you first assign a value to it.

a = 5
print(“a =”, 5)

output:a = 5


Operators are used to perform operations on variables and values.

Python divides the operators in the following groups:

  • Arithmetic operators
  • Assignment operators
  • Comparison operators
  • Logical operators
  • Identity operators
  • Membership operators
  • Bitwise operators

x = 20
y = 30

print(‘addition=’, x+y)

Output: addition= 18

in above program instead of + operator we also use *,,/,% etc.

Get Input from User:

In Python, you can use input() function to take input from user. For example:

inputString = input('Enter a sentence:')
print('The inputted string is:', inputString)

Python Comments:

There are 3 ways of creating comments in Python.

# This is a comment
  """This is a multiline comment.""" 
  '''This is also a  multilin

If … Else:

Python supports the usual logical conditions from mathematics:

  • Equals: a == b
  • Not Equals: a != b
  • Less than: a < b
  • Less than or equal to: a <= b
  • Greater than: a > b
  • Greater than or equal to: a >= b

a = 33
b = 200
if b > a:
  print(“b is greater than a”)

output:b is greater than a

While Loop:

With the while loop we can execute a set of statements as long as a condition is true.

i = 1
while i < 6:
  i += 1

output:1 2 3 4 5 6

For Loop:

A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string).

fruits = [“apple”, “banana”, “cherry”]
for x in fruits:

Python Data Structures:


A list is a collection which is ordered and changeable. In Python lists are written with square brackets.

list1 = [“mayuri”, “soni”, “pooja”, “priya”]




A tuple is a collection which is ordered and unchangeable. In Python tuples are written with round brackets.

tuple= (“mayuri”,”nikita”,”manasi”)



A set is a collection which is unordered and unindexed. In Python sets are written with curly brackets.

set = {1, 2, 3}



A dictionary is a collection which is unordered, changeable and indexed. In Python dictionaries are written with curly brackets, and they have keys and values.

my_dict = {1: ‘apple’, 2: ‘ball’}

Python range():

range() returns an immutable sequence of numbers between the given start integer to the stop integer.

numbers = range(1, 6)

print(list(numbers)) # Output: [1, 2, 3, 4, 5]
print(tuple(numbers)) # Output: (1, 2, 3, 4, 5)
print(set(numbers)) # Output: {1, 2, 3, 4, 5}

Classes and Objects:

Python is an object oriented programming language.

Almost everything in Python is an object, with its properties and methods.

A Class is like an object constructor, or a “blueprint” for creating objects.

The __init__() Function:

All classes have a function called __init__(), which is always executed when the class is being initiated.

The self parameter is a reference to the class itself, and is used to access variables that belongs to the class.

class Person:
  def __init__(self, name, age): = name
    self.age = age

p1 = Person(“John”, 36)


output:john 36


A function is a block of code which only runs when it is called.

You can pass data, known as parameters, into a function.

A function can return data as a result.

def my_function():
  print(“Hello from a function”)

output:Hello from a fuction


File Handling:

File handling is an important part of any web application.

Python has several functions for creating, reading, updating, and deleting files.


hello mayuri

f = open(“a.txt”, “r”)

f = open(“a.txt”, “a”)

f.write(“new line added”)

output:a.txt=hello mayuri new line added

Exception Handling:

a = [5, 6, 7]
print “Fourth element = %d” %(a[3])

except IndexError:


App Components

App components are an entry point through which the system or a user can enter into your app.


There are four different types of app components:

  • Activities
  • Services
  • Broadcast receivers
  • Content providers


Android Activity is Front end view of an app.It represents a single screen with a user interface. For example, an whatsapp app might have one activity that shows a list of all contacts, another activity to show all chats, and another activity to update status. Although the activities work together to form a cohesive user experience in the whatsapp app, each one is independent of the others.

Intent: An Intent is a simple message object that is used to communicate between android components such as activities, content providers, broadcast receivers and services. Intents are also used to transfer data between activities.

Use of Intent:

  1. For Launching an Activity
  2. To start a New Service
  3. For Broadcasting Messages
  4. To Display a list of contacts in List View


Android service is a component that is used to perform operations on the background such as playing music, handle network transactions, interacting content providers etc. It does not provide a user interface. For example, a service might play music in the background while the user is in a different app, or it might fetch data over the network without blocking user interaction with an activity.

3.BroadCast Receivers

Broadcast Receivers simply respond to broadcast messages from other applications or from the system itself. for example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured.
Although broadcast receivers don’t display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs.

4.Content Providers

Content provider component supplies data from one application to others on request. This component is useful for reading and writing data that is private to your app and not shared.


An elevator is a platform that is used for lifting people up and down in the buildings. Elevators are part of almost all commercial and residential buildings.It is a vertical transport vehicle that efficiently moves people or goods between floor of a building. Elevators are generally power by electric motors that drive traction cables and counter weight with the help of motors.The overall control is done by control system.
Key parts of elevator are:
.One or more cars(metal boxes) that raise up and down.
.Counter weight that balance the car.
.An electric motor that hoist the car up and down,including a braking system.
.A system of strong metal cable and pulley running between the car and the motor.
.various softer system to protect the passengers if cable breaks.
In large building an electronic control system that direct the car to the correct floor using a “elevator algorithm” to ensure large number of people are moved up and down in the quickest, most efficient way. Intelligent system are programmed to carry many more people to the required floor.

Types of Elevator:There are variety of different hoist mechanism are used to lift up an lower elevator cabs. The most familiar type of elevators are discussed below

  • Hydraulics Elevator : It is typically used in low-rise application and its components are fluid tank, buffer and piston.
  • Traction Elevator: It uses rope that pass over a wheel attached to a motor that sets above the elevator shaft. This elevators are used for mid to high rise application due to their increased speed and maximum traveling heights.
  • Passenger Elevator : Passenger elevators is meant to carry people to their desired floor. They are by for the most prominent types of elevator and are electric elevators mainly based of electric motors and control systems.

Parts of Elevator and its functions : Elevator is made by assembling various parts some are visible to the user and some are working in background. Lets take a close look at parts of elevator and its functions.

  • Car : cabin is the main part of elevator which is designed for the shipment of people, goods and services. It contain user interface system that is display board and the switches through which user interact with the system.
  • Speed Governors : The speed regulating system of elevator is known as speed governor. If the elevator runs more than the speed limit ,the speed governor control the speed .It is usually attached to the bottom of the car and is also known as governor rope.
  • Electric motor : It is main element of which the movement of the car is managed, in case elevator faces and serious condition then electric motor help in preventing it and provide smooth functioning of lift.
  • Elevator rail : Sliding up and down in the elevator is possible with the proper functioning of the rail.
  • Elevator shaft : Car cabin moves in this space depending upon the type of elevator ,the location of the shaft can be varied.
  • Doors : Elevator door are meant for entry and exit , it might be manually operated door or automatic operated door.
  • Drive Unit : Everything that works under electricity must have a motor attached for the functioning , it contain a motor that drive a lift.
  • Display : Electronic display are inside of the car as well as on the outside of the car. It display the current status of the car , switches are implemented on the board to provide instruction to the elevator and to interact with the control system of the elevator.
  • Safety Devices : Mechanical devices are attached to the elevator for safety reasons. In case elevator travel downward with a max speed limit, safety device can maintain a safety and secure traveling.

Working Principle : Elevator work on law of conservation of energy. The elevator gives you potential energy when we are going up and it takes energy from us when we are coming down.

The user call the elevator on the required floor by just pressing the switch then elevator receives request and start moving on the requested floor. Appropriate floor control system gets sensor information and control system signals elevator to stop. Elevator stops control system and signals door to open as soon as door opens the people enter in the car .control system signals the door to close and elevator car door closes , user provide input to the control system on which floor they want to go control system receives the request and motor of the elevator start turning and elevator start moving. As soon as the request floor is reached control system gets sensor information and control system signals elevator to stop and control system signals the door to open and the process repeat continue. If there is no request form the user then then the car will be in the idel state and wait for the call from the user.

Power Supply: Power supply of elevator is s complex process and that is regulated by several laws and it must be provided energy from two independent power source. Break the power is permitted only its time of auto recovery, urgent task is to ensure the possibility of lifting equipment work after the termination of main power supply. As soon as the main power supply is lost then UPS (uninterrupted power supply) will provide the immediate and uninterrupted power supply until inverter or generator provides power supply. This will provide the continuous functioning of elevator without any interruption with the help of power backup.

Control System of Elevator: Group control is the brain of elevator control system which decides were the car should go and stop. There can be several group controller in an elevator. One of the group control is the master that deliver the hall calls to the elevator, and other group control are backup. Other functions inside the car e.g. register and canceling of car call , door control and measurement of car loads are handled by the elevator control .

Intelligent elevator components communicate with each other through serial transmission using controller area network (CAN). Typical control software for an elevator include an operating system , task scheduling programs , input ,output and communication program and program for controlling and optimizing the function of the components.

Standby Mode of Elevator: Standby solution power down the elevator equipment when it is not in use, providing substantial energy saving, especially in buildings with period of lower elevator usage. I-cab sensors and software automatically switch to a “sleep mode’ turning of lights, fans, music and display when the car is not in use. The 25% to 80% of the overall energy consumption of the elevator can be saved depending on multiple variable including the employed control system, lightning type, floor display and operating console in each floor and inside the elevator cabin. As soon as the call button is pressed by the user the elevator will wake up from the sleep mode and again start functioning as earlier and if it is again not used for some time then again it will in standby mode.
Elevator can be made energy efficient by using LED cab lights within an elevator car and their adjustment to movement detector are one of the main contributor toward efficient power consumption in a building. LED also emit less heat, resulting less energy needed to maintain the temperature in cab. LED lightning is currently utilized in many new elevators.

Regenerative Drives of Elevator: When brakes are applied the energy is released from the electric motors in the form of heat. regenerative drives has the ability to recycle energy rather than wasting it as heat. They work by capturing and converting the energy from braking to maintain the elevator speed. Traction elevator uses a counterweight to balance the weight of elevator car and passenger. If counter weight is to heavy or to light it then the elevator will overwork the motor and the braking system. When the elevator is traveling up the car are light or traveling down car are heavy. The elevator applies the brake to maintain their rated speed. Braking is provided by allowing the AC motor to operates as generator , converting mechanical energy to electrical energy which is dispatched as heat by special heat resistor . The regenerative drive captures the energy and channel it back to the building or the city power grid.


From several 100 years back , elevators were created that are for water driven mechanism.In 18’s new invented elevators were created that for lifting high weight materials.

Depending upon applications now modifications are happening in elevators.


Elevators are convenient way for vertical Transportation in safer mode.Also it saves time and energy efficiently.

It has capacity to bare high weight materials.shortly it acts as carrier for transportation.

In world-wide there are several manufactures for elevators.Depending upon applications they are manipulating features included it.

Top manufacturers of Elevators from Pune

1.Orbitech Elevators.
2.Tower Elevators.
3.Force Technologies.
4.Avicon Elevators pvt ltd.
5.Idea elevators company.
6.Escon elevators.
7.OTIS Elevators co ltd.
8.Escon Elevators.

Types of Elevator

  1. Roped hydraulic elevator.
  2. Prematic vaccum elevator.
  3. Counterweight chain drive elevator.
  4. Traction drive elevator.

Working of elevator

Basic structure of elevator


  • By exerting opposite force it provides balance & stability to lift.
  • lifting load efficiently & saves energy.

2)Electric motor:

  • In previous times Dc motors were using because RPM was easy to control & cheaper but worst torque characteristics hence lots of jerk and poor speed regulation.
  • Now days 3 phase induction are using because of long life and high rigid structure easy to control torque and RPM.

Parameters considering while designing lift

  • No. of people require lift service.
  • Handling capacity of lift.
  • Facilities and services required for it.
  • Calculation of RTT(Round trip time).

Round trip time:

Average time required by each lift.

Also sum of time required in following process:

Handling capacity can be calculated by


Q->Average number of passengers.

P->Total population handled during peak morning.

T->Waiting time.

Switching of an elevator :


Elevator is nothing but one or more cars which are metal boxes which rise up and down for vertical transport of people or goods.


  • Car(metal boxes)
  • Counterweight
  • Electric motor ,Braking system
  • Strong metal cables and pulleys
  • Control System
  • Switches and Sensors
  • Safety system
Basic diagram of elevator system

It uses motor for hoisting the car. For vertical movement it uses strong metal cables and pulleys. There are different types of elevators based upon different factors like technologies used,application,speed,hoist mechanism used,whether it carries people or good ,control system used,etc. Two types of elevators that are most commonly used in residential and commercial buildings are: Traction elevators and Hydraulic elevators.For high speed and high rising modern buildings,traction elevators are used.Traction elevators are also energy efficient because it uses counterweights to balance cars weight so requires less energy as compared to hydraulic elevators.At every floor there is display system which is showing the current direction of elevator and floor number at which the elevator is. In hospital like places where there can be an emergency for transport,we can implement elevator control system which will respond immediately when emergency switch is pressed. When emergency switch will be pressed,the elevator comes to requested floor and serves the request as interrupt.

Function of each part:

CAR  –  It is a type of vertical transport equipment that efficiently moves people or goods between floors of building.It is mounted on shaft.It can be of passenger service type or goods service type. Inside car there is keypad user interface for selecting destination floor.

There are two sets of elevator doors- Doors on the car and doors opening in elevator shaft.The car doors have clutch mechanism which will unlock the outer door to open. So outer door can open only when there is elevator at that floor.This avoids opening of outer doors in empty elevator shaft.There are main 2 types of doors manual and automatic.In automatic type doors it can be center opening door or double opening door.

COUNTERWEIGHT – Counterweight is used for balancing the weight of car.Car is pulled up by steel ropes in traction elevators.Sometimes one car is used as counterweight for another car i.e. balancing weights of each other.Using counterweight,there will be less force required for pulling the car hence less strain on cables.

ELECTRIC MOTOR BRAKING SYSTEM- Depending upon type of elevator we can use any actuator .Latest design use 3 phase induction motor with variable frequency drive electric control.For hoisting of a car it is placed above top floor of the building. There are two types of brakes for elevator system.One is for stopping the elevator at required floor and another one is for emergency like power failure or cable break-down or malfunctioning.Braking system uses combination of electrical and mechanical switches.

CONTROL SYSTEM – There are main two types of control -Manual control i.e. switches operated by pulling respective ropes.Relay-controlled elevator system was common until 1980’s.But now a days microprocessor based elevator systems are industry standards.

There are 3 types elevator controls can be implemented:

  • Selective Collective operation
  • Constant pressure operation
  • Non-Selective Collective operation
  • In selective collective operation,elevator responds to the requests along same path. Requests along opposite path will be added to the list .It reverses the direction and then serves the requests along opposite path. In constant pressure operation, the button must have pressure maintained for movement of elevator. Once pressure is removed,elevator will stop at that point. In non-selective collective operation, the elevator will respond to the calls sequentially i.e.order in which it comes.

SWITCHES AND SENSORS – Inside car there is a keypad for selecting the floor number .There is a floor button at every floor for requesting the elevator service.User can call the elevator by pressing the floor button. There are arrival sensors places at the top and bottom of car. Arrival sensors consist of reed switches which are electromagnetic switches activated my magnet.Magnet is placed at every floor and metal rods are connected to car. Respective reed switches get activated when comes near magnet and this sensors output is given to controller by which we will get to know the status of elevator i.e. at which floor elevator is. More sensors used in elevator are: Overload sensor for overload protection,current sensor,limit switches,level sensor etc.In elevator doors, infrared sensors are used for detecting obstacle between doors.

SAFETY SYSTEM-  Elevators are designed with several safety systems that keep them in position.If elevator control system detects that car is speeding downwards or upwards,it jams the metal brake from underneath the car into the guide rails on shaft. In case of power failure,electro-mechanical brakes will get activated.