0% found this document useful (0 votes)
233 views

Midterm Exam Review Questions 1 - New

The document discusses the Internet of Things (IoT). It defines IoT as a network of physical objects that connect and exchange data using internet connectivity. The document lists several sectors where IoT has played a major role, including agriculture, energy, healthcare, manufacturing, and transportation. It also outlines some pros and cons of IoT, as well as major components like hardware, communication technologies, protocols, software, and cloud platforms. Key communication technologies are listed as Bluetooth, Wi-Fi, and Zigbee. Common protocols include CoAP, MQTT, and XMPP. Popular cloud platforms are identified as Amazon Web Services, Cisco, and Microsoft Azure. Finally, the seven layer OSI model is briefly described.

Uploaded by

Sirus Danh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
233 views

Midterm Exam Review Questions 1 - New

The document discusses the Internet of Things (IoT). It defines IoT as a network of physical objects that connect and exchange data using internet connectivity. The document lists several sectors where IoT has played a major role, including agriculture, energy, healthcare, manufacturing, and transportation. It also outlines some pros and cons of IoT, as well as major components like hardware, communication technologies, protocols, software, and cloud platforms. Key communication technologies are listed as Bluetooth, Wi-Fi, and Zigbee. Common protocols include CoAP, MQTT, and XMPP. Popular cloud platforms are identified as Amazon Web Services, Cisco, and Microsoft Azure. Finally, the seven layer OSI model is briefly described.

Uploaded by

Sirus Danh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

I.

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

Q4. What are the major components of the Internet of things?


- Hardware (Device)
- Communication technology
- Protocols for IoT
- Software (IDE)
- Cloud Platforms
Q5. List and describe briefly some most common IoT Hardware Development Platforms.

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:

 Data collection, storage, and processing

 Remote device coordination and control

 Cloud and device software deployment

 3d party integration support

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

4. Layer 4: Application Layer

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.

3. Layer 3: Transport Layer

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.

2. Layer 2: Internet Layer

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.

1. Layer 1: Network Access Layer


The network access layer, also known as the data link layer, handles the physical infrastructure that lets
computers communicate with one another over the internet. This covers ethernet cables, wireless
networks, network interface cards, device drivers in your computer, and so on.
The network access layer also includes the technical infrastructure — such as the code that converts
digital data into transmittable signals — that makes network connection possible.
Source: https://www.avg.com/en/signal/what-is-tcp-ip#:~:text=There%20are%20four%20layers
%20of,when%20the%20data%20is%20received.
Source: https://www.guru99.com/tcp-ip-model.html
Q12. Describe briefly the IPv4 and IPv6 address
1. IPv4
IPv4 is an IP version widely used to identify devices on a network using an addressing system. It
was the first version of IP deployed for production in the ARPANET in 1983. It uses a 32-bit
address scheme to store 2^32 addresses which is more than 4 billion addresses. It is considered
the primary Internet Protocol and carries 94% of Internet traffic.
2. IPV6
IPv6 is the most recent version of the Internet Protocol. This new IP address version is being
deployed to fulfill the need for more Internet addresses. It was aimed to resolve issues that are
associated with IPv4. With 128-bit address space, it allows 340 undecillion unique address
space. IPv6 is also called IPng (Internet Protocol next generation).
Internet Engineer Taskforce initiated it in early 1994. The design and development of that suite
are now called IPv6.
Different:

 IPv4 is 32-Bit IP address whereas IPv6 is a 128-Bit IP address.


 IPv4 is a numeric addressing method whereas IPv6 is an alphanumeric addressing method.
 IPv4 binary bits are separated by a dot(.) whereas IPv6 binary bits are separated by a colon(:).
 IPv4 offers 12 header fields whereas IPv6 offers 8 header fields.
 IPv4 supports broadcast whereas IPv6 doesn’t support broadcast.
 IPv4 has checksum fields while IPv6 doesn’t have checksum fields
 When we compare IPv4 and IPv6, IPv4 supports VLSM (Variable Length Subnet Mask) whereas
IPv6 doesn’t support VLSM.
 IPv4 uses ARP (Address Resolution Protocol) to map to MAC address whereas IPv6 uses NDP
(Neighbour Discovery Protocol) to map to MAC address.

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.

15. What is SSL,TSL.


- SSL: Secure Sockets Layer (SSL) is a security protocol that provides privacy, authentication, and
integrity to Internet communications. SSL eventually evolved into Transport Layer Security (TLS).
- TLS: TLS (Transport Layer Security) is a security protocol that provides privacy and data integrity for
Internet communications. Implementing TLS is a standard practice for building secure web apps.
Source: https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/
16. List the microcontrollers and device platforms which IoTs can use.
Popular microcontrollers are ATmega 328, ATMega 32u4, ARM Cortex and ARM LPC.
17. What are the functions of various functional units in a microcontroller that embeds in an IoT
device?

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:

 a preemptive, tickless scheduler with priorities


 flexible memory management
 high resolution, long-term timers
 support 100+ boards based on AVR, MSP430, ESP8266, ESP32, MIPS, RISC-V, ARM7 and
ARM Cortex-M
 the native port allows to run RIOT as-is on Linux, BSD, and MacOS. Multiple instances of RIOT
running on a single machine can also be interconnected via a simple virtual Ethernet bridge
 IPv6
 6LoWPAN (RFC4944, RFC6282, and RFC6775)
 UDP
 RPL (storing mode, P2P mode)
 CoAP
 CCN-Lite
 Sigfox
 LoRaWAN

Source: https://github.com/RIOT-OS/RIOT

- Eclipse IoT (www.iot.eclipse.org) provides open-source implementation of standards such as MQTT


CoAP, OMA-DM and OMA LWM2M, and tools for working with Lua, services and frameworks that
enable an Open Internet of Things. Eclipse developed the IoT programming language—Lua. Eclipse
website provides sandbox environments for experimenting with the tools and a live demo. Eclipse-related
popular projects are Paho, Koneki and Mihini.

 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.

 Resource, resource instance, resource ID, resource registry, resource discovery,


resource repository, resource structure, resource directory
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.
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).
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. A resource
can be updated. A resource can be used when an application uses resource discovery.
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 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 (POST, GET, PUT and DELETE methods)


REST also refers to usage of defined resource types when transferring the objects between two
ends—URIs or URLs for representations of the resources. REST also refers to the usage of use
verbs (commands), POST, GET, PUT and DELETE (Section 3.4.4) and files of MIME types.
Multipurpose Internet Mail Extensions or MIME refers to the type of files that are widely used
on the Internet by web objects, applications and services. RESTful refers to one which follows
REST constraints and characteristics.

 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.

15. What is SSL,TSL.


Transport Layer Security (TLS), earlier known as Secure Socket Layer (SSL) is the protocol used
for securing the TCP-based Internet data interchanges. DTLS is the TLS for datagram. The
features of DTLS are:
● DTLS provisions for three types of security services—integrity, authentication and
confidentiality.
● DTLS protocol derives from TLS protocol and binds UDP for secured datagram transport.
● DTLS is well suited for securing applications; for example, tunnelling applications (VPN),
applications that tend to run out of file descriptors or socket buffers or applications which are
delay sensitive (and thus use UDP).
● A part of DTLS is OpenSSL repository openssl-0.9.8 security based on PSK, RPK and certificate.
Câu 18 ngta hỏi cụm device platform commu protocol không phải từng cái
Chưa có đáp án
Mấy câu trên slide thì như nhau cái 7 layer trong sách ngắn ngay dưới cái map đó còn lại khác nhưng t
thấy khá same với lại có phần trên mạng dễ hiểu hơn mấy câu nào chắc thì t để á

You might also like