UNIT V APPLICATIONS DEVELOPMENT
Complete Design of Embedded Systems – Development of IoT Applications – Home
Automation – Smart Agriculture – Smart Cities – Smart Healthcare
Complete design of embedded systems
• Design process uses following concept:
1. Abstraction: problem component is abstracted list.
2. Software and hardware architecture: Before start of design, architecture must be
understood.
3. Additional functional properties: Developer should understand any additional
functionality is required or not.
4. System related family on design: Earlier version of system is also considered while
designing.
5. Modular design: Modular design is a design approach that creates things out of
independent parts with standard interfaces. This allows designs to be customized,
upgraded, repaired and for parts to be used.
6. Mapping: Mapping into different representations is done from software requirement.
7. User interface design: It is designed as per user requirement, environment analysis
and system functions. In automatic coffee vending machine, LCD display is the user
interface.
Design Metrics:
• Design metrics for embedded systems are as follows:
1. Unit cost: The monetary cost of manufacturing each copy of the system, excluding
NRE cost.
2. Size: The physical space required by the system.
3. Performance: The execution time or throughput of the system.
4. Power: The amount of power consumed by the system.
5. Flexibility: The ability to change the functionality of the system without incurring
heavy NRE cost.
6. Maintainability: The ability to modify the system after its initial release.
7. Time to Market: The time required to develop a system to the point that it can be
released and sold to customers.
Abstraction steps in the design process:
Embedded system design can be divided into four major tasks:
1. Partitioning the function to be implemented into smaller interfacing pieces.
2. Allocating those partitions to microprocessors or other hardware units where the
function may be implemented directly in hardware or in software running on a
microprocessor.
3. Scheduling the times at which functions are executed, which is important when
several functions partitions share one hardware unit?
4. Mapping a generic functional description into an implementation on a particular set of
components.
Design flow of embedded system begins with design specification, its define system
constraint, both cost and processing time. System functionality is defined in behavioral
description, hardware software partitioning is done to optimize design result and still fit
the requirement.
• Hardware and software integration is done after hardware/software detail design.
Register transfer level design is carried out by means hardware programming
language such as, Verilog, VHDL and Esterel.
• Verification and testing process is done to ensure embedded system design is fit to
specification. Figure shows the major steps in the embedded system design process.
Embedded System Requirements
1. Reactive systems: The systems never stops and the system responds to signals
produced by the environment.
2. Real Time systems: Timing constraints on task execution. Hard and Soft constraints.
• Real design often uses top-down and bottom – up design methods.
• What does the customer want? (Requirement)
• System functions/ characteristics.(Specification)
• Block design (Architecture)
• HW & SW module detailed design (Components)
• Working system (System Integration)
Top-down design Methodology
1. Starts with the top level
2. Functional description is converted into component list on each level.
3. Each component function is decomposed further on the next abstraction level.
4. Layout is given only for transistor component.
Advantages Top-down design Methodology
1. Highest level of customization possible on each abstraction level.
2. Only one small transistor library needed
3. Only one layout design at the end.
Disadvantages Top-down design Methodology
1. Difficult metric estimation on upper levels since layout is not known until the end.
2. Design decision impact on higher level not clear.
3. Hot spot removal is difficult.
4. Metric annotation from lower to higher levels needed during design iterations.
Bottom-Up Design Methodology
1. Starts from bottom level.
2. Each level generates library for the next higher level.
• Circuit: Standard cells for logic level.
• Logic: RTL component for processor level.
• Processor: Processing and communication components for system level.
• System: Embedded systems platforms for different applications.
Advantages of Bottom-Up Design Methodology
• Abstraction levels clearly separated with its own library.
• Accurate metric estimation with layout on each level.
• Globally distributed development possible.
• Easy Management.
Disadvantages of Bottom-Up Design Methodology
• An optimal library for each design is difficult to predict.
• Library customization is outside the design group.
• Layout is performed on every level.
Requirements:
• Requirements are general parameters that the systems must satisfy. Plain language
description of what the used wants and expects to get.
• It may be developed in following ways:
1. Talking directly to customers.
2. Talking to marketing representatives.
3. Providing prototypes to users for comment.
• There are different groups of people involved in the requirements engineering
process. These are users, application experts, customers, marketing experts, project
managers, electrical engineers, and hardware and software engineers.
• Typical nonfunctional requirements includes: Performance, cost, physical size and
weight, power consumption.
• The non-functional requirements influence the functional requirements. The
documentation of nonfunctional requirements is a valuable basis for decisions that
have to be taken when capturing and implementing the functional requirements.
• Non-functional requirements may be more critical than functional requirements. If
these are not met, the system may be useless.
Functional Requirements:
• Describe functionality or system services.
• Depend on the type of software, expected users and the type of system where the
software is used.
• Functional user requirements may be high-level statements of what the system should
do.
• Functional system requirements should describe the system services in detail.
Specification
• Specification is contract between the customer and its architects. It is more precise
description of the system.
• Specification must be carefully written so that it correctly reflects the customer’s
requirement.
• Specification may include functional and non-functional elements. It may be
“executable” or may be in mathematical form for proofs. It provides input to the
architecture design process.
• Unified Modeling Language (UML) is a language used for describing specifications.
Architecture Design
• The architecture is a plan for the overall structure of the system that will be used later
to design the components that make up the architecture.
• Major components for satisfying the specification are hardware components (CPU
peripherals) and software components that make up the architecture.
• Example: GPS moving map block diagram.
Figure: GPS moving map block diagram
Architectural descriptions must be designed to satisfy both functional and non-functional
requirements. Architecture is represented by software and hardware.
Designing Hardware and Software Components:
• We understand the components requirements in architectural design. The components
will in general include hardware, FPGAs, boards, and software modules.
• Some components are ready made, some can be modified from existing designs, and
others must be designed from scratch.
• It is also make use of standard software modules.
• For Example: Topographic database. Standard topographic databases exist, and you
probably want to use standard routines to access the database, not only is the data in a
predefined format, but it is highly compressed to save storage.
• Standard software save the design time. It is possible to implement faster. You can
design your own components.
System Integration:
• System integration assembles the all components. It may possible, there are many
bugs. Bugs can be removed by good planning. Individual components should be
tested first.
• Debug method is used to remove the bugs. System integration is difficult because it
usually uncovers problems.
• We must have a plan for integrating components to uncover bugs quickly, test as
much functionality as early as possible.
• Debugging facilities for embedded systems are usually much more limited than
desktop systems.
Challenges in Embedded Computing System Design:
1. Increasing application complexity even in standard and large volume products.
2. Increasing target system complexity.
3. Numerous constraints and design objectives; examples: cost, power consumption,
timing constraints, dependability.
4. Reduced and overlapping design cycles.
5. Design flow of embedded system begins with design specification, its define system
constraint, both cost and processing time.
6. Hardware and software integration is done after hardware/software detail design.
7. Verification and testing process is done to ensure embedded system design is fit to
specification.
Difficulties in their design:
1. Complex designing: It may have to run a real machine. It cannot separate the testing
of an embedded computer from the machine in which it is embedded.
2. Limited Observability and Controllability: Usually no keyboard or screen. It may
have to watch the electrical signals on the bus. In real time applications, we may not
be able to stop the system.
3. Restricted development environments: The tools are more limited and not easy to
debug code.
• Development of IoT Applications:
• An IoT application can help us to monitor our business, improve efficiency and make
better decisions based on device data that it collects and analyzes.
• The internet of things means physical devices (or group of devices) equipped with
sensors, software and other technologies and the ability to connect and exchange data
with other devices and systems via the internet or other networks ( Wi-Fi or
Bluetooth).
• Every internet of things application requires four elements:
1. Cloud Technology
2. Dedicated Hardware
3. Reliable Network
4. Intuitive software
Cloud: one of the most important elements of IoT, responsible for data processing and
storage.
Hardware: Low energy sensors or mobile devices that can be either custom built or bought
from third party vendors.
Network: It is responsible for two way communication between and properly linking these
devices with each other.
Software: Software is responsible for managing all devices within an IoT system. Whether
we choose to develop a mobile app or a web app, the software should be cloud-based.
Additionally users should be able to check information collected from sensors and devices
via one dashboard.
Steps:
1. Define the requirements for the application: An important step in developing an
IoT application is to define the goal and scope of the app.
2. Choosing the Right Hardware: The type of hardware depends on project
requirements. It could be sensors, GPS trackers, or even wearable's. But it is
important to pick devices that are reliable and relevant to the project.
3. Find the right connectivity protocols: There are several network protocols that we
can use like WiFi, 2G, 5G, Bluetooth, NB-IoT or Zigbee. Depending on devices and
the availability of resources, we need to pick the right channels for connectivity.
4. Ensure the Firmware is well equipped: Firmware, or device side software are the
technical terms for the program that runs hardware.
5. Select the right cloud platform: The right cloud platform will hand the necessary
tools to create an application that serves our purpose.
Home automations
• Smart Lighting
• Smart Appliances
• Intrusion Detection
• Smoke/ Gas Detectors
Smart Lighting
• Smart lighting for homes helps in saving energy by adapting the lighting to the
ambient conditions and switching on/off or dimming the lights when needed.
• Key enabling technologies for smart lighting include solid state lighting (such as LED
lights) and IP-enabled lights.
• For solid state lighting solutions both spectral and temporal characteristics can be
configured to adapt illumination to various needs.
• Smart lighting solutions for home achieve savings by sensing the human movements
and their environments and controlling the lights accordingly.
• Wireless enabled and internet connected lights can be controlled remotely from IoT
applications such as a mobile or web application.
• Smart lights with sensors for occupancy, temperature, lux level, etc., can be
configured to adapt the lighting(by changing the light intensity, colour, etc.) based on
the ambient conditions sensed, in order to provide a good ambiance.
• In controllable LED lighting system is presented that is embedded with ambient
intelligence gathered from a distributed smart wireless sensor network to optimize and
control the lighting system to be more efficient and user oriented.
• A solid state lighting model is described and implemented on a wireless sensor
network that provides services for sensing illumination changes and dynamically
adjusting luminary brightness according to user preferences.
Smart Appliances
• Modern homes have a number of appliances such as
TV
Refrigerators
Music systems
Washer/dryers, etc.
• Managing and controlling these appliances can be cumbersome, with each appliance
having its own controls are remote controls.
• Smart appliances make the management easier and also provide status information to
the users remotely.
Example
• Smart washer/dryers that can be controlled remotely and notify when the
washing/drying cycle is complete.
• Smart thermostats allow controlling the temperature remotely and can learn the user
preferences
• Smart refrigerators can keep track of the items stored(using RFID tags) and send
updates to the users when an item is low on stock.
• Smart TVs allows users to search and stream videos and movies from the internet on a
local storage drive, search TV channel schedules and fetch news, weather updates and
other content from the internet.
• Open remote is an open source automation platform for homes and buildings.
• Open remote is platform agnostic and works with standard hardware.
• With open remote users can control various appliances using mobile or web
applications.
• Open remote comprises of three components – a controller that manages scheduling
and runtime integration between devices, a designer that allows you to create both
configurations for the controller and create user interface designs and control panels
that allow you to interact with devices and control them.
Intrusion Detection
• Home intrusion detection systems use security cameras and sensors(such as PIR
sensors and door sensors) to detect intrusion and raise alerts.
• Alerts can be in the form of an SMS or an email sent to the user.
• Advanced systems can even send detailed alerts such as an image grab or a short
video clip sent as an email attachment.
• A cloud controlled intrusion detection system is described that uses location aware
services, where the geo-location of each node of a home automation system is
independently detected and stored in the cloud.
• In the event of intrusions, the cloud services alert the accurate neighbors ( who are
using the home automation system) or local police.
• In an intrusion detection system based on UPnP technology is described.
• The system uses image processing to recognize the intrusion and extract the intrusion
subject and generate universal plug and play(UPnP-based) instant messaging for
alerts.
Smoke/Gas Detectors
• Smoke detectors are installed in homes and buildings to detect smoke that is typically
an early sign of fire.
• Smoke detectors use optical detection, ionization or air sampling techniques to detect
smoke.
• Alerts raised by smoke detectors can be in the form of signals to a fire alarm system.
• Gas detectors can detect the presence of harmful gases such as carbon monoxide(CO),
liquid petroleum gas (LPG), etc.
• A smart smoke/gas detector can raise alerts in human voice describing where the
problem is, send or an SMS or email to the user or the local fire safety department and
provide visual feedback on its status(healthy, battery-low, etc.)
Smart cities
Smart Parking
Smart Lighting
Smart Roads
Structural Health Monitoring
Surveillance
Emergency Response
Smart Parking
• Finding a parking space during rush hours in crowded cities can be time consuming
and frustrating.
• Furthermore, derivers blindly searching for parking spaces create additional traffic
congestion.
• Smart Parking make the search for parking space easier and convenient for drivers.
• Smart parking are powered by IoT systems that detect the number of empty parking
slots and send the information over the internet to smart parking application back-
ends.
• These applications can be accessed by the drivers from smart-phones, tablets and in
car navigation systems.
• In smart parking, sensors (Infrared Sensors:) are used for each parking slot, to detect
whether slot is empty or occupied.
Architecture of Smart Parking Systems
• Smart parking solution architecture is majorly represented by four components: the
application layer, network layer, transaction layer, and physical layer. An illustration
of the layered architecture is provided in Figure.
• A smart parking system is an architectural framework that comprises different
application platforms integrated into embedded systems.
• For instance, reserved parking spaces allow users to request the application layer,
wherein the request will immediately be processed through a network layer
Smart Lighting
• Smart Lighting systems for roads, parks and buildings can help in saving energy.
• According to an IEA report, lighting is responsible for 19% of global electricity use
and around 6% of global greenhouse gas emissions.
• Smart lighting allows lighting to be dynamically controlled and also adaptive to the
ambient conditions.
• Smart lights connected to the internet can be controlled remotely to configure lighting
schedules and lighting intensity.
• Custom lighting configurations can be set for different situations such as foggy day, a
festival, etc.
• Smart lights equipped with sensors (Light Sensors) can communicate with other
lights and exchange information on the sensed ambient conditions to adapt the
lighting.
Smart Roads
• Smart roads equipped with sensors (Vehicle Detection Sensors, Traffic Cameras,
Road Surface Condition Sensors:) can provide information on driving conditions,
travel time estimates and alerts in case of poor driving conditions, traffic congestions
and accidents.
• Such information can help in making the roads safer and help in reducing traffic jams.
• Information sensed from the roads can be communicated via Internet to cloud based
applications and social media and disseminated to the drivers who subscribe to such
applications.
Structural Health Monitoring
• Structural Health Monitoring systems use a network of sensors (Acoustic Emission
Sensors) to monitor the vibration levels in the structures such as bridges and
buildings.
• The data collected from these sensors is analyzed to assess the health of the structures.
• By analyzing the data it is possible to detect cracks and mechanical breakdowns,
locate the damages to a structure and also calculate the remaining life of the structure.
• Using such systems, advance warnings can be given in the case of imminent failure of
the structure.
Surveillance
• Surveillance of infrastructure, public transport and events in cities is required to
ensure safety and security.
• City wide surveillance infrastructure comprising of large number of distributed and
Internet connected video surveillance cameras can be created.
• The video feeds from surveillance cameras can be aggregated in cloud based scalable
storage solutions.
• Cloud based video analytics applications can be developed to search for patterns or
specific events from the video feeds.
Emergency Response:
• IoT systems can be used for monitoring the critical infrastructure in cities such as
buildings, gas and water pipelines, public transport and power substations.
• IoT systems for fire detection, gas and water leakage detection can help in generating
alerts and minimizing their effects on the critical infrastructure.
• IoT systems for critical infrastructure monitoring enable aggregation and sharing of
information collected from large number of sensors.
• Using cloud based architectures, multi model information such as sensor data, audio,
video feeds can be analyzed in near real time to detect adverse events.
• Response to alerts generated by such systems can be in the form of alerts sent to the
public, re-routing of traffic, evacuations of the affected areas, etc.
Smart Agriculture
Smart Irrigation
Green House Control
Smart agriculture, also known as precision agriculture, harnesses technology like
sensors, IoT devices, and data analytics to revolutionize farming practices. By
collecting real-time data on soil conditions, crop health, and weather patterns, farmers
can make informed decisions about irrigation, fertilization, pest control, and
harvesting.
Precision farming equipment, including GPS-guided machinery, maximizes efficiency
and reduces resource wastage, while robotics and automation streamline labor-
intensive tasks. Vertical farming and hydroponics optimize space and water usage,
particularly in urban areas.
Block chain technology ensures transparency and traceability throughout the supply
chain, enhancing food safety and authenticity.
Smart greenhouses and predictive analytics further enhance productivity by creating
optimal growing conditions and forecasting yields and market trends. Ultimately,
smart agriculture aims to increase food production sustainably, mitigate
environmental impacts, and ensure food security for a growing global population.
Smart Irrigation
• Smart irrigation systems can improve crop yields while saving water.
• Smart Irrigation systems use IoT devices with soil moisture sensors to determine the
amount of moisture in the release the flow of water through the irrigation pipes only
when the moisture levels go below a predefined threshold.
• Smart irrigation systems also collect moisture level measurements on a server or in
the cloud where the collected data can be analyzed to plan watering schedules.
Figure: Smart Irrigation
Green House Control
• Green houses are structures with glass or plastic roofs that provide conductive
environment for growth of plants.
• The climatological conditions inside a greenhouse can be monitored and controlled to
provide the best conditions for growth of plants.
• The temperature, humidity, soil moisture, light and carbon dioxide levels are
monitored using sensors and the climatological conditions are controlled
automatically using actuation devices (such as valves for releasing water and switches
for controlling fans).
• IoT systems play an important role in green house control and help improve
productivity.
• The data collected from various sensors is stored centralized servers or in the cloud
where analysis is performed to optimize the control strategies and also correlate the
productivity with different control strategies.
In order to monitor the complete greenhouse system environment different type
sensors such as temperature sensor, humidity sensor, light sensor and soil moisture
sensor are employed for designing hardware system for greenhouse.
An Arduino Uno R3 has been used as a central device to store and process data. An
LCD (Liquid Crystal Display) Module has been used to display the parameters to the
user. Besides, a GSM (Global System for Mobile Communication) Module has been
used to update user through SMS.
Moreover, some Relays, converters (analog to digital and digital to analog), solar
power system including rechargeable Battery have been used in this greenhouse
monitoring and controlling system
Temperature Sensor
The LM35 series consist of precision integrated circuit temperature devices with an
output voltage linearly proportional to the Centigrade temperature. The LM35 device is
operating over a −55°C to 150°C temperature range and the operating voltage is from 4V
to 30V.
Humidity Sensor and Soil Moisture Sensor
A Humidity Sensor Unit known as HSU-07 Series has been used to implement the
proposed greenhouse system. Its operating voltage is 0-7 Volt, operating temperature
range is -20~+60 ℃, and operating humidity range is 20-90% RH.
Soil moisture plays an important role for growing good plants. A soil moisture sensor
has been used to determine the moisture of the soil. By placing two probes of soil
moisture sensors inside the soil, value of moisture in the soil can be measured and the
outcome is send to the owner of the greenhouse system using GSM via SMS. D.
Light Sensor Module
Light intensity also plays an important role in greenhouse system. Proper light
intensity is essential for growth of the plants. Varying light intensity may result severe
affect in plant growing and hence loss of productivity. There is a LDR in light sensor
module which can help to detect light intensity.
Liquid Crystal Display
A liquid crystal display (LCD) is a flat panel display or other electronically modulated
optical device that uses the light modulating properties of liquid crystals. Liquid crystals
do not emit light directly, instead using a backlight or reflector to produce images in
colour or monochrome.
GSM
Global System for Mobile Communication (GSM) is communication modem which is
an open and digital cellular technology responsible for transmitting mobile voice and data
services operated at the 850MHz, 900MHz, 1800MHz and 1900MHz frequency bands.
Solar Panel
In this system, we have used a 12V (10Watt) solar panel for charging the battery for
the purpose of uninterrupted monitoring and controlling of greenhouse system. The
battery will be directly charged from the solar panel and that can be support continuous
power supply to the system.
Relay
A relay is an electrically operated switch that are used to control a circuit by a
separate low-power signal or where several circuits must be controlled by one signal.
Smart Healthcare
Health and Fitness Monitoring
Wearable Electronics
Smart healthcare leverages IoT applications to revolutionize medical services,
enhance patient care, and optimize healthcare delivery. Through interconnected
devices and sensors, patient monitoring becomes continuous and remote, allowing
healthcare providers to monitor vital signs, medication adherence, and disease
progression in real-time.
Wearable devices, such as smart watches and fitness trackers, track activity levels,
heart rate, and sleep patterns, empowering individuals to take proactive steps
towards better health. IoT-enabled medical equipment, like smart infusion pumps
and connected imaging devices, streamline clinical workflows, improve accuracy,
and reduce errors.
Telemedicine platforms facilitate virtual consultations and remote diagnostics,
increasing access to healthcare services, especially in underserved areas. Data
analytics and AI algorithms analyse vast amounts of patient data to detect
patterns, predict health risks, and personalize treatment plans.
Secure communication protocols and block chain technology ensure the privacy
and integrity of sensitive medical information. Overall, smart healthcare in IoT
applications enhances efficiency, accessibility, and quality of care while driving
innovation and improving health outcomes.
Health and Fitness Monitoring
• Wearable IoT devices that allow non-invasive and continuous monitoring of
physiological parameters can help in continuous health and fitness monitoring.
• These wearable devices may can be in various forms such as belts and wrist-bands.
• The wearable devices form a type of wireless sensor networks called body are
networks in which the measurements form a number of wearable devices are
continuous sent a master node (such as a smart phones) which then sends the data to a
server or a cloud based back end for analysis and archiving.
• Health care providers can analyse the collected health care data to determine any
health conditions or anomalies.
• Commonly uses body sensors include: body temperature, heart rate pulse oximeter
oxygen saturation (SPo2), blood pressure, electrocardiogram(ECG), movement (with
accelerometers), and electroencephalogram(EEG).
Figure: Health monitoring system
In the first phase, the ECG sensor, the temperature sensor and the SPO2 sensor
begin data collection and transmit it to the Healthy Pi controller.
The controller performs the configured digital signal processing in its
programming code on the raw input data and provides a clear, understandable
output that is transmitted to the Raspberry Pi.
In the second phase, the Raspberry Pi immediately begins transmission of the
output data to the selected IoT dashboard using the MQTT protocol.
In the third phase, we use the provided output data to perform further analysis and
enable detection of physical and health states of the patient/athlete.
Wearable Electronics
• Wearable electronics such as wearable gadgets (smart watches, smart glasses,
wristbands, etc.) and fashion electronics ( with electronics integrated in clothing and
accessories,(eg. Google Glass or Moto 360 smart watch) provide various functions
and features to assist us in our daily activities and making us lead healthy lifestyles.
• Smart watches that run mobile operating systems (such as Android) provide enhanced
functionality beyond just timekeeping.
• With smart watches, the users can search the Internet, play audio/video files, make
calls (with or without paired mobile phones), play games and use various kinds of
mobile applications.
• Smart glasses allow users to take photos and record videos, get map directions, check
flight status, and search the Internet by using voice commands.
• Smart shoes monitor walking or running speeds and jumps with the help of embedded
sensors and be paired with smart phones to visualize the data.
• Smart wristbands can track the daily exercise and calories burnt.
Figure 1: Wearable Technologies
Types of wearables include smart watches, fitness bands, glasses, smart clothing, smart
shoes, and hear ables. While some can tell you how fit you are, others can help you with
navigation or tracking on the go.
Wearables are not just about being portable, however; they are also about the cloud-based
services that take the data from the devices and return insights and analytics to benefit the
user.