Unit 2
Unit 2
Memory And I/O Devices Interfacing – Programming Embedded Systems in C – Need for
RTOS – Multiple Tasks and Processes – Context Switching – Priority Based Scheduling
Policies.
When G1 is low or G2A is high or G2B is high, all output lines become high
Thus, 74LS138 acts as decoder only when G1 is high, and G2A and G2B are low
The memory locations for EPROM1lie in the range 0000 to 1FFF
These are the memory locations for ZONE0 for the memory chip which is
connected to the output line Y0 of the decoder
Similarly, for ZONE1 is 2000 to 3FFFand for ZONE7 is E000 to FFFF
I/O Interfacing
The interfacing of I/O devices through decoder 74LS138
An address of the I/O device is o 8-bits, only A8–A15 lines of address bus are
used for I/O addressing
The address lines A8, A9 and A10 have been applied to select lines A, B and C of
the 74LS138
The address line A11–A15 are applied to G2B through a NAND gate
G2B becomes low only when all address lines A11–A15 are high, G2A is
grounded
IO/͞M is connected to G1, when IO/͞M goes high for I/O read/write operation, G1
goes high.
The following are few factors that are to be considered while selecting the
Programming Language for the development of Embedded Systems.
Size: The memory that the program occupies is very important as Embedded
Processors like Microcontrollers have a very limited amount of ROM (Program
Memory).
Speed: The programs must be very fast i.e., they must run as fast as possible. The
hardware should not be slowed down due to a slow running software.
Portability: The same program can be compiled for different processors.
Ease of Implementation
Ease of Maintenance
Readability
The C Programming Language, developed by Dennis Ritchie in the late 60’s and
early 70’s, is the most popular and widely used programming language.
The C Programming Language provided low level memory access using an
uncomplicated compiler (a software that converts programs to machine code)
and achieved efficient mapping to machine instructions.
The C Programming Language became so popular that it is used in a wide range
of applications ranging from Embedded Systems to Super Computers.
Embedded C Programming Language, which is widely used in the development
of Embedded Systems, is an extension of C Program Language.
The Embedded C Programming Language uses the same syntax and semantics of
the C Programming Language like main function, declaration of datatypes,
defining variables, loops, functions, statements, etc.
The extension in Embedded C from standard C Programming Language include
I/O Hardware Addressing, fixed point arithmetic operations, accessing address
spaces, etc.
Difference between C and Embedded C
There is not much difference between C and Embedded C apart from few
extensions and the operating environment. Both C and Embedded C are ISO
Standards that have almost same syntax, datatypes, functions, etc.
Embedded C is basically an extension to the Standard C Programming Language
with additional features like Addressing I/O, multiple memory addressing and
fixed-point arithmetic, etc.
C Programming Language is generally used for developing desktop applications,
whereas Embedded C is used in the development of Microcontroller based
applications.
We will start with two of the basic features of the Embedded C Program: Keywords and
Datatypes.
Keywords in Embedded C
A Keyword is a special word with a special meaning to the compiler (a C
Compiler for example, is a software that is used to convert program written in C
to Machine Code).
For example, if we take the Keil’s Cx51 Compiler (a popular C Compiler for 8051
based Microcontrollers) the following are some of the keywords:
bit
sbit
sfr
small
large
Data Types in C Programming Language (or any programming language for that
matter) help us declaring variables in the program.
There are many data types in C Programming Language like signed int, unsigned
int, signed char, unsigned char, float, double, etc.
In addition to these there few more data types in Embedded C.
The following are the extra data types in Embedded C associated with the Keil’s
Cx51 Compiler.
bit
sbit
sfr
sfr16
The following table shows some of the data types in Cx51 Compiler along with
their ranges.
Data Type Bits (Bytes) Range
The next thing to understand in the Basics of Embedded C Program is the basic
structure or Template of Embedded C Program.
The following part shows the basic structure of an Embedded C Program.
Preprocessor Directive:
A Preprocessor Directive in Embedded C is an indication to the compiler that it
must look in to this file for symbols that are not defined in the program.
In C Programming Language (also in Embedded C), Preprocessor Directives are
usually represented using # symbol like #include… or #define….
In Embedded C Programming, we usually use the preprocessor directive to
indicate a header file specific to the microcontroller, which contains all the SFRs
and the bits in those SFRs.
In case of 8051, Keil Compiler has the file “reg51.h”, which must be written at the
beginning of every Embedded C Program.
Global Variables: Global Variables, as the name suggests, are Global to the program
i.e., they can be accessed anywhere in the program.
Local Variables: Local Variables, in contrast to Global Variables, are confined to
their respective function.
Main Function: Every C or Embedded C Program has one main function, from where
the execution of the program begins.
The following image shows the circuit diagram for the example circuit. It
contains an 8051 based Microcontroller (AT89S52) along with its basic
components (like RESET Circuit, Oscillator Circuit, etc.) and components for
blinking LEDs (LEDs and Resistors).
Need for RTOS
Network Multi
1. Hard Real-Time operating system:
These operating systems guarantee that critical tasks be completed within a
range of time. For example, a robot is hired to weld a car body. If the robot
welds too early or too late, the car cannot be sold, so it is a hard real-time
system that requires complete car welding by robot hardly on the time.,
scientific experiments, medical imaging systems, industrial control systems,
weapon systems, robots, air traffic control systems, etc.
Advantages:
The advantages of real-time operating systems are as follows-
1. Maximum consumption –
Maximum utilization of devices and systems. Thus, more output from all the
resources.
2. Task Shifting –
Time assigned for shifting tasks in these systems is very less. For example, in
older systems, it takes about 10 microseconds. Shifting one task to another and
in the latest systems, it takes 3 microseconds.
3. Focus On Application –
Focus on running applications and less importance to applications that are in
the queue.
6. Memory Allocation –
Memory allocation is best managed in these types of systems.
Disadvantages:
The disadvantages of real-time operating systems are as follows-
1. Limited Tasks –
Very few tasks run simultaneously, and their concentration is very less on few
applications to avoid errors.
3. Complex Algorithms –
The algorithms are very complex and difficult for the designer to write on.
5. Thread Priority –
It is not good to set thread priority as these systems are very less prone to
switching tasks.
Complex Simple
Tasks are units of sequential code implementing the system actions and executed
concurrently by an OS.
Real time systems require that tasks be performed within a particular time
frame. Task is related to the performance of the real time systems.
A task, also called a thread, is a simple program that thinks it has the CPU all to
itself. The design process for a real-time application involves splitting the work
to be done into tasks responsible for a portion of the problem.
Each task is assigned a priority, its own set of CPU registers and its own stack
area.
In the specified time constraint, system must produce its correct output. If
system fail to meet the specified output, then the system is fail or quality
decreases.
Real time systems are used for space flights, air traffic control, high speed
aircraft, telephone switching, electricity distribution, industrial processes etc.
Real time system must be 100 % responsive 100 % of the time. Response time is
measured in fractions of second, but this is an ideal not often achieved in the
field.
Real time database is updated continuously. In aircraft example, flight data is
continuously changing so it is necessary to update. It includes speed, direction,
location, height etc.
A process is a sequential program in execution. Terms like job and task are also
used to denote a process.
A process is a dynamic entity that executes a program on a particular set of data.
Multiple processes may be associated with one program.
Task is a single instance of an executable program.
In a multiprogramming environment, usually more programs to be executed
than could possibly be rim at one time. In CPU scheduling, it switches from one
process to another process. CPU resource management is commonly known as
scheduling.
Objective of the multiprogramming is to increases the CPU utilization. CPU
scheduling is one kind of fundamental operating system functions.
Each process has an execution state which indicates what process is currently
doing.
The process descriptor is the basic data structure used to represent the specific
state for each process.
A state diagram is composed of a set of states and transitions between states.
Input and output of the compressor box is serial ports.
It takes uncompressed data and processes it.
Output of the box is compressed data.
Given data is compressed using predefined compression table. Modem is used
such type of box.
The program's need to receive and send data at different rates. It is an example
of rate control problems. It uses asynchronous input. You can provide a button
for compressed mode and uncompressed mode.
When user press uncompressed mode, the input data is passed through
unchanged.
The button will be depressed at a much lower rate than characters will be
received, since it is not physically possible for a person to repeatedly depress a
button at even slow serial line rates.
Keeping up with the input and output data while checking on the button can
introduce some very complex control code into the program.
Sampling the button's state too slowly can cause the machine to miss a button
depression entirely, but sampling it too frequently and duplicating a data value
can cause the machine to incorrectly compress data.
This problem is solved by maintaining counter.
Context Switching
When switching perform in the system, it stores the old running process's status
in the form of registers and assigns the CPU to a new process to execute its tasks.
While a new process is running in the system, the previous process must wait in
a ready queue.
The execution of the old process starts at that point where another process
stopped it.
A context switching helps to share a single CPU across all processes to complete
its execution and store the system's tasks status.
When the process reloads in the system, the execution of the process starts at the
same point where there is conflicting.
Following are the reasons that describe the need for context switching in the
Operating system.
1. The switching of one process to another process is not directly in the system. A
context switching helps the operating system that switches between the multiple
processes to use the CPU's resource to accomplish its tasks and store its context.
We can resume the service of the process at the same point later. If we do not
store the currently running process's data or context, the stored data may be lost
while switching between processes.
2. If a high priority process falls into the ready queue, the currently running process
will be shut down or stopped by a high priority process to complete its tasks in
the system.
3. If any running process requires I/O resources in the system, the current process
will be switched by another process to use the CPUs. And when the I/O
requirement is met, the old process goes into a ready state to wait for its
execution in the CPU. Context switching stores the state of the process to resume
its tasks in an operating system. Otherwise, the process needs to restart its
execution from the initials level.
4. If any interrupts occur while running a process in the operating system, the
process status is saved as registers using context switching. After resolving the
interrupts, the process switches from a wait state to a ready state to resume its
execution at the same point later, where the operating system interrupted occurs.
5. A context switching allows a single CPU to handle multiple process requests
simultaneously without the need for any additional processors.
Suppose that multiple processes are stored in a Process Control Block (PCB). One
process is running state to execute its task with the use of CPUs.
As the process is running, another process arrives in the ready queue, which has
a high priority of completing its task using CPU.
Here we used context switching that switches the current process with the new
process requiring the CPU to finish its tasks.
While switching the process, a context switch saves the status of the old process
in registers.
When the process reloads into the CPU, it starts the execution of the process
when the new process stops the old process.
If we do not save the state of the process, we have to start its execution at the
initial level.
In this way, context switching helps the operating system to switch between the
processes, store or reload the process when it requires executing its tasks.
Interrupts: A CPU requests for the data to read from a disk, and if there are any
interrupts, the context switching automatic switches a part of the hardware that
requires less time to handle the interrupts.
Kernel/User Switch: It is used in the operating systems when switching between the
user mode, and the kernel/user mode is performed.
A PCB (Process Control Block) is a data structure used in the operating system to
store all data related information to the process.
Before changing the state of the process P1, context switching saves the context
of the process P1 in the form of registers and the program counter to the PCB1.
After that, it loads the state of the P2 process from the ready state of the PCB2 to
the running state.
Similarly, process P2 is switched off from the CPU so that the process P1 can
resume execution.
P1 process is reloaded from PCB1 to the running state to resume its task at the
same point.
Otherwise, the information is lost, and when the process is executed again, it
starts execution at the initial level.
1. Preemptive Scheduling:
Tasks execute according to their priorities.
In case a lower priority task is running and a higher priority task arrives in the
waiting state then the lower priority task is put on hold.
The higher priority task replaces it and once done executing the lower priority
task resumes execution from when it was paused.
This process requires special hardware like a timer.
2. Non-Preemptive Scheduling:
The OS allocates the CPU to a specific process that releases the CPU either
through context switching or after termination.
We can use this method on various hardware platforms because unlike
preemptive scheduling it doesn’t require any special hardware.
Step 0: At time = 0, two processes P1 and P2 arrive. Since P1(with a burst time 4) has
higher priority it executes before P2.
Step 1: At time = 1, no new process arrives and execution of P1 continues.
Step 2: At time = 2, no new process arrives, P2 is in the waiting queue, and execution of
P1 continues.
Step 3: At time = 3, no new process arrives, P2 is in the waiting queue, and execution of
P1 continues.
Step 4: At time = 4, P1 finishes execution, and P2 starts execution.
Step 5: At time = 5, P2 continues execution as no new process arrives.
Step 6: At time = 6, P3 arrives and since it has a higher priority of 1 the OS preempts P2.
P3 starts executing.
Step 14: At time = 14, P2 completes execution. In the waiting state between P4 and P5,
P5 has a higher priority so it starts executing.
Step 15: At time = 15, P5 continues executing.
Step 16: At time = 16, P5 completes execution and since P4 is the only process present
in the waiting state it starts executing.
Step 17: At time = 20, no process is left for execution as P5 completes execution.
Step 18: Following is the average waiting time: Waiting Time (Wt) = Start Time (St) –
Arrival Time (At) + Waiting Time for next burst
P1 = 0 – 0 = 0
P2 = 4 – 0 + 7 = 11
P3 = 6 – 6 = 0
P4 = 16 – 11 = 5
Thus, the average waiting time is: (0+11+0+5+2)/5 = 18/5 = 3.6
Advantages of priority scheduling
Following are the benefits of priority scheduling method:
Easy to use.
Processes with higher priority execute first which saves time.
The importance of each process is precisely defined.
A good algorithm for applications with fluctuating time and resource
requirements.
Aging Technique
Aging technique can help prevent starvation of a process.
In this, we can increase the priority of the low-priority processes based on their
waiting time.
This ensures that no process waits for an indefinite time to get CPU time.
Introduction to the Concept of IoT Devices – IoT Devices Versus Computers – IoT
Configurations – Basic Components – Introduction to Arduino Types of Arduino –
Arduino Toolchain – Arduino Programming Structure – Sketches – Pins – Input/Output
From Pins Using Sketches – Introduction to Arduino Shields – Integration of Sensors and
Actuators with Arduino.
Different types of applications require different types of sensors to collect data from
the environment.
In an Internet of Things (IoT) ecosystem, two things are very important: the Internet
and physical devices like sensors and actuators.
As shown in Fig. 1, the bottom layer of the IoT system consists of sensor connectivity
and network to collect information.
This layer is an essential part of the IoT system and has network connectivity to the
next layer, which is the gateway and network layer.
The main purpose of sensors is to collect data from the surrounding environment.
Sensors, or ‘things’ of the IoT system, form the front end.
These are connected directly or indirectly to IoT networks after signal conversion and
processing.
But all sensors are not the same and different IoT applications require different types
of sensors.
For instance, digital sensors are straightforward and easy to interface with a
microcontroller using Serial Peripheral Interface (SPI) bus.
But for analogue sensors, either analogue-to-digital converter (ADC) or Sigma- Delta
modulator is used to convert the data into SPI output.
IOT CONFIGURATIONS
Clearly define the purpose of your IoT system, the data you want to
collect, the devices involved, and the desired outcomes. This will guide the entire
configuration process.
4. Security Considerations:
Configure your IoT platform to receive, process, and store the data
generated by your devices. Set up data ingestion pipelines and storage solutions,
such as databases, data lakes, or cloud storage.
Ensure that your IoT system is designed to handle the expected load.
Configure scaling options to accommodate an increasing number of devices and
data volume.
Thoroughly test the entire IoT system before deployment. This includes
testing device connectivity, data flow, security measures, and the overall
functionality of the system.
Deploy the configured IoT system in the target environment. Monitor its
performance, stability, and security on an ongoing basis. Implement procedures
for updates, patches, and maintenance.
Basic Components
Things or Device
These are fitted with sensors and actuators.
Sensors collect data from the environment and give to gateway where as
actuators performs the action (as directed after processing of data).
Gateway
The sensors give data to Gateway and here some kind of pre-processing of
data is even done.
It also acts as a level of security for the network and for the transmitted
data.
Cloud
The data after being received in the cloud processing is done. Various
algorithms are applied here for proper analysis of data (techniques like
Machine Learning etc are even applied).
User Interface
User end application where user can monitor or control the data.
INTRODUCTION TO ARDUINO
Arduino is an open-source electronics platform based on easy-to-use hardware
and software.
Arduino boards are able to read inputs - light on a sensor, a finger on a button,
or a Twitter message - and turn it into an output - activating a motor, turning
on an LED, publishing something online.
You can tell your board what to do by sending a set of instructions to the
microcontroller on the board.
To do so you use the Arduino programming language (based on Wiring),
and the Arduino Software (IDE), based on Processing.
Over the years Arduino has been the brain of thousands of projects, from
everyday objects to complex scientific instruments.
A worldwide community of makers - students, hobbyists, artists, programmers,
and professionals - has gathered around this open-source platform, their
contributions have added up to an incredible amount of accessible
knowledge that can be of great help to novices and experts alike.
Arduino was born at the Ivrea Interaction Design Institute as an easy tool for
fast prototyping, aimed at students without a background in electronics and
programming.
As soon as it reached a wider community, the Arduino board started changing
to adapt to new needs and challenges, differentiating its offer from simple 8-bit
boards to products for IoT applications, wearable, 3D printing, and embedded
environments.
Why Arduino?
Due to its simple and accessible user experience, Arduino has been used in
thousands of different projects and applications.
The Arduino software is easy-to-use for beginners, yet flexible enough for
advanced users.
It runs on Mac, Windows, and Linux.
Teachers and students use it to build low cost scientific instruments, to prove
chemistry and physics principles, or to get started with programming and
robotics.
Designers and architects build interactive prototypes, musicians and artists use
it for installations and to experiment with new musical instruments.
Makers, of course, use it to build many of the projects exhibited at the Maker
Faire, for example. Arduino is a key tool to learn new things. Anyone - children,
hobbyists, artists, programmers - can start tinkering just following the step by
step instructions of a kit, or sharing ideas online with other members of the
Arduino community.
There are many other microcontrollers and microcontroller platforms available
for physical computing.
Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and
many others offer similar functionality.
All of these tools take the messy details of microcontroller programming and
wrap it up in an easy-to-use package.
Arduino also simplifies the process of working with microcontrollers, but it
offers some advantage for teachers, students, and interested amateurs over
other systems:
Arduino board was designed in the Ivrea Interaction Design Institute intended
for students without a background in electronics and programming concepts.
This board started altering to adapt to new requirements and challenges,
separating its presence from simple 8-bit boards to products for IoT (Internet of
Things) applications, 3D printing, wearable, and embedded surroundings.
All boards are entirely open-source, allowing users to build them separately and
finally adapt them to their exact needs.
Over the years the different types of Arduino boards have been used to build
thousands of projects, from daily objects to compound scientific instruments. An
international community of designers, artists, students, programmers, hobbyists,
and experts has gotten together around this open-source stage, their donations
have added up to an unbelievable amount of available knowledge that can be of
immense help to beginners and specialists alike.
Arduino board has been used for making different engineering projects and
different applications.
The Arduino software is very simple to use for beginners, yet flexible adequate
for advanced users.
It runs Windows, Linux, and Mac.
Teachers and students in the schools utilize it to design low-cost scientific
instruments to verify the principles of physics and chemistry.
There are numerous other microcontroller platforms obtainable for physical
computing.
The Netmedia’s BX-24, Parallax Basic Stamp, MIT’s Handyboard, Phidget, and
many others present related functionality.
Arduino also makes simpler the working process of microcontroller, but it gives
some advantages over other systems for teachers, students, and beginners.
Inexpensive
Cross-platform
The simple, clear programming environment
Open source and extensible software
Open source and extensible hardware
The flexibility of the Arduino board is enormous so that one can do anything they
imagine.
This board can be connected very easily to different modules such as obstacle
sensors, presence detectors, fire sensors, GSM Modules GPS modules, etc.
The main function of the Arduino board is to control electronics through reading
inputs & changing it into outputs because this board works like a tool.
This board is also used to make different electronics projects in the field of
electronics, electrical, robotics, etc.
The features of different types of Arduino boards are listed in the tabular form.
Arduino Nano
Arduino Nano
As compared with the Arduino Uno board, it is small in size.
The devices like mini-USB and Arduino IDE are necessary to build the projects.
This board mainly includes analog pins-8, digital pins-14 with the set of an I/O
pin, power pins-6 & RST (reset) pins-2.
Arduino Micro
Arduino Micro
Arduino Due
This Arduino board depends on the ARM Cortex-M3 and it is the first Arduino
microcontroller board.
This board includes digital I/O pins-54 where 12-pins are PWM o/p pins, analog
pins -12, UARTs-4, a CLK with 84 MHz, an USB OTG, DAC-2, a power jack, TWI-2,
a JTAG header, an SPI header, two buttons for reset & erase.
Arduino Due
This board works with 3.3V where the highest voltage that the pins of
input/output can stand is 3.3V because providing a high voltage to any I/O pin
can lead to damage the board.
This board is simply connected to a computer through a small USB cable
otherwise it can be powered through an AC to DC adapter.
This Arduino Due board is suitable with all shields of Arduino at 3.3V.
LilyPad Arduino Board
The Lily Pad Arduino board is a wearable e-textile technology expanded by Leah
“ Buechley” and considerately designed by “Leah and SparkFun”.
Each board was imaginatively designed with huge connecting pads & a smooth
back to let them to be sewn into clothing using conductive thread.
This Arduino also comprises of I/O, power, and also sensor boards which are
built especially for e-textiles. These are even washable!
This Bluetooth mainly depends on the microcontroller like ATmega168 and this
board is also called Arduino BT.
This kind of board includes different components like digital pins-16, analog
pins-6, crystal oscillator-16MHz, reset button, screw terminals, ICSP header.
In this board, the screw terminals are mainly used for power.
The programming of this Bluetooth microcontroller can be done with Bluetooth
like a wireless connection.
Arduino Diecimila
The RedBoard Arduino board can be programmed using a Mini-B USB cable
using the Arduino IDE.
It will work on Windows 8 without having to modify your security settings.
It is more constant due to the USB or FTDI chip we used and also it is entirely flat
on the back.
Creating it is very simple to utilize in the project design. Just plug the board,
select the menu option to choose an Arduino UNO and you are ready to upload
the program.
You can control the RedBoard over a USB cable using the barrel jack.
Arduino Esplora
Arduino Esplora
The programming of this board can be done using Arduino Software like IDE
which takes the data from the inputs and controls the output like a keyboard or a
mouse.
As compared with all other types of Arduino boards, this esplora is totally
different because the inputs, as well as outputs, are connected to the board
already.
So connecting the components like actuators or sensors is very simple.
Thus, programming is somewhat different as compared with other types of
Arduino boards.
This esplora board includes its own library so that the data from the sensors &
actuators are very easy to read and write.
The Arduino Pro Micro board is the same as the Arduino Mini board apart from
the ATmega32U4 Microcontroller.
This pro mic board includes digital I/O pins-12, pulse width modulation (PWM)
pins-5, serial connections of Tx & Rx &10-bit ADC.
Arduino Ethernet
Arduino Zero
This is a powerful as well as simple 32-bit board and it provides the best
platform for innovative projects like wearable technology, smart IoT devices,
crazy robotics, high-tech automation, etc.
This board expands by providing improved performance, permitting a range of
project opportunities & performs like a great educational tool.
Arduino Zero
This board includes analog input pins-6, digital I/O pins-14, a power jack, AREF
button, UART port pins, a USB connector & an In-Circuit Serial Programming
(ICSP) header, a power header, etc.
This board is power-driven through the SAMD21 microcontroller based on
Atmel.
The main feature of this is EDBG (Embedded Debugger) based on Atmel and it
provides a complete debug interface without using extra hardware.
Designing one of the best Arduino development boards that are familiar with
Arduino MEGA & UNO is the hifive1 board that includes a 320 MHz RISC-V
microcontroller unit.
This kind of fastest board has Cortex M-7 with a 400 MHz microcontroller unit.
Flash memory – upto 2Mbytes
RAM – 1 Mbyte
DMA controllers -4
Communication peripherals- Up to 35
16-bit Max Resolution with 3× ADCs
D/A converters with 2× 12-bit
Hardware with JPEG Codec
Timers -22 & Watchdogs – 200Mhz
HW Calendar & RTC with Sub-second Accuracy
Cryptographic Acceleration
5V 1 USB through
RedBoard 16MHz 14 14 6
FTDI
FTDI-
Arduino Pro 3.3V 1
8MHz 14 14 6 Compatible
3.3V/8MHz
Header
FTDI-
Arduino Pro 5V 1
16MHz 14 14 6 Compatible
5V/16MHz
Header
FTDI-
Arduino Mini 5V 1
16MHz 14 14 8 Compatible
05
Header
Arduino Pro FTDI-
Mini 3.3V 8MHz 14 14 6 1 Compatible
3.3V/8MHz Header
Arduino Pro FTDI-
Mini 5V 16MHz 14 8 6 1 Compatible
5V/16MHz Header
FTDI-
Arduino 5V 1
16MHz 14 6 6 Compatible
Ethernet
Header
FTDI-
Compatible
Arduino Fio 3.3V 8MHz 14 8 6 1 Header or
Wirelessly via
XBee†
LilyPad FTDI-
Arduino 328 3.3V 8MHz 14 6 6 1 Compatible
Main Board Header
LilyPad FTDI-
Arduino 3.3V 8MHz 9 4 5 0 Compatible
Simple Board Header
ARDUINO TOOLCHAIN
The statement here may make total sense to you if you’ve been working with
Arduino for a while.
Or, if not, it may not make any sense at all.
Either way, just go with me here for a minute.
This is just an illustration which does not require complete understanding of the
code.
Int Temp = analogRead(sensorPin);
If (Temp > 500)
{
//more complex instructions go here
}
How does a complex statement like this one actually run on a microcontroller
that only knows basic arithmetic, logic, moving and shifting?
How do these statements translate into the ones and zeros that the
microcontroller can actually understand?
Microcontrollers are electronic devices, so to speak to one you need to send
electronic signals.
That’s where binary numbers come into play.
A zero represents low or off, usually 0 V or close to it, while a one represents
high or on, usually either about 5 V or 3.3 V, depending on the processor.
A good way to think of binary numbers and digital signals is like a single pole
light switch.
The light is either on or its off, there is nothing in between.
Zero is off and one is on.
A good way to think about digital signals.
Another piece of software, called AVR Dude (for Downloader UploaDEr) starts
when we press the upload button.
This software sends the .hex file to the ATMega328 on the Arduino board.
On the chip resides the bootloader.
This bootloader was put there on purpose by the folks at Arduino and works
with AVR Dude to get the. hex into the flash memory on the chip.
All of this happens very quickly and seamlessly behind the scenes of the Arduino
IDE.
Here, we will study in depth, the Arduino program structure and we will learn more
new terminologies used in the Arduino world.
The Arduino software is open-source.
The source code for the Java environment is released under the GPL and the
C/C++ microcontroller libraries are under the LGPL.
Sketch − The first new terminology is the Arduino program called “sketch”.
Structure
Arduino programs can be divided in three main parts: Structure,
Values (variables and constants), and Functions.
In this tutorial, we will learn about the Arduino software program, step by step,
and how we can write the program without any syntax or compilation error.
Let us start with the Structure. Software structure consist of two main functions
−
Setup( ) function
Loop( ) function
Void setup ( ) {
}
PURPOSE − The setup() function is called when a sketch starts. Use it to
initialize the variables, pin modes, start using libraries, etc. The setup
function will only run once, after each power up or reset of the Arduino
board.
INPUT − -
OUTPUT − -
RETURN − -
Void Loop ( ) {
}
PURPOSE − After creating a setup() function, which initializes and sets
the initial values, the loop() function does precisely what its name
suggests, and loops consecutively, allowing your program to change and
respond. Use it to actively control the Arduino board.
INPUT − -
OUTPUT − -
RETURN − -
SKETCHES
The Internet of Things is hard to track. As I point out in Pax Technica, what
makes it hard to estimate the size of the Internet of Things (IoT) is the fact that
the addressing system for devices is changing.
The Carna Bot found 1.3 billion devices with an IPv4 address in 2012.
The IoT is developing now because we’ve figured out how to give everything we
produce an address, we have enough bandwidth to allow device-to-device
communications, and we have the capacity to store all the data those exchanges
create.
It is hard to get a consistent punchline from all the different ways of counting the
Internet of Things, but the figure below puts all the estimates together so we can
at least see what the trend line might be.
The figure includes two trend lines, one for the count of the human population
on the planet and one of the count of the population of connected devices.
The projections go through to the year 2025 and the counts are in billions.
Human population data is from the “medium scenario” of the latest UN
Population revision.
The first is the year the “Internet of Things” was coined as a term—1998.
The figure also reveals the crossover point between the two trend lines.
This second milestone is around 2014, and it marks the point at which the
number of devices communicating with each other surpassed the number of
people communicating with each other.
Knowing a bit about how analysts generate these numbers, I have shaded the
data points that represent projections for the years ahead.
Many of the data points from 1995 to 2015 are best guesses, are unreproducible,
are taken from another source, or are poorly explained.
But as a set, at least these past values are internally consistent so we may have
some confidence in them.
The research that went into the values from 2015 forward are only guesses or
projections laden with assumptions.
They are often poorly explained and unreproducible because the notes on how
they were created are hidden behind paywalls.
Numbers from chip designers and makers, such as Intel and Cisco, are probably
among the most credible.
These numbers vary greatly. Gartner always speaks of the “installed base” to
distinguish between the number of chips that get made and the number that are
actually embedded into objects and shipped out to consumers.
The number 50 billion connections by 2020 have been parroted across multiple
industry documents.
For some researchers this means the number is being repeated without
verification.
But at this point it also appears to be credible enough that the technology
industry is sticking to it.
What is an input pin, output pin, and PWM pin on an Arduino Uno or Arduino
MEGA 2560?
This final part of the Arduino tutorial for beginners looks at the most basic
Arduino concepts.
That is, how to use Arduino digital pins as inputs and outputs.
Basically, Arduino digital pins are configurable between three different functions
as follows.
Firstly, input pins for reading the state of a pin, or attached switch for example.
Thirdly some pins have special functions such as serial communications and
PWM (Pulse Width Modulation).
Digital Arduino input and output pins are briefly covered in part 8 of this tutorial
on how to use a push button switch with Arduino.
This part of the tutorial includes more details on digital input and output pins. In
addition the basics of PWM pins are explained.
The following subsections highlight the main Arduino Uno and Arduino MEGA
2560 pins.
Digital pins that are configurable as either inputs or outputs are called
input/output pins.
In addition, the two pins at the top right of the below image are for serial
communications.
Arduino Uno Digital Input Output Pins, PWM Pins and Communication Pins
In addition to the marked pins, there are actually other communication pins.
Analog pins at the bottom right of the Arduino Uno are also configurable as
digital pins.
Whereas this Arduino tutorial for beginners covers some parts of the Arduino
Uno hardware, the Ultimate Arduino Uno Hardware Manual covers a lot more.
Arduino MEGA 2560 Digital Input Pins, Output Pins and PWM Pins
The following image marks Arduino MEGA 2560 digital input and output pins
that are also PWM pins on the top left.
To the right of these are digital input and output pins that are also
communication pins.
At the right end of the Arduino MEGA 2560 is a double row of digital pins.
All digital pins are configurable as input pins or output pins.
Arduino MEGA 2560 Digital Pins with PWM and Communications Pins
There are actually some communication pins and PWM pins on the double
connector at the end of the Arduino MEGA 2560.
Configure Arduino digital pins as input pins to read the state of a switch for
example.
Digital input pins enable the state of a pin to be read in Arduino sketch code.
That is, an input is either HIGH (also called logic 1), or LOW (also called logic
low).
There are many other examples of 5V buzzers, but the TDB05LFPN draws less
than 30mA of current.
This means that this buzzer can be directly connected to and driven by an
Arduino Uno or Arduino MEGA 2560 pin.
Arduino output pin current limits are actually more complex than just stating a
maximum current draw such as 20mA per pin.
These groups or banks of pins have limits to how much current can be drawn
from them.
As a result, 30mA can be drawn from some pins, but not too many in a pin group
or bank.
Connect a buzzer directly to an Arduino Uno or Arduino MEGA 2560 output pin if
the buzzer is low power.
Also use a transistor when the buzzer operates from a voltage that is higher than
12V.
This method reduces the amount of current drawn from an Arduino Pin.
In addition, a buzzer that operates from more that 5V must be connected using a
transistor and external power supply.
Some Arduino Uno and Arduino MEGA 2560 digital pins have PWM capabilities,
as is mentioned above.
Control the brightness of an LED using PWM and the Arduino fade example
sketch.Control an LED attached to pin 9 of an Arduino Uno or MEGA 2560 using
the fade example sketch.
The links to the Arduino tutorial page from the above tutorial page show a 220
ohm resistor in the circuit.
Use a 470 ohm resistor if you do not have a 220 ohm resistor.
This final part of the Arduino tutorial for beginners shows a simple circuit built
without an Arduino.
Build the dual LED flasher circuit on a breadboard and power it from Arduino 5V.
This circuit demonstrates a cheap alternative to Arduino that flashes two LEDs
alternately.
Arduino shields are the boards, which are plugged over the Arduino board to
expand its functionalities.
There are different varieties of shields used for various tasks, such as Arduino
motor shields, Arduino communication shields, etc.
Shield is defined as the hardware device that can be mounted over the board to
increase the capabilities of the projects.
For example, Ethernet shields are used to connect the Arduino board to the
Internet.
We can also connect the modules and sensors to the shields with the help of the
connection cable.
Arduino motor shields help us to control the motors with the Arduino board.
Types of Shields
Ethernet shield
The Ethernet shields are used to connect the Arduino board to the Internet.
We need to mount the shield on the top of the specified Arduino board.
The USB port will play the usual role to upload sketches on the board.
The micro SD card slot can be interfaced with the help of the SD card library.
Xbee Shield
We can communicate wirelessly with the Arduino board by using the Xbee Shield
with Zigbee.
It reduces the hassle of the cable, which makes Xbee a wireless communication
model.
The Xbee wireless module allows us to communicate outdoor upto 300 feet and
indoor upto 100 feet.
The shield consists of two LED pads, two power lines, and SPI signal pads.
The IOREF (Input Output voltage REFerence) and GND (Ground) are the two
power lines on the board.
We can also solder the SMD (Surface Mount Device) ICs on the prototyping area.
A maximum of 24 pins can be integrated onto the SMD area
.
Relay shield
The Arduino digital I/O pins cannot bear the high current due to its voltage and
current limits.
It provides a solution for controlling the devices carrying high current and
voltage.
It also provides NO/NC interfaces and a shield form factor for the simple
connection to the Arduino board.
The NO (Normally Open), NC (Normally Closed), and COM pins are present on
each relay.
Motor shield
The motor shield helps us to control the motor using the Arduino board.
We can also measure the absorption current of each motor with the help of the
motor shield.
The motor shield is based on the L298 chip that can drive a step motor or two DC
motors.
It also consists of the heat sinker, which increases the performance of the motor
shield.
The applications of the motor shield are intelligent vehicles, micro-robots, etc.
LCD shield
The keypad of LCD (Liquid Crystal Display) shield includes five buttons called as
up, down, left, right, and select.
There are 6 push buttons present on the shield that can be used as a custom
menu control panel.
It consists of the 1602 white characters, which are displayed on the blue
backlight LCD.
The LED present on the board indicates the power ON.
The five keys present on the board helps us to make the selection on menus and
from board to our project.
The LCD shield is popularly designed for the classic boards such as Duemilanove,
UNO, etc.
Bluetooth shield
The Bluetooth shield can be used as a wireless module for transparent serial
communication.
It includes a serial Bluetooth module. D0 and D1 are the serial hardware ports in
the Bluetooth shield, which can be used to communicate with the two serial
ports (from D0 to D7) of the Arduino board.
We can install Groves through the two serial ports of the Bluetooth shield called
a Grove connector.
It has a touchpad interface that allows to integrate the Arduino board with the
touch shield.
The board can work with the logic level of 3.3V or 5V.
2. Gather Components:
Ensure you have all the necessary components, including the
Arduino board, sensors, actuators, breadboard, jumper wires, and any
additional modules required (e.g., motor drivers or relay modules).
3. Wiring:
Connect the sensors and actuators to the Arduino using jumper
wires and a breadboard if needed. Most sensors and actuators require
power (VCC), ground (GND), and data pins. Consult the datasheets or
documentation for specific wiring details.
4. Install Libraries:
Many sensors and actuators require Arduino libraries to simplify
communication. Install the required libraries using the Arduino IDE's
Library Manager. This will give you access to pre-written functions that
interact with the sensors and actuators.
5. Code:
Write the Arduino code to read data from sensors and control
actuators. Use the functions provided by the installed libraries to
interface with the components. You'll need to understand the datasheets
and library documentation to properly configure and use the sensors and
actuators.
10.Documentation:
Document your wiring, code, and any setup instructions. This will
be helpful if you need to revisit the project in the future or if you want to
share your project with others.
IoT devices are found everywhere and will enable circulatory intelligence in the
future.
The IoTs allow people and things to be connected any time, any space, with
anything and anyone, using any network and any service.
The client, when required, requests the information from the server.
This request is usually in the encoded format.
This model is stateless since the data between the requests is not
retained and each request is independently handled.
The server Categories the request, and fetches the data from the
database and its resource representation.
2. Publisher-Subscriber Model –
It sends the data to the topic which are managed by the broker.
Hence, Brokers responsibility is to accept data from publishers and send it to the
appropriate consumers.
The broker only has the information regarding the consumer to which a
particular topic belongs to which the publisher is unaware of.
3. Push-Pull Model –
The push-pull model constitutes data publishers, data consumers, and data
queues.
The consumers, present on the other side, pull the data out of the queue.
Thus, the queue acts as the buffer for the message when the difference occurs in
the rate of push or pull of data on the side of a publisher and consumer.
Queues help in decoupling the messaging between the producer and consumer.
Queues also act as a buffer which helps in situations where there is a mismatch
between the rate at which the producers push the data and consumers pull the
data.
4. Exclusive Pair –
The connection is constant and remains open till the client sends a request to
close the connection.
The Server has the record of all the connections which has been opened.
This is a state-full connection model and the server is aware of all open
connections.
1. Bluetooth
2. Zigbee
Zigbee is a WLAN and a wireless technology that aims to support extremely low
power devices.
It supports these kinds of devices and makes it possible to connect them to the
internet.
It is an open global standard and works on IEEE 802.15.4 physical radio
standards.
IoT devices do not require extra functionality and Zigbee is an ideal protocol for
transferring data from one communication point to another.
Zigbee makes data flow easy.
It is used to send small amounts of data using very less power which is why it is
used in machine-to-machine communication(M2M) and IoT.
4. Wifi
5. Z-Wave
6. Cellular
Cellular connects the devices to anything and everything without the need for
smartphones or gateway.
This means it connects devices directly to the base station without any
intermediaries.
These connections are always present even in remote areas.
Cellular IoT makes it possible to construct less power-consuming devices that
connect to the internet which was not possible before.
You can easily send small packs of data through a cellular network.
5G is the latest cellular technology that is taking over IoT devices with rapid
speed.
7. Sigfox
Sigfox was the first to introduce LPWAN technologies in the development of IoT
projects.
It uses a low-power wide area network to intercommunicate between IoT
devices via the internet.
It supports long-distance communication for sending and receiving small
messages.
8. Ethernet
9. NFC
11. LoRaWAN
Low range wide area network or LoRaWAN is a wide area network protocol.
It was constructed to connect objects to the internet and to act as a mode of
communication between these objects.
These objects could be home automation devices, smart cars, thermostats and so
on.
BLUETOOTH
What is Bluetooth?
Bluetooth simply follows the principle of transmitting and receiving data using
radio waves.
It can be paired with the other device which has also Bluetooth but it should be
within the estimated communication range to connect.
When two devices start to share data, they form a network called piconet which
can further accommodate more than five devices.
Bluetooth Architecture:
The architecture of Bluetooth defines two types of networks:
1. Piconet
2. Scatternet
Piconet:
Piconet is a type of Bluetooth network that contains one primary node called
the master node and seven active secondary nodes called slave nodes.
Thus, we can say that there is a total of 8 active nodes which are present at a
distance of 10 meters.
The communication between the primary and secondary nodes can be one-to-
one or one-to-many.
Possible communication is only between the master and slave; Slave-slave
communication is not possible.
It also has 255 parked nodes, these are secondary nodes and cannot take
participation in communication unless it gets converted to the active state.
Scatternet:
It is formed by using various piconets.
A slave that is present in one piconet can act as master or we can say primary in
another piconet.
This kind of node can receive a message from a master in one piconet and deliver
the message to its slave in the other piconet where it is acting as a master.
This type of node is referred to as a bridge node.
A station cannot be mastered in two piconets.
Types of Bluetooth
Various types of Bluetooth are available in the market nowadays.
In-Car Headset: One can make calls from the car speaker system without the
use of mobile phones.
Stereo Headset: To listen to music in car or in music players at home.
Webcam: One can link the camera with the help of Bluetooth with their laptop
or phone.
Bluetooth-equipped Printer: The printer can be used when connected via
Bluetooth with mobile phone or laptop.
Bluetooth Global Positioning System (GPS): To use GPS in cars, one can
connect their phone with car system via Bluetooth to fetch the directions of
the address.
Advantage:
It is a low-cost and easy-to-use device.
It can also penetrate through walls.
It creates an Ad-hoc connection immediately without any wires.
It is used for voice and data transfer.
Disadvantages:
It can be hacked and hence, less secure.
It has a slow data transfer rate: of 3 Mbps.
It has a small range: 10 meters.
Bluetooth communication does not support routing.
The issues of handoffs have not been addressed.
Applications:
It can be used in laptops, and in wireless PCs, printers.
It can be used in wireless headsets, wireless PANs, and LANs.
It can connect a digital camera wirelessly to a mobile phone.
It can transfer data in terms of videos, songs, photographs, or files from one
cell phone to another cell phone or computer.
It is used in the sectors of medical health care, sports and fitness, Military.
WIFI
E
SS is made up of 2 or more BSSs with APs.
BSSs are connected to the distribution system via their APs.
The distribution system can be any IEEE LAN such as Ethernet.
ESS has 2 kinds of stations:
1. Mobile – stations inside the BSS
2. Stationary – AP stations that are part of wired LAN.
The topmost green box represents the distribution system and the other 2 green
boxes represent the APs of 2 BSSs.
ZIGBEE
ZigBee is a Personal Area Network task group with low rate task group 4.
It is a technology of home networking. ZigBee is a technological standard created
for controlling and sensing the network.
As we know that ZigBee is the Personal Area Network of task group 4 so it is
based on IEEE 802.15.4 and is created by Zigbee Alliance.
ZigBee is an open, global, packet-based protocol designed to provide an easy-to-
use architecture for secure, reliable, low power wireless networks.
Flow or process control equipment can be place anywhere and still communicate
with the rest of the system.
It can also be moved, since the network doesn’t care about the physical location
of a sensor, pump or valve.
IEEE802.15.4 developed the PHY and MAC layer whereas, the ZigBee takes care of
upper higher layers.
ZigBee is a standard that addresses the need for very low-cost implementation of
Low power devices with Low data rates for short-range wireless
communications.
IEEE 802.15.4 supports star and peer-to-peer topologies.
The ZigBee specification supports star and two kinds of peer-to-peer topologies,
mesh and cluster tree.
ZigBee-compliant devices are sometimes specified as supporting point-to-point
and point-to-multipoint topologies.
Operating Frequency Bands (Only one channel will be selected for use in a network):
1. Channel 0: 868 MHz (Europe)
2. Channel 1-10: 915 MHz (the US and Australia)
3. Channel 11-26: 2.4 GHz (Across the World)
Features of Zigbee:
1. Stochastic addressing: A device is assigned a random address and announced.
Mechanism for address conflict resolution. Parents node don’t need to maintain
assigned address table.
2. Link Management: Each node maintains quality of links to neighbors. Link quality is
used as link cost in routing.
3. Frequency Agility: Nodes experience interference report to channel manager, which
then selects another channel
4. Asymmetric Link: Each node has different transmit power and sensitivity. Paths
may be asymmetric.
5. Power Management: Routers and Coordinators use main power. End Devices use
batteries.
Advantages of Zigbee:
1. Designed for low power consumption.
2. Provides network security and application support services operating on the
top of IEEE.
3. Zigbee makes possible completely networks homes where all devices are able
to communicate and be
4. Use in smart home
5. Easy implementation
6. Adequate security features.
7. Low cost: Zigbee chips and modules are relatively inexpensive, which makes
it a cost-effective solution for IoT applications.
8. Mesh networking: Zigbee uses a mesh network topology, which allows for
devices to communicate with each other without the need for a central hub or
router. This makes it ideal for use in smart home applications where devices
need to communicate with each other and with a central control hub.
9. Reliability: Zigbee protocol is designed to be highly reliable, with robust
mechanisms in place to ensure that data is delivered reliably even in adverse
conditions.
Disadvantages of Zigbee:
1. Limited range: Zigbee has a relatively short range compared to other
wireless communications protocols, which can make it less suitable for
certain types of applications or for use in large buildings.
2. Limited data rate: Zigbee is designed for low-data-rate applications, which
can make it less suitable for applications that require high-speed data
transfer.
3. Interoperability: Zigbee is not as widely adopted as other IoT protocols,
which can make it difficult to find devices that are compatible with each
other.
4. Security: Zigbee’s security features are not as robust as other IoT protocols,
making it more vulnerable to hacking and other security threats.
Architecture of Zigbee:
Zigbee architecture is a combination of 6 layers.
1. Application Layer
2. Application Interface Layer
3. Security Layer
4. Network Layer
5. Medium Access Control Layer
6. Physical Layer
Physical layer: The lowest two layers i.e the physical and the MAC (Medium
Access Control) Layer are defined by the IEEE 802.15.4 specifications. The
Physical layer is closest to the hardware and directly controls and
communicates with the Zigbee radio. The physical layer translates the data
packets in the over-the-air bits for transmission and vice-versa during the
reception.
Medium Access Control layer (MAC layer): The layer is responsible for the
interface between the physical and network layer. The MAC layer is also
responsible for providing PAN ID and also network discovery through beacon
requests.
Network layer: This layer acts as an interface between the MAC layer and the
application layer. It is responsible for mesh networking.
Application layer: The application layer in the Zigbee stack is the highest
protocol layer and it consists of the application support sub-layer and Zigbee
device object. It contains manufacturer-defined applications.
Channel Access:
1. Contention Based Method (Carrier-Sense Multiple Access with Collision
Avoidance Mechanism)
2. Contention Free Method (Coordinator dedicates a specific time slot to each
device (Guaranteed Time Slot (GTS)))
Zigbee Applications:
1. Home Automation
2. Medical Data Collection
3. Industrial Control Systems
4. meter reading system
5. light control system
6. Commercial
7. Government Markets Worldwide
8. Home Networking
GPS
GPS stands for Global Positioning System.
GPS is a satellite-based navigation system that allows ground users to provide
their exact location, velocity, and time 24 hours a day, in all weather conditions,
all over the world.
GPS developed by the U.S. Department of Défense.
It was basically designed to assist soldiers and military vehicles but after some
years it’s available to anyone having a GPS receiver.
GPS is a common system that most of us are using to reach from one location to
Another location.
The GPS systems are a Combination of a network of satellites that are constantly
sending coded information in the form of radio signals.
After that receiver received the signals and interprets the transmitted
information from the satellites to locate the position on earth accurately.
This satellite system is congestive of 29 satellites situated at almost 20,000
kilometers above the Earth’s surface.
The GPS satellites are located at 6 earth-centered orbital planes and travel at a
speed of 14,000 km/hr.
The GPS was first time used in combat during the Gulf wars.
Global Positioning System
Functionality of GPS:
The GPS device will first establish a connection with 3 to 4 satellites.
After that GPS satellite broadcasts a message including the location of the
receiver.
If the GPS receiver receives a Group of messages from different satellites to
calculate the exact position using the process called triangulation.
GPS satellites need an unobstructed line of sight for the broadcast.
Hence, this technology is not only for indoor but also for use in a wide area.
There some devices use nearby cell towers and open-source Wi-Fi signals.
Then technology is called LPS (Local Positioning System) and is a substitute for
GPS.
Architecture of GPS:
GPS Architecture is basically divided into three segments.
1. Space segment: The GPS satellites fly in circular orbits at an altitude of
20000 km and with a period of 12 hours. It’s powered by Solar cells. The GPS
satellite Continuously orients themselves to point their solar panels toward
the sun and their antenna. Towards the earth. Orbital planes are centered on
the earth. Orbits are designed so that, at least, Six satellites are always within
a line of sight from any location on the Planet. The GPS System Consist of 24
satellites (in present 32) Established in near-circular orbits arranged in 6
orbitals Placed at 55 Degree Inclination to the Equator at 20200 km height
and 26600 km orbital Radius. The Period of Revolution is 12 Hours. So that at
least 4 Satellites are available for observations at any time throughout the
year anywhere in the World.
2. Control Segment: The second component of GPS is the Control segment. It’s
further divided into three sub-components.
Master Control System
Monitor Station: The monitor station checks the exact latitude,
Position, Speed, and overall health of the orbiting satellites. The
control segment ensures that the GPS and Clocks remain within
acceptable limits. A station can track up to 11 satellites at a time.
This “check-up” is performed twice a day, By each station.
Ground Antennas: The ground Antennas monitor and track the
satellites from horizon to horizon. They also transmit correction
information to individual satellites. Communication with the GPS
satellites for command-and-control purposes.
3. User Segment: The Master Control Station is located at Falcon Air Force base
in Colorado Springs. Responsible for the overall management of remote
monitoring and transmission sites. Check-up is performed twice a day, by
each of the 6 stations as satellites Complete their journey around the earth.
Master Control can reposition satellites to maintain an optimal GPS
Constellation. It also includes a display for showing location and speed
information to the user. A receiver is often described by its number of
channels (this signifies how many satellites it can monitor simultaneously).
As of recent, receivers usually have between twelve and twenty channels.
There are five stations for satellites signal Receivers:
Colorado (Main Station)
Hawaii
Ascension
Diego Garcia
Kwajalein
Cape Canaveral
Usage of GPS:
There are five most uses of the GPS.
Location: - with the help of GPS we can find the exact position of the object.
Navigation: – we can navigate one location to another with the help of
GPS.GPS technology is also useful for Transportation Management and
breathing of Ship at docks.
Tracking: -with the help of GPS we can Monitor object movement like speed,
distance, position.
Mapping: – GPS also helps in creating maps of the World.
Timing: - GPS also provides the estimated time for reaching destination
measurement it depends on speed and object movement.
For Example, GPS technology is also useful for Monitoring Vehicles and Persons.
Tracking is useful in the following services:
Mass Tracking
Ship Tracking
Vehicle Tracking
GPS tracking is Mostly used by Police, Ambulance, Fire Department Service, and
Mass delivery man.
A GPS tracking device is a portable device.
GPS device allows users to monitor and track the exact location of an object.
These devices are most commonly used in Ambulance, train airplane tracking
systems.
While tracking devices are used in-car navigation systems, then GPS navigation
systems show the drivers their location on a digital map and also provide driving
instructions and direction for a destination.
Advanced feature GPS trackers use GPS technology to track a vehicle’s current
location and trip history.
We can broadcast GPS data to a computer, smartphone, or tablet.
GSM
GSM stands for Global System for Mobile Communication.
GSM is an open and digital cellular technology used for mobile communication.
It uses 4 different frequency bands of 850 MHz, 900 MHz, 1800 MHz and 1900
MHz.
It uses the combination of FDMA and TDMA.
GSM is nothing but a larger system which is divided into further 3 subsystems.
1. BSS: BSS stands for Base Station Subsystem. BSS handles traffic and signalling
between a mobile phone and the network switching subsystem. BSS having
two components BTS and BSC.
2. NSS: NSS stands for Network and Switching Subsystem. NSS is the core
network of GSM. That carried out call and mobility management functions for
mobile phone present in network. NSS have different components like VLR,
HLR and EIR.
3. OSS: OSS stands for Operating Subsystem. OSS is a functional entity which the
network operator monitors and control the system. OMC is the part of OSS.
Purpose of OSS is to offer the customer cost-effective support for all GSM
related maintenance services.
Suppose there are 3 Mobile stations which are connected with the tower and that
tower is connected to BTS through TRX, then further connected to BSC and MSC.
Let’s understand the functionality of different components.
1. MS: MS stands for Mobile System. MS comprises user equipment and software
needed for communication with a mobile network. Mobile Station (MS) = Mobile
Equipment (ME) + Subscriber Identity Module (SIM). Now, these mobile stations are
connected to tower and that tower connected with BTS through TRX. TRX is a
transceiver which comprises transmitter and receiver. Transceiver has two
performances of sending and receiving.
2. BTS: BTS stands for Base Transceiver Station which facilitates wireless
communication between user equipment and a network. Every tower has BTS.
3. BSC: BSC stands for Base Station Controller. BSC has multiple BTS. You can consider
the BSC as a local exchange of your area which has multiple towers and multiple towers
have BTS.
4. MSC: MSC stands for Mobile Switching Centre. MSC is associated with communication
switching functions such as call setup, call release and routing. Call tracing, call
forwarding all functions are performed at the MSC level. MSC is having further
components like VLR, HLR, AUC, EIR and PSTN.
VLR: VLR stands for Visitor Location Register. VLR is a database which
contains the exact location of all mobile subscribers currently present in the
service area of MSC. If you are going from one state to another state then your
entry is marked into the database of VLR.
HLR: HLR stands for Home Location Register. HLR is a database containing
pertinent data regarding subscribers authorized to use a GSM network. If you
purchase SIM card from in the HLR. HLR is like a home which contains all
data like your ID proof, which plan you are taking, which caller tune you are
using etc.
AUC: AUC stands for Authentication Centre. AUC authenticates the mobile
subscriber that wants to connect in the network.
EIR: EIR stands for Equipment Identity Register. EIR is a database that keeps
the record of all allowed or banned in the network. If you are banned in the
network then you can’t enter the network, and you can’t make the calls.
PSTN: PSTN stands for Public Switched Telephone Network. PSTN connects
with MSC. PSTN originally a network of fixed line analog telephone systems.
Now almost entirely digital in its core network and includes mobile and other
networks as well as fixed telephones. The earlier landline phones which
places at our home is nothing but PSTN.
5.OMC: OMC stands for Operation Maintenance Centre. OMC monitor and maintain the
performance of each MS, BSC and MSC within a GSM system.
Three subsystem BSS, NSS and OSS are connected with each other via some interfaces.
Total three interfaces are there:
1. Air Interface: Air interface is also known as UM interface. Interface between
MS and BTS is called as UM interface because it is mobile analog to the U
interface of ISDN.
2. Abis Interface: It is a BSS internal interface linking with BTS and BSC.
3. An interface: It provides communication between BSS and MSC.
Services of GSM:
1. Bearer services/ data services:
GSM specifies different mechanism for data transmission, The original GSM
allowing for data rates of up to 9600 bits/s.
Bearer services permit transparent or non-transparent data transmission.
Transparent bearer services:
Transparent bearer services only use the physical layer to transmit data. Data
transmission has a constant delay at throughput if no transmission error
occurs.
Non-transparent bearer services:
Non-transparent bearer services use protocols of layer two and three two
three to implement error correction and flow control. (data link layer and
network layer).
2.Tele services:
Tele services are nothing but we use now as at also.
Video calls.
Video text and face emoji.
short text message (SMS).
3.Supplementary services:
Supplementary services it means advanced services.
Conference calls.
Call waiting.
Call forwarding.
GSM security:
GSM offers several security using confidential information stored in the AUC
and in the individual SIM.
The SIM stores personal secret data and is protected with a pin against
unauthorized use.
Advantages:
Compatibility: GSM is widely used around the world, so it is compatible with many
different networks and devices.
Security: GSM offers enhanced security features such as authentication, encryption and
confidentiality, which helps to protect the user’s privacy and data.
Efficient use of bandwidth: GSM uses a time-division multiplexing (TDM) technique
which enables many users to share the same frequency channel at different times,
making it an efficient use of the available bandwidth.
Roaming: GSM allows users to roam internationally and use their mobile phones in
other countries that use the same GSM standard.
Wide range of features: GSM supports a wide range of features, including call
forwarding, call waiting, voicemail, conference calling, and more.
Disadvantages:
Limited coverage: GSM networks may have limited coverage in some remote areas,
which can make it difficult for users to make calls or access the internet.
Network congestion: GSM networks may become congested during peak hours, which
can lead to dropped calls or poor call quality.
Security vulnerabilities: Although GSM offers enhanced security features, it is still
vulnerable to certain types of attacks, such as eavesdropping and spoofing.
Data transfer speed: GSM networks offer relatively slow data transfer speeds
compared to newer technologies such as 3G and 4G.
Limited capacity: GSM networks have a limited capacity for handling large volumes of
data, which can be a disadvantage for users who require high-speed internet access or
other data-intensive applications.
Architecture
What is a Raspberry Pi?
Raspberry pi is the name of the “credit card-sized computer board” developed by
the Raspberry pi foundation, based in the U.K.
It gets plugged in a TV or monitor and provides a fully functional computer
capability.
It is aimed at imparting knowledge about computing to even younger students at
the cheapest possible price.
Although it is aimed at teaching computing to kids, but can be used by everyone
willing to learn programming, the basics of computing, and building different
projects by utilizing its versatility.
Raspberry Pi is developed by Raspberry Pi Foundation in the United Kingdom.
The Raspberry Pi is a series of powerful, small single-board computers.
Raspberry Pi is launched in 2012 and there have been several iterations and
variations released since then.
Various versions of Raspberry Pi have been out till date.
All versions consist of a Broadcom system on a chip (SoC) with an integrated
ARM-compatible CPU and on-chip graphics processing unit (GPU).
The original device had a single-core Processor speed of device ranges from 700
MHz to 1.2 GHz and a memory range from 256 MB to 1 GB RAM.
To store the operating system and program memory Secure Digital (SD) cards
are used.
Raspbian OS which is a Linux operating system is recommended OS by
Raspberry Pi Foundation.
Some other third-party operating systems like RISC OS Pi. Diet Pi, Kali, Linux can
also be run on Raspberry Pi.
Used:
It also provides a set of general-purpose input/output pins allowing you to control
electronic components for physical computing and explore the Internet of Things (IOT).
Raspberry pi Diagram:
Raspberry Pi model –
There have been many generations of raspberry Pi from Pi 1 to Pi 4.
There is generally a model A and model B.
Model A is a less expensive variant and it trends to have reduce RAM and dual
cores such as USB and Ethernet.
1. pi 1 model B – 2012
2. pi 1 model A – 2013
3. pi 1 model B+ -2014
4. pi 1 model A+ – 2014
5. Pi 2 Model B – 2015
6. Pi 3 Model B- 2016
7. Pi 3 Model B+ -2018
8. Pi 3 Model A+ -2019
9. Pi 4 Model A – 2019
10. Pi Model B – 2020
11. Pi 400 – 2021
Specs of the Computer: – The computer has a quad-core ARM processor that doesn’t
support the same instruction as an X86 desktop CPU. It has 1GB of RAM, One HDMI port,
four USB ports, one Ethernet connection, Micro SD slot for storage, one combined
3.5mm audio/video port, and a Bluetooth connection. It has got a series of input and
output pins that are used for making projects like – home security cameras, Encrypted
Door lock, etc.
Versatility of Raspberry Pi: – It is indeed a versatile computer and can be utilized by
people from all age groups, it can be used for watching videos on YouTube, watching
movies, and programming in languages like Python, Scratch, and many more. As
mentioned above it has a series of I/O pins that give this board the ability to interact
with its environment and hence can be utilized to build really cool and interactive
projects.
Programming
1. Raspberry Pi - $37
2. 1000mA+ mini usb power supply - $10
3. 16 GB micro-SD card - $10
Additionally, if you plan to join us on the initial GPIO (General Purpose Input
Output pins) tutorials, you will also want to pick up:
For the jumpers, breadboard, and leds, you could also just buy a kit, something like: this
GPIO starter kit.
While that's transferring, let's talk about a few things on the actual Raspberry Pi
board:
The GPIO (General Purpose Input/Output) pins are underlined in blue.
We can use these to control peripheral devices like motors, servos, and more.
Circled in red is the micro usb power input for the board. In orange, the HDMI
output port.
The yellow is where you can plug in the Raspberry Pi camera module.
The grey circle has the USB ports. This is obviously not everything, but these are
the main things to note.
Once everything is transferred to the micro-SD card, you can put it in the
Raspberry Pi.
The slot is on the bottom side of the board, circled in yellow here:
Once you've got the SD card plugged in, go ahead and plug in your keyboard,
mouse, and HDMI cable to your monitor.
Finally, plug in the power, and this will start up the Raspberry Pi.
Once fully loaded, you should land on the following screen:
Now you can choose the operating system. In my case, the only option is
Raspbian, so I will check that box, then click "install."
Let the process go, this will take a while, something like 20-30 minutes or so.
Once that's done, hit okay and the device should reboot to desktop.
While on the desktop, wait for a moment for wifi to start up and find available
connections. Connect to your wifi network if possible.
You can also plug directly in with an ethernet cable if you don't have wifi.
You can also just continue interacting directly with the Raspberry Pi with the
mouse and keyboard connected to it if you like, but I prefer to access it remotely.
INTERFACING
Accessing GPIO Pins – Sending and Receiving Signals Using GPIO Pins
GPIO PINS
Power Pins:
The header provides 5V on Pin 2 and 3.3V on Pin 1. The 3.3V supply is limited to
50mA. The
5V supply draws current directly from your micro-USB supply so can use
whatever is left over
after the board has taken its share. A 1A power supply could supply up to 300mA
once the
Board has drawn 700mA.
Basic GPIO:
The header provides 17 Pins that can be configured as inputs and outputs. By
default, they are all configured as inputs except GPIO 14& 15.
In order to use these pins, you must tell the system whether they are inputs or
outputs.
This can be achieved a number of ways and it depends on how you intend to
control them. I intend on using Python.
PCM, CLK/DIN/DOUT/FS:
PCM is how uncompressed digital audio is encoded.
The data stream is serial, but interpreting this correctly is best done with a
separate clock line (more lowest level stuff).
SPI, MOSI/MISO/CE0/CE1:
SPI is a serial bus protocol serving many of the same purposes as I 2 C, but
because there are more wires, it can operate in full duplex which makes it faster
and more flexible.
Raspberry Pi Terminal Commands:
[sudo apt-get update] - Update Package Lists
[sudo apt-get upgrade] - Download and Install Updated Packages
[sudo raspi-config] - The Raspberry Pi Configuration Tool
[sudo apt-get clean] - Clean Old Package Files
[sudo reboot] - Restart your Raspberry Pi
[sudo halt] - Shut Down your Raspberry Pi
Important
Property Value
Resource Select a resource group or create a new one. To create a new one,
group select Create new and fill in the name you want to use.
IoT hub name Enter a name for your hub. This name must be globally unique,
with a length between 3 and 50 alphanumeric characters. The
name can also include the dash ('-') character.
Region Select the region, closest to you, where you want your hub to be
located. Some features, such as IoT Hub device streams, are only
available in specific regions. For these limited features, you must
select one of the supported regions.
Property Value
Tier Select the tier that you want to use for your hub. Tier selection
depends on how many features you want and how many messages
you send through your solution per day.
The free tier is intended for testing and evaluation. The free tier
allows 500 devices to be connected to the hub and up to 8,000
messages per day. Each Azure subscription can create one IoT hub
in the free tier.
Daily Select the maximum daily quota of messages for your hub. The
message limit available options depend on the tier you've selected for your hub.
To see the available messaging and pricing options, select See all
options and select the option that best matches the needs of your
hub. For more information, see IoT Hub quotas and throttling.
Note
Property Value
Version your IoT hub. Once the IoT hub is created, this value
can't be changed. Accept the default setting, 1.0, for this
example.
Property Value
Assign me You may need access to IoT Hub data APIs to manage elements
within an instance. If you have access to role assignments,
select IoT Hub Data Contributor role to grant yourself full
access to the data APIs.
Embedded Design
Types of Embedded Systems
Stand-Alone Embedded System
Real-Time Embedded System
Networked Appliances
Mobile devices
Modular Design
Separate module designs must be made so that they can be used later on when required.
Mapping
Based on software mapping is done. For example, data flow and program flow are
mapped into one.
Refinement
Every component and module must be refined appropriately so that the software
team can understand.
Architectural description language is used to describe the software design.
Control Hierarchy
Partition of structure
Data structure and hierarchy
Software Procedure.
Function
Power Dissipation
Always maintained low
Performance
Should be high
The process/task should be completed w
Process Deadlines
time.
Manufacturing Cost
Should be maintained.
Engineering Cost
It is the cost for the edit-test-debug of ha
Size is defined in terms of memory RAM/
Size
Memory/Physical Memory.
Prototype
It is the total time taken for developing a
System safety should be taken like phone
Safety
like engine break down safety measure m
Proper maintenance of the system must
Maintenance
avoid system failure.
It is the time taken for the product/syste
Time to market
launched into the market.
Embedded software development process activities mainly include the following.
Specifications
Proper specifications are to be made so that the customer who uses the product can go
through the specification of the product and use it without any confusion. Designers
mainly focus on specifications like hardware, design constraints, life cycle period,
resultant system behavior.
Architecture
Components
In this layer, components design is done. Components like single process processor,
memories- RAM/ROM, peripheral devices, buses..etc.
System Integration
In this layer, all the components are integrated into the system and tested whether its
meeting designers, expectations.
Overview:
Home automation is constructing automation for a domestic, mentioned as a
sensible home or smart house. In the IoT home automation ecosystem, you
can control your devices like light, fan, TV, etc.
A domestic automation system can monitor and/or manage home attributes
adore lighting, climate, enjoyment systems, and appliances. It is very helpful
to control your home devices.
It’s going to in addition incorporates domestic security such as access
management and alarm systems. Once it coupled with the internet, domestic
gadgets are a very important constituent of the Internet of Things.
A domestic automation system usually connects controlled devices to a
central hub or gateway.
The program for control of the system makes use of both wall-mounted
terminals, tablet or desktop computers, a smartphone application, or an
online interface that may even be approachable off-site through the Internet.
Smart Home automation refers to the use of technology to control and
automate various functions in a home, such as lighting, heating, air
conditioning, and security. In the context of IoT (Internet
of Things) and M2M (Machine-to-Machine) communications, home
automation systems can be controlled and monitored remotely through a
network connection.
One of the key benefits of IoT-enabled home automation is the ability to
control and monitor a wide range of devices and systems from a single,
centralized location, such as a smartphone or tablet. This can include
everything from lighting and temperature control to security cameras and
alarm systems.
Another advantage of IoT-enabled home automation is the ability to remotely
monitor and control devices, even when away from home. This can be useful
for controlling energy consumption and ensuring the safety and security of
the home.
IoT-enabled home automation systems typically involve the use of smart
devices, such as thermostats, light bulbs, and security cameras, that can be
controlled and monitored through a centralized hub or app. These smart
devices can communicate with each other and with the centralized hub using
wireless protocols such as Zigbee, Z-Wave, and Bluetooth.
In addition, IoT-enabled home automation systems can integrate with other
smart home technologies, such as voice assistants like Alexa and Google
Home, to provide additional functionality and convenience.
Overall, IoT-enabled home automation can provide many benefits to
homeowners, including increased convenience, energy efficiency, and
security. However, it is important to ensure the security of these systems, as
they may be vulnerable to hacking and other cyber threats.
Components:
Here, you will see the smart home components like smart lighting, smart appliances,
intrusion detection, smoke/gas detector, etc. So, let’s discuss it.
Component-1:
Smart Lighting –
Smart lighting for home helps in saving energy by adapting the life to the
ambient condition and switching on/off or dimming the light when needed.
Smart lighting solutions for homes achieve energy saving by sensing the
human movements and their environments and controlling the lights
accordingly.
Component-2:
Smart Appliances –
Smart appliances with the management are here and also provide status
information to the users remotely.
Smart washer/dryer can be controlled remotely and notify when the washing
and drying are complete.
Smart refrigerators can keep track of the item store and send updates to the
users when an item is low on stock.
Component-:
Intrusion Detection –
Home intrusion detection systems use security cameras and sensors to detect
intrusion and raise alerts.
Alert can we inform of an SMS or an email sent to the user.
Advanced systems can even send detailed alerts such as an image shoot or
short video clips.
Component-4:
Smoke/gas detectors –
Smoke detectors are installed in homes and buildings to detect smoke that is
typically an early sign of Fire.
It uses optical detection, ionization for Air sampling techniques to detect
smoke.
Gas detectors can detect the presence of harmful gases such as CO, LPG, etc.
It can raise alerts in the human voice describing where the problem is.
Smart Agriculture
Smart Agriculture is a topic that covers the many applications of Internet of
Things (IoT) technology in farming, agrotech and agriculture.
The use of sensors, data collection, wireless networks, cloud platforms and
data analysis is already revolutionising the farming and agricultural
sectors.
The primary benefits include:
Increased production.
Lower production costs.
Operational efficiencies.
Real-time and intelligent cost management.
These items will either increase revenues, reduce costs – maximising your
profits while also having the potential to reduce environmental impact.
There is real momentum behind IoT technology in agriculture and farming –
with many analysts predicting both the market and the adoption of Smart
Agriculture technology to sky-rocket as more firms recognise the benefits.
Precision farming and Smart Agriculture enhances the visibility, control and
insight that you have concerning your farm. These factors translate into better time
management, improved decision making and the more practical application of
resources (i.e. Fertiliser, Irrigation) – producing healthier crops, higher yields and
allows you to conserve resources. All of these factors translate to less work, higher
revenues and reduced cost.
Libelium Smart Agriculture Xtreme
Sensors are installed in the fields to monitor the temperature, pH and
moisture levels of the soil, precipitation, leaf water potential, fertiliser
presence and soil morphology.
This data is transmitted back to the cloud for further analysis.
The Libelium Plug&Sense Smart Agriculture unit can monitor all of these
parameters.
The unit is mounted and the probes installed into the earth or adjacent to the
plants – and the software continually monitors different parameters.
The system would take measurements before transmitting the data to the
cloud so that you can control it remotely.
California produces 80% of the world’s Almonds. A study found that a
single Almond can consume 3.8L of water to grow. With Smart farming,
soil moisture levels are monitored continuously, dramatically reducing
unnecessary irrigation and watering.
A 1969 Potato research study found to obtain the highest yields of
Potatoes, soil moisture should never drop below 50%, the first foot
should be 20%, and a sudden onset of moisture can introduce growth
cracks, second growth and knobby tubers. Precision monitoring of soil
moisture can optimise these parameters.
These are just two examples of what is possible. Specific applications and
opportunities will vary by crop.
Some applications of Internet of Things Smart Farming Technologies:
Soil moisture monitoring (including conductivity and pH).
IoT irrigation control. Activate irrigation valves when the soil moisture
drops below a certain level.
Soil nutrient analysis. There are a range of emerging sensors that can
monitor NPK levels in soil.
Solar radiation. Monitor levels of solar radiation to use in digital models
that predict plant growth, health and risk of disease.
Weather stations. The ability to monitor wind, rain, temperature and
humidity are important factors in both arable and livestock farming.
Livestock tracking. GPS-enabled asset tracking can be attached to a
collar, allowing the farmer to determine the location of their livestock.
Autonomous farm vehicles – reduce the human labour associated with
driving and operating vehicles.
Agricultural drones allow farmers to survey their fields with ease; using
imaging technology to recognise disease, pests or other issues relating to
growth.
Smart Cities
The Internet of Things (IoT) in smart cities has witnessed wide adoption. It helps
improve efficiency, reduce costs, and enhance residents’ quality of life.
It uses IoT-powered devices, such as connected Bluetooth sensors, RFID tags and
meters, to collect real-time data for future analysis.
Using this data, the municipalities can improve infrastructure, services, public
utilities, and more.
Here are some real-world IoT smart city examples:
Real-life application:
New York: Piloting a project of connected vehicles (CTV) to eliminate traffic-
related accidents, injuries, and damage to life and property.
Los Angeles: Has implemented CCTV and road-surface sensors to control traffic
flow with real-time updates. The city has also deployed smart controllers that
auto-adjust traffic lights based on changing traffic conditions.
Smart Parking
IoT sensors can be installed in parking spaces to detect when a spot is occupied
and transmit that information to a central server.
This data can guide drivers to available parking spots, reducing congestion and
search time.
The sensors embedded in the ground transmit the data to the cloud, immediately
notifying the driver whenever a nearby parking spot is vacant.
Real-life application:
London (UK): The Smart Park project deployed in Westminster allows drivers to
locate parking spaces on-the-go. It eliminates the hassles of time-consuming
searches for a vacant spot and alleviates congestion.
Public Safety
IoT-enabled cameras and sensors can be installed in public spaces to monitor
potential security threats, such as suspicious activity or unattended bags.
IoT-enabled solutions come integrated with analytics, real-time tracking, and
decision-making capabilities.
Analyzing the data generated from CCTV cameras & acoustic sensors embedded
throughout the city and the data generated from social media feeds helps predict
potential crime incidents.
This can help law enforcement agencies respond quickly and effectively to
potential threats.
Real-life example:
New York (USA): NYC fire department uses predictive modeling and data
analytics to identify crime hot spots.
The city has also deployed a gunshot detection solution that uses connected
microphones to transmit data to a cloud platform.
This platform records the time taken by the sound of a gunshot to reach the
microscope and estimates the gun’s location to alert the police on a mobile app
Waste Management
Waste collection operators use IoT-powered solutions to optimize collection
schedules & routes with real-time tracking of waste levels, fuel consumption, and
use of waste containers.
IoT sensors can be installed in garbage cans and recycling bins to monitor the fill
level and optimize waste collection routes, reducing costs and environmental
impact.
Every container is embedded with a sensor that records waste levels. Once a
container nears the threshold level, the truck driver receives an instant
notification on a mobile app to empty a full container and avoid emptying it
when it’s half-full.
Real-life example:
New Jersey (USA): The municipality of East Brunswick has rolled out a recycling
app enabled with IoT capabilities.
It helps improve their communication with residents to create a positive
environmental impact.
The app connects all the residents to improve recycling rates and reduce waste.
Utility Management
IoT-equipped smart solutions enable citizens to save their money on home
utilities with:
Energy management: IoT sensors can be installed in buildings and homes to
monitor energy usage and optimize energy consumption, reducing costs and
carbon emissions.
Smart lighting: IoT sensors can be installed in streetlights to adjust the lighting
level based on ambient light, reducing energy consumption and pollution.
Water management: IoT sensors can be installed in water distribution systems
to monitor water quality, detect leaks, and optimize water usage, reducing costs
and conserving resources.
Remote Monitoring
IoT-based smart city solutions also enable efficient utility management for
citizens.
They allow residents to use their meters to track and control resource
consumption.
For instance, a homeowner can turn off their HVAC system using a smartphone
app.
And in case of issues like leakages or potential failures, utility companies can
notify households and send specialists for timely repairs and maintenance.
Real-life example:
New York (USA): MyNYCHA is a web application used for creating & managing
public housing services online for 300+ public developments.
This free service allows residents to submit, schedule and track their repair and
maintenance tickets online.
Residents can also subscribe to notifications in case of outages, shortages, and
upcoming rent payments.
Environmental Well-being
IoT-powered solutions help municipalities remotely monitor environmental
conditions.
For instance, sensors are attached to water grids to inspect their quality and
trigger notifications in case of leakages or changes in the chemical composition
of water.
The same technology is also used for measuring air quality in areas prone to
pollutants and is critical to recommending solutions that improve air quality.
Real-life example:
Copenhagen (Denmark): Has set the green standard high by deploying smart
grids to reduce carbon emissions from heating systems.
This project includes new energy infrastructures that integrate all energy forms,
including electric transport, energy-efficient buildings, and HVAC systems at full
scale.
Public Transport
Traffic operators can use the data from sensors embedded in multiple sources to
analyze and identify patterns of using public transport.
This data helps achieve a standardized level of safety & timeliness while cutting
wait times and enhancing the traveling experience for citizens.
A smart city can also embed BLE beacons on roads and bridges to monitor wear
and tear and repair them immediately in case of impending damage.
Real-life example:
London: Train operators use IoT technology to accurately forecast the payload of
train passenger cars on their journey in and out of the city.
They unify the data from CCTV cameras, sensors, and ticket sales to predict the
number of passengers every car will load.
When a train comes to the station, operators can encourage passengers to
disperse across the train for uniform loading and optimal use of capacity.
Overall, IoT technology is a valuable tool for improving the efficiency and
sustainability of smart cities, making them more liveable and enjoyable for
residents.
Smart Healthcare
Before Internet of Things, patients’ interactions with doctors were limited to
visits, and tele and text communications.
There was no way doctors or hospitals could monitor patients’ health
continuously and make recommendations accordingly.
Internet of Things (IoT)-enabled devices have made remote monitoring in the
healthcare sector possible, unleashing the potential to keep patients safe and
healthy, and empowering physicians to deliver superlative care.
It has also increased patient engagement and satisfaction as interactions with
doctors have become easier and more efficient. Furthermore, remote monitoring
of patient’s health helps in reducing the length of hospital stay and prevents re-
admissions. IoT also has a major impact on reducing healthcare costs
significantly and improving treatment outcomes.
IoT is undoubtedly transforming the healthcare industry by redefining the space
of devices and people interaction in delivering healthcare solutions. IoT has
applications in healthcare that benefit patients, families, physicians, hospitals
and insurance companies.
Cost Reduction: IoT enables patient monitoring in real time, thus significantly
cutting down unnecessary visits to doctors, hospital stays and re-admissions
Improved Treatment: It enables physicians to make evidence-based informed
decisions and brings absolute transparency
Faster Disease Diagnosis: Continuous patient monitoring and real time data
helps in diagnosing diseases at an early stage or even before the disease develops
based on symptoms
Proactive Treatment: Continuous health monitoring opens the doors for
providing proactive medical treatment
Drugs and Equipment Management: Management of drugs and medical
equipment is a major challenge in a healthcare industry. Through connected
devices, these are managed and utilized efficiently with reduced costs
Error Reduction: Data generated through IoT devices not only help in effective
decision making but also ensure smooth healthcare operations with reduced
errors, waste and system costs