Midterm Exam Review Questions 1 - New
Midterm Exam Review Questions 1 - New
Theory Questions
Q1. What is Internet of Things.
- Internet of Things (IoT) comprises things that have unique identities and are connected to the Internet.
- The focus on IoT is in the configuration, control and networking via the Internet of devices or “Things”
that are traditionally not associated with the internet (Eg: pump, utility meter, car engine).
- IoT is a new revolution in the capabilities of the endpoints that are connected to the internet.
- The Scope of IoT is not limited to just connecting things (device, appliances, machines) to the Internet.
- IoT allows these things to communicate and exchange data (control& information).
- Processing on these data will provide us various applications towards a common user or machine goal
< Internet of Things means a network of physical things (objects) sending, receiving, or communicating
information using the Internet or other communication technologies and network just as the computers,
tablets and mobiles do, and thus enabling the monitoring, coordinating or controlling process across the
Internet or another data network. >
Q2. Name some of the various sectors where IoT played a major role?
- Agriculture, Energy, Finance, Healthcare, Manufacturing, Retail, Hospitality, Transportation and
Logistics.
Q3. What are the Pros and cons of the Internet of things?
Advantages Disadvantages
Minimizes the human work and effort Increased privacy concerns
Saves time and effort Increased unemployment rates
Good for personal safety and security Highly dependent on the internet
1. Raspberry Pi
A single-board computer that runs Linux, the Raspberry Pi is one of the most popular and
accessible IoT development platforms out there.
2. Arduino
Well-known in the IoT development arena, Arduino makes many different kinds of
microcontrollers, open-source development tools, kits, and software.
3. Espressif
Espressif’s microcontrollers are popular among IoT developers. The company specializes in
creating chips with a high level of integration, helping you design IoT devices that are easily
manufactured and deployed.
Source: https://www.hologram.io/blog/iot-hardware
Q6. List and describe briefly some most common IoT communication technologies.
1. Bluetooth
Bluetooth is a protocol used for short-range communication and exchanging of small amounts of
data for personal products like smartwatches or wireless speakers.
2. Wi-Fi
It is one of the IoT communication protocols, best suitable for LAN — a computer network that
interconnects computers within a limited area — environments, allowing for fast data transfer. It
uses internet protocols (IP) to communicate between endpoint devices.
3. Zigbee
Zigbee’s advantage comes from low power consumption, wireless control, security, and
scalability. Applications such as wireless thermostats and lighting systems are examples of
devices using Zigbee for connection.
Source: https://research.aimultiple.com/iot-communication-protocol/
Q7. List and describe briefly some most common IoT communication protocols?
1. CoAP
Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with
constrained nodes and constrained networks in the Internet of Things. CoAP is designed to
enable simple, constrained devices to join the IoT even through constrained networks with
low bandwidth and low availability. It is generally used for machine-to-machine (M2M)
applications such as smart energy and building automation. The protocol was designed by the
Internet Engineering Task Force (IETF), CoAP is specified in IETF RFC 7252.
Source: https://radiocrafts.com/technologies/coap-constrained-application-protocol/
#:~:text=Constrained%20Application%20Protocol%20(CoAP)%20is,low%20bandwidth%20and
%20low%20availability.
2. MQTT
MQTT stands for Message Queuing Telemetry Transport. It is a lightweight messaging protocol
for use in cases where clients need a small code footprint and are connected to unreliable
networks or networks with limited bandwidth resources. It is primarily used for machine-to-
machine (M2M) communication or Internet of Things types of connections.
Source: https://www.paessler.com/it-explained/mqtt
3. XMPP
XMPP stands for eXtensible Messaging and Presence Protocol. XMPP is an open standard chat
protocol, which means it is publicly available without a license and can be used freely in
commercial projects.
XMPP has been designed specifically to power real-time chat and instant messaging by enabling
the transfer of XML data across networks. In other words, it provides a way of sending text data
to various network recipients, no matter what software or hardware they happen to be using.
source: https://sceyt.com/blog/xmpp-extensible-essaging-and-presence-protocol.
Q8. What is the IoT Cloud? List and describe briefly some most common IoT Cloud Platform?
<An IoT cloud-based service provides for data collection, data points, messages and calculation
objects.>
A middleware that manages all the interactions between users’ applications and remote devices.
Generally speaking, IoT platforms perform various operations in terms of management and automation
of connected devices:
With ready-made features and reusable technology stack, IoT cloud platforms can immensely reduce the
development time.
1. Amazon web services IoT platform
Amazon provides an extensive package of cloud IoT services where the core advantages are
proven and scalable infrastructure supporting billions of devices and trillions of messages. Users
can use the Amazon IoT platform for different purposes: industrial, consumer, and commercial.
2. Cisco IoT cloud connect
Cisco IoT Cloud has developed a modern mobility-cloud-based software solution to reinforce
relations with customers and optimize networks for spreading opportunities to increase revenues.
Cisco IoT utilization can be leveraged across industries: Manufacturing, transportation, smart
cites, utilities.
3. Microsoft Azure IoT
With Microsoft Azure IoT solutions, you get a pre-customized working flow or can create the one
tailored to your business needs. Microsoft Azure IoT Suite is versatile and comprises a variety of
features covering every aspect of IoT design and development – from connecting devices to
delivering insights to decision-makers. One of its strongest advantages is the focus on security.
Source: https://euristiq.com/8-best-iot-cloud-platforms/
Q9. What are the challenges in IoT?
• Multi-modal and heterogeneous – Connectivity
• Power Management
• Noisy and incomplete
• Time and location dependent
• Dynamic and varies in quality
• Crowed sourced data can be unreliable
• Requires (near-) real-time analysis
• Privacy and security are important issues
• Data processing – Data Sceince Big Data
• Rapid Evolution
Q10. Describe briefly the Seven Layer OSI Model
7. Application Layer
The application layer is used by end-user software such as web browsers and email clients. It provides
protocols that allow software to send and receive information and present meaningful data to users. A
few examples of application layer protocols are the Hypertext Transfer Protocol (HTTP), File Transfer
Protocol (FTP), Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP), and Domain Name
System (DNS).
6. Presentation Layer
The presentation layer prepares data for the application layer. It defines how two devices should encode,
encrypt, and compress data so it is received correctly on the other end. The presentation layer takes any
data transmitted by the application layer and prepares it for transmission over the session layer.
5. Session Layer
The session layer creates communication channels, called sessions, between devices. It is responsible for
opening sessions, ensuring they remain open and functional while data is being transferred, and closing
them when communication ends. The session layer can also set checkpoints during a data transfer—if the
session is interrupted, devices can resume data transfer from the last checkpoint.
4. Transport Layer
The transport layer takes data transferred in the session layer and breaks it into “segments” on the
transmitting end. It is responsible for reassembling the segments on the receiving end, turning it back into
data that can be used by the session layer. The transport layer carries out flow control, sending data at a
rate that matches the connection speed of the receiving device, and error control, checking if data was
received incorrectly and if not, requesting it again.
3. Network Layer
The network layer has two main functions. One is breaking up segments into network packets, and
reassembling the packets on the receiving end. The other is routing packets by discovering the best path
across a physical network. The network layer uses network addresses (typically Internet Protocol
addresses) to route packets to a destination node.
2. Data Link Layer
The data link layer establishes and terminates a connection between two physically-connected nodes on a
network. It breaks up packets into frames and sends them from source to destination. This layer is
composed of two parts—Logical Link Control (LLC), which identifies network protocols, performs error
checking and synchronizes frames, and Media Access Control (MAC) which uses MAC addresses to
connect devices and define permissions to transmit and receive data.
1. Physical Layer
The physical layer is responsible for the physical cable or wireless connection between network nodes. It
defines the connector, the electrical cable or wireless technology connecting the devices, and is
responsible for transmission of the raw data, which is simply a series of 0s and 1s, while taking care of
bit rate control.
Source: https://www.imperva.com/learn/application-security/osi-model/
Q11. Describe briefly TCP/IP Architectural Model
The application layer is the group of applications that let the user access the network. For most of us
that means email, messaging apps, and cloud storage programs. This is what the end-user sees and
interacts with when sending and receiving data.
The transport layer provides a reliable data connection between two communicating devices. It’s like
sending an insured package: The transport layer divides the data in packets, acknowledges the packets it
has received from the sender, and ensures that the recipient acknowledges the packets it receives.
The internet layer, also known as the network layer, controls the flow and routing of traffic to ensure
data is sent speedily and accurately. This layer is also responsible for reassembling the data packet at its
destination. If there’s lots of internet traffic, the internet layer may take a little longer to send a file, but
there will be a smaller chance of an error corrupting that file.
Source: https://www.guru99.com/difference-ipv4-vs-ipv6.html
Q13. Explain the basic architecture of the IoT network
Q14. Explain briefly the IoT Related technical terms: Application Programming Interface (API),
Web service, Object, Communication Gateway, Client, Server, Web object, Proxy, web protocol,
Firewall, A header, Resource, resource instance, resource ID, resource registry, resource discovery,
resource repository, Resource structure, Resource directory, Path, URI, URL, datagram, REST,
RESTful (POST, GET, PUT and DELETE methods), Hyperlink, Hypertext, HTTP, HTML, XML,
Browser, WebSocket, Framework.
- Application Programming Interface (API) : API is the acronym for Application Programming
Interface, which is a software intermediary that allows two applications to talk to each other. Each time
you use an app like Facebook, send an instant message, or check the weather on your phone, you’re using
an API.
Source: https://www.mulesoft.com/resources/api/what-is-an-api#:~:text=API%20is%20the%20acronym
%20for,you're%20using%20an%20API.
- Web service: Web service is a standardized medium to propagate communication between the client
and server applications on the WWW (World Wide Web). A web service is a software module that is
designed to perform a certain set of tasks.
Web services in cloud computing can be searched for over the network and can also be invoked
accordingly.
When invoked, the web service would be able to provide the functionality to the client, which
invokes that web service.
Source: https://www.guru99.com/web-service-architecture.html
- Object: Object model is defined as the usage of objects for values, messages, data or resource transfer,
and creation of one or more object-instances.
- Class: Java uses concept of class, which creates one or more object instances.
- Communication Gateway: Communication gateway is one that functions as communication
protocol translator (convertor) for provisioning communication capabilities. For example, the
gateway for communication between ZigBee and IP networks.
- Client: Client refers to a software object which makes request (or an API associated with it makes
request) for data, messages, resources or objects. A client can have one or more object instances. A client
may also have an API or many APIs for enabling the communication to the server. A client can be at a
device or application on a network or Internet connected web, enterprise server or cloud.
- Server: Server is defined as a software which sends a response on a request. The server also sends
messages, alerts or notifications. The server has access to resources, databases and objects. A server can
be on a device or can be on a separate computer system, not necessarily on Internet connected web.
- Web object: Web object is the one that retrieves a resource from the web object at other end using a
web protocol.
- Proxy: Proxy refers to an application which receives a response from the server for usage of a client or
application and which also receives requests from the client for the responses retrieved or saved at proxy.
- Communication protocal: Communication protocol defines the rules and conventions for
communication between networked devices and between systems. The protocol includes mechanisms for
devices or systems to identify and make connections with each other. The protocol also includes
formatting rules that specify how data is packaged into sent and received messages,1 and header, its field
and their meanings.
- Web protocol: Web protocol is a protocol that defines the rules and conventions for communication
between the web server and web clients. It is a protocol for web connectivity of web objects, clients,
servers and intermediate servers or firewalls. It includes mechanisms for a web object to identify and
make connections with other objects. The protocol also includes web object formatting rules that specify
how that object packs into it the sent and received messages.
- A header: A header consists of a set of words. The words contain the information and parameters about
the processing at a communicating layer. The words are placed over a data stack received from a previous
layer and create a new data stack for transmission to next lower layer. Header words are placed at the
sending layer lower in the hierarchy during transmission and removed at the receiving layer higher in
hierarchy after using the information contained in the header.
- Firewall: is one that protects the server from unauthentic resources.
- Resource: denotes something that can be read (used), written (created or changed) or executed
(processed). A path specification is also a resource. The resource is atomic (notfurther divisible)
information, which is usable during computations. A resource may have multiple instances or just a single
instance. Single instance example is a contact list. Examples of multiple instances of a contact are name,
surname, city, address and email ID.
- Resource instance: Each resource instance has a resource ID. A resource is accessible using a resource
identifier. A resource identifier can be a path specification, such as a Universal Resource Locator (URL)
or Universal Resource Identifier (URI).
- resource registry: A resource may have resource registry, which means it is usable after a resource
instance is registered at the registry, and unusable when not-registered or when de-registered.
- resource discovery: A resource can be updated. A resource can be used when an application uses
resource discovery.
- resource repository: A resource may have a resource repository. Repository refers to subfolder, folder
or directory, which contains the resources and their instances. A resource can have a resource directory,
which directs to resource repository.
- Resource structure, Resource directory: Resource structure or resource directory refers to a structure
or collection of resources, applications, containers and groups, which may each have an attribute, access
right, subscription and discovery.
- Path: Path denotes a navigation path between two ends when accessing a resource. Path specification
can be of URI or URL type. The structure of URI is hierarchical. Entity after the sign ‘/’ is a child of the
parent before the sign ‘/’.
- URI: Universal Resource Identifier is generally used for saved resources, such as contacts or address
book. Example of a URI is /Contacts/First_Character_R/ for a set of resource directory contacts having
resource repository First_Character_R for contacts with first character R and resources giving information
about a contact. Another example is URI sensorNetwork_J/sensorID_N/temperature for a temperature
value. The value is at a resource directory sensorNetwork_J for a sensor network, which stores sensor
data for a sensor of id sensorID_N.
- URL: Universal Resource Locator is generally used for retrieving a resource(s) by a client. The saved
resources may be at a document or at a remote server accessed using Internet protocols. An example of a
URL is http://www.mhhe.com/ for a set of resource directories, resource repositories and resources on the
McGraw Hill Higher Education server.
- Datagram: Datagram refers to a limited size data (2 16 byte). It is used for stateless connectionless
transfer from a web object. Stateless means each single datagram transfer is independent of previous data
interchanges and connectionless means there is no need of pre-establishing the connection for resource
exchanges between the web objects and no connection closing after finishing the resource exchanges.
- REST: Representational State Transfer (REST) is a software architecture referring to ways of defining
the identifiers for the resources, methods, access methods and data transfer during interactions. REST is a
software architecture which also specifies the practices, constraints, characteristics and guidelines for
creating scalable web services. Scalable means can be used as per the size. The architecture is used during
the design of web software components, clients and web APIs.
- RESTful: When all interactions used in the applications conform fully to the REST constraints then
these are called RESTful. RESTful APIs comply with these constraints and thus conform to the REST
architectural style. Web services with RESTful APIs adhere to the REST architectural constraints.
- REST interfaces usually involve resource repositories with identifiers. For example, /
deviceNetwork/device or /TemperatureApp, which can be operated upon using standard verbs as follows:
GET command is to get a list of the URIs for resource repository of the resources and
perhaps other details of the members in the repository. GET retrieves a representation of
the resource item (means addressed member) of the repository. Representation is
expressed in an appropriate Internet media type.
POST command creates a new entry in the resource repository for the resources. The new
entry’s URI is assigned automatically and is usually returned by the operation. An option
which is not generally used considers the resource item as a repository on its own right
and create a new entry in it (not generally used).
PUT command which replaces the entire resource repository with another resource
repository or replaces the resource item of the repository (or if it does not exist, then
create it).
DELETE command from client retrieves web objects and sends data to remote servers.
- Hyperlink: Hyperlink refers to a specification of the URL for a resource path, so that a link can be
established between two objects. For example, hyperlink URL specifications for the author’s earlier
book’s supplementary web-resources at McGraw-Hill Higher Education server are
http://www.mhhe.com/kamal/emb3. Retrieval of a resource at a web object by the other object uses the
click at a link shown on a displayed text on browser.
- Hypertext: Hypertext means text embedded with hyperlinks. HyperText Transfer Protocol (HTTP)
means an application layer protocol for use of hypertext as app data transfer protocol. Clients and servers
use the URLs http://… .
- HTTP: ‘’
- HTML: HyperText Markup Language (HTML) is a language for creating a hypertext which refers to
text that embeds text, images, audio and video, image frames, forms, lists, tables, navigation links
(reference to resources), APIs, Java Script and other codes for dynamic actions.
- XML: Extensible Markup Language (XML) is a language, which enables creation, sending and
receiving documents, messages, commands, query responses, queries, and creation of forms. The form
data, response or message uses a new tag (not defined earlier in HTML) with new data type definitions
than the ones at HTML. HTML5 is the latest version of HTML which includes features of XML and
many new features as well. A form, for example, has a number of fields such as, Name, Phone, Address,
e-Mail ID. Form data means filled contents in the fields of a form. For example, one creates a new tag,
‘name’, and use in the XML line as follows: Raj Kamal , then name field of form has data ‘Raj Kamal’.
Sign ‘/’is for ending.
- Browser: Browser is a client software which displays hypertext that enables navigation to the hypertext
links shown on the user screen, and which displays GUIs of the apps, display form, display server
responses, and so on.
- WebSocket: A WebSocket denotes an API for bidirectional communication that has much less header
size than HTTP communication and lower latency compared to HTTP approach of unidirectional
communication at an instant.
- Framework: Framework refers to provisions for a number of software libraries, and a number of APIs
including those that can be selectively changed by user codes in applications. An example of a framework
is .NET framework. Advantages of frameworks are: easier to work with a set of discrete objects, software
components, protocols, complex and different technologies; binds these together into something highly
useful; forces the programmers to implement code in a way that promotes consistent coding, thus with
fewer bugs, and provisioning more flexibility in the applications; and easy in testing and debugging of the
code.
18. List the device platform communication protocols, network communication protocols and
network backbone protocols which IoTs can use.
- Device platform (Arduino, Galileo, Edison, Raspberry Pi, BeagleBone, mBed)
- Protocols [RPL, CoAP, RESTful HTTP, MQTT, XMPP (Extensible Messaging and Presence Protocol)]
- Communication (Powerline Ethernet, RFID, NFC, 6LowPAN, UWB, ZigBee, Bluetooth, WiFi, WiMax,
2G/3G/4G)
- Network backbone (IPv4, IPv6, UDP and 6LowPAN)
- Internetwork Cloud Platforms/Data Centre (Sense, ThingWorx, Nimbits, Xively, openHAB, AWS IoT,
IBM BlueMix, CISCO IoT, IOx and Fog, EvryThng, Azure, TCS CUP)
19. List the available open-source software which can be used. Specify the features of RIOT and
Eclipse IoT.
MQTT CoAP, LWM2M, Eclipse tool, Arduino, Kinoma (Create), IPv6, SOAP, REST, JSON, HTTP,
HTTPS, web sockets, web APIs, URI, Xively, Nimbits, (OpenIoT and Eclipse IoT stack.)
- RIOT is an operating system for IoT devices. RIOT supports both developer and multiple architectures,
including ARM7, Cortex-M0, Cortex-M3, Cortex-M4, standard x86 PCs and TI MSP430.
RIOT is based on a microkernel architecture, and provides features including, but not limited to:
Source: https://github.com/RIOT-OS/RIOT
Provides open source specifications which are as per open OSGi standard specifications
Provisions for simpler open source implementations, and programs, services and bundles
development using the open source Java frameworks and services
Consists of the components and frameworks for IoT solutions. The stack takes care of the
complexity of creating IoT solutions and enables fast development of the solutions
Provisions for open source technologies which enables easy programming in Java for the device
platforms, and running the codes in JVM or Eclipse Concierge (a lightweight implementation of
OSGi runtime)
Enables usages of protocol functions provided in lightweight M2M (OMA M2M standard),
MQTT (OASIS IoT standard), CoAP (IETF IoT standard) and standard network protocols. The
functions provide the connectivity and interoperability of the device gateways
Provisions the IoT gateway services for remote management and applications management
Provisions for new solutions for devices connectivity to the Internet and the remote management
and application management functions and APIs for using server or cloud provided functions
Support of large number of institutions including Cisco and IBM
20. List the available cloud platform and data centre open sources.
- Internetwork Cloud Platforms/Data Centre (Sense, ThingWorx, Nimbits, Xively, openHAB, AWS IoT,
IBM BlueMix, CISCO IoT, IOx and Fog, EvryThng, Azure, TCS CUP).
21. What does platform and integration tool mean? What are the features of ThingSpeak?
- Enable realtime data collection, geolocation data, data processing and visualisations.
- enables device status messages and plugins.
- process HTTP requests and store and process data.
- integrate multiple hardware and software platforms
- supports Arduino, Raspberry Pi,9 ioBridge/RealTime.io, and Electric Imp
- supports multiple programming languages, including Arduino, JavaScript, HTML or the Nimbits.io
Java library
- processes a specific type of data and can also store the data
- mapping and a variety of tools for integrating multiple IoT-related sensor networks and protocols
- managing IoT devices
- enables gathering of data and integrating it with external systems
- integrates MongoDB, ApacheHBase and multiple big data tools
- ThingSpeak is an open data platform with an open API. It consists of APIs that enable realtime data
collection, geolocation data, data processing and visualisations. It enables device status messages and
plugins. It can process HTTP requests and store and process data. It can integrate multiple hardware
and software platforms. It supports Arduino, Raspberry Pi,9 ioBridge/RealTime.io, and Electric Imp. An
important feature of ThingSpeak is the support to MATLAB data analytics, mobile, web applications and
social networks.
22. List the sources of IoT development board which can be used for prototype development.
Arduino Yún, Microduino, Intel Galileo, Intel Edison, Beagle Board, Raspberry Pi Wireless Inventors Kit
(RasWIK).
23. What are the features in Arduino Yún?
Arduino Yun combines the Arduino-based board with Linux. This is because the two processors are
ATmega32u4 for support to Arduino and Atheros AR9331 for running Linux. IoT applications enablers
are Wi-Fi, Ethernet support, a USB port, micro-SD card slot, three reset buttons and more.2 The Yun can
be controlled from anywhere with any Internet-connected web browser without assigning an IP address to
the board. WebSockets can also be used for providing real time full-duplex communication over TCP.
24. When will Intel Galileo and Intel Edison be preferred in an IoT application?
Examples of Galileo board applications are making smart everyday ‘things’ such as health monitoring or
fitness devices, watches, sensors and cameras. (Galileos best IoT applications for the “things” are
healthmonitoring or fitness devices, cameras, which require the facility of personal computer board
running Linux.)
- Applications of Intel Galileo are in IoT devices needing intensive computations for examples, camera in
smart homes and IoT of ATMs.
- Edison has high performance compared to Galileo due to use of dual core double threaded 700 MHz
processor, communication interface for Wi-Fi and Bluetooth LE and tools for OLTP, OLA, trigger alerts
in advanced analytics of the data streams
25. What are RFIDs? Draw the architecture for their inventory control application.
Radio Frequency Identification (RFID) is an automatic identification method. RFIDs use the Internet.
RFID usage is, therefore, in remote storage and retrieval of data is done at the RFID tags. An RFID
device functions as a tag or label, which may be placed on an object. The object can then be tracked for
the movements. The object may be a parcel, person, bird or an animal. IoT applications of RFID are in
business processes, such as parcels tracking and inventory control, sales log-ins and supply-chain
management. Section 7.5.1 describes the details of the technology
Layer 1: Device and gateway capabilities are present in the RFID physical device cum RFID
reader which acquires the ID data, and communicates the enriched data according to a wireless
protocol to an access point (AP).
Layer 2: Transport and network capabilities are present at access network consisting of APs and
Internet connectivity to servers.
Layer 3: Services and application-support layer capabilities at server are RFID device’s
registry, ID management, RFIDs data routing to server or data centre, data analysis for the time-
series device presence and device tracked positions.
Layer 4: Services and applications of RFIDs are tracking, inventory control of goods and
business processes; for example, supply-chain management.
26. Define Wireless Sensor Network and list its applications.
A set of sensors can be networked using the wireless. They cooperatively monitor the physical or
environmental conditions, such as temperature, sound, vibration, pressure, motion or hazardous gas
leaks and pollutants, waste containers, home appliances, and surveillance systems at different locations.
WSNs are subsystems which connect to the Internet using access points and gateways. The subsystems
have a number of IoT applications and services, such as for smart home, and smart city, smart home
control and monitoring system.
(WSN is defined as a network in which each sensor node connects wirelessly and has the capability of
computation, for data compaction, aggregation and analysis. Each one also has communication as well
as networking capabilities. A WSN consists of spatially distributed autonomous devices (sensors).)
- home health care, fire detection, leak detection, energy efficiency, solar panel monitoring and
control, temperature monitoring and HVAC control and automated meter reading.
27. What are the three architectural domain functionalities in M2M architecture?
M2M device communication domain consists of three entities: physical devices, communication
interface and gateway. Communication interface is a port or a subsystem, which receives the
input from one end and sends the data received to another.
M2M network domain consists of M2M server, device identity management, data analytics and
data and device management similar to IoT architecture (connect + collect + assemble +
analyse) level.
M2M application domain consists of application for services, monitoring, analysis and
controlling of devices networks.
28. What are the open protocols, tools and frameworks generally used in M2M?
- XMPP, MQTT-OASIS standards group and OMA LWM2M-OMA standard group for protocol
- Various projects of Eclipse M2M industry working groups’ are Koneki, Eclipse SCADA for open
standards for communication protocols, tools and frameworks.
- ITU-T Focus Group M2M global standardisation initiative for a common M2M service layer.
- 3GPPP study group for security aspects of M2M equipment and automatic SIM activation covering
remote provisioning and change of subscription.
- Weightless (wireless communications) group for standards and using wireless spaces for M2M.
II. Python Programming ( Basic Python Programming, and Raspberry Pi Programming)
III. Web Programming (HTML,CSS, Java script, Python Flask)
IV. Arduino Programming (C programming) (NodeMCU)
V. IP Adress and IP Subneting Question
VI. Multiple Choice Questions ( Text Book chapter 1-5).
Q14. Explain briefly the IoT Related technical terms: Application Programming
Interface (API), Web service, Object, Communication Gateway, Client, Server, Web
object, Proxy, web protocol, Firewall, A header, Resource, resource instance, resource
ID, resource registry, resource discovery, resource repository, Resource structure,
Resource directory, Path, URI, URL, datagram, REST, RESTful (POST, GET, PUT and
DELETE methods), Hyperlink, Hypertext, HTTP, HTML, XML, Browser, WebSocket,
Framework.
Application Programming Interface(API)
Application Programming Interface (API) refers to a software component, which receives
messages from one end; for example, from an application or client or input. An API may consist
of GUIs (button, check box, text box, dialog box). An API may get input to or from a server or a
user. It then initiates actions and may send the messages, for example, to application software,
server or a client at the other end etc.
Web service
Web service refers to a servicing software which uses web protocols, web objects or
WebSockets; for example, weather reports service, traffic density reports, streetlights
monitoring and controlling service.
Object
Object refers to a collection of resources; for example, collection of data and methods (or
functions or procedures) to operate on that data. Take for instance, Time_Date object with
second, minutes, hour, day, month and year fields and update methods. An object instance can
be just one or more than one for an object. An example of an object instance is birth_date.
Multiple object instances, abc_birth_date, pqr_birth_date, xyz_birth_date and many instances
can be created from birth_date object in JavaScript. An example of object instance is weather
report object for reporting the rains.
Communication Gateway
Communication gateway is one that functions as communication protocol translator
(convertor) for provisioning communication capabilities. For example, the gateway for
communication between ZigBee and IP networks.
Client
Client refers to a software object which makes request (or an API associated with it makes
request) for data, messages, resources or objects. A client can have one or more object
instances. A client may also have an API or many APIs for enabling the communication to the
server. A client can be at a device or application on a network or Internet connected web,
enterprise server or cloud.
Server
Server is defined as a software which sends a response on a request. The server also sends
messages, alerts or notifications. The server has access to resources, databases and objects. A
server can be on a device or can be on a separate computer system, not necessarily on Internet
connected web
Web object
Web object is the one that retrieves a resource from the web object at other end using a web
protocol.
Proxy
Proxy refers to an application which receives a response from the server for usage of a client or
application and which also receives requests from the client for the responses retrieved or
saved at proxy.
Web protocol
Web protocol is a protocol that defines the rules and conventions for communication between
the web server and web clients. It is a protocol for web connectivity of web objects, clients,
servers and intermediate servers or firewalls. It includes mechanisms for a web object to
identify and make connections with other objects. The protocol also includes web object
formatting rules that specify how that object packs into it the sent and received messages
Firewall
Firewall is one that protects the server from unauthentic resources
A header
A header consists of a set of words. The words contain the information and parameters about
the processing at a communicating layer. The words are placed over a data stack received from
a previous layer and create a new data stack for transmission to next lower layer. Header words
are placed at the sending layer lower in the hierarchy during transmission and removed at the
receiving layer higher in hierarchy after using the information contained in the header.
Path
Path denotes a navigation path between two ends when accessing a resource. Path
specification can be of URI or URL type. The structure of URI is hierarchical. Entity after the sign
‘/’ is a child of the parent before the sign ‘/’.
URI
Universal Resource Identifier is generally used for saved resources such as contacts or address
book. Example of a URI is /Contacts/First_Character_R/ for a set of resource directory contacts
having resource repository First_Character_R for contacts with first character R and resources
giving information about a contact. Another example is URI
sensorNetwork_J/sensorID_N/temperature for a temperature value. The value is at a resource
directory sensorNetwork_J for a sensor network, which stores sensor data for a sensor of id
sensorID_N.
URL
Universal Resource Locator is generally used for retrieving a resource(s) by a client. The saved
resources may be at a document or at a remote server accessed using Internet protocols. An
example of a URL is http://www.mhhe.com/ for a set of resource directories, resource
repositories and resources on the McGraw Hill Higher Education server.
Datagram
Datagram refers to a limited size data (2^16 byte). It is used for stateless connectionless
transfer from a web object. Stateless means each single datagram transfer is independent of
previous data interchanges and connectionless means there is no need of pre-establishing the
connection for resource exchanges between the web objects and no connection closing after
finishing the resource exchanges.
REST
Representational State Transfer (REST) is a software architecture referring to ways of defining
the identifiers for the resources, methods, access methods and data transfer during
interactions. REST is a software architecture which also specifies the practices, constraints,
characteristics and guidelines for creating scalable web services. Scalable means can be used as
per the size. The architecture is used during the design of web software components, clients
and web APIs.
Hyperlink
Hyperlink refers to a specification of the URL for a resource path, so that a link can be
established between two objects. For example, hyperlink URL specifications for the author’s
earlier book’s supplementary web-resources at McGraw-Hill Higher Education server are
http://www.mhhe.com/kamal/emb3. Retrieval of a resource at a web object by the other
object uses the click at a link shown on a displayed text on browser.
Hypertext, HTTP
Hypertext means text embedded with hyperlinks. HyperText Transfer Protocol (HTTP) means an
application layer protocol for use of hypertext as app data transfer protocol. Clients and servers
use the URLs http://… .
HTML
HyperText Markup Language (HTML) is a language for creating a hypertext which refers to text
that embeds text, images, audio and video, image frames, forms, lists, tables, navigation links
(reference to resources), APIs, Java Script and other codes for dynamic actions.
XML
Extensible Markup Language (XML) is a language, which enables creation, sending and receiving
documents, messages, commands, query responses, queries, and creation of forms. The form
data, response or message uses a new tag (not defined earlier in HTML) with new data type
definitions than the ones at HTML. HTML5 is the latest version of HTML which includes features
of XML and many new features as well. A form, for Design Principles for Web Connectivity 79
example, has a number of fields such as, Name, Phone, Address, e-Mail ID. Form data means
filled contents in the fields of a form. For example, one creates a new tag, ‘name’, and use in
the XML line as follows: Raj Kamal , then name field of form has data ‘Raj Kamal’. Sign ‘/’is for
ending.
Browser
Browser is a client software which displays hypertext that enables navigation to the hypertext
links shown on the user screen, and which displays GUIs of the apps, display form, display
server responses, and so on.
WebSocket
A WebSocket denotes an API for bidirectional communication that has much less header size
than HTTP communication and lower latency compared to HTTP approach of unidirectional
communication at an instant
Framework.
Framework refers to provisions for a number of software libraries, and a number of APIs
including those that can be selectively changed by user codes in applications. An example of a
framework is .NET framework. Advantages of frameworks are: easier to work with a set of
discrete objects, software components, protocols, complex and different technologies; binds
these together into something highly useful; forces the programmers to implement code in a
way that promotes consistent coding, thus with fewer bugs, and provisioning more flexibility in
the applications; and easy in testing and debugging of the code.