You are on page 1of 9

1. . Sketch the architecture of IoT Toolkit and explain each entity in brief.

. Three- and Five-Layer Architectures

The most basic architecture is a three-layer architecture.It has three layers, namely, the
perception, network, and application layers.
(i)The perception layer is the physical layer, which has sensors for sensing and gathering
information about the environment. It senses some physical parameters or identifies other smart
objects in the environment.
(ii)The network layer is responsible for connecting to other smart things, network devices, and
servers. Its features are also used for transmitting and processing sensor data.
(iii)The application layer is responsible for delivering application specific services to the user. It
defines various applications in which the Internet of Things can be deployed, for example, smart
homes, smart cities, and smart health.

the five-layer architecture, which additionally includes the processing and business layers .The
five layers are perception, transport, processing, application, and business layers. The role of the
perception and application layers is the same as the architecture with three layers. We outline the
function of the remaining three layers.
(i)The transport layer transfers the sensor data from the perception layer to the processing layer
and vice versa through networks such as wireless, 3G, LAN, Bluetooth, RFID, and NFC.
(ii)The processing layer is also known as the middleware layer. It stores, analyzes, and processes
huge amounts of data that comes from the transport layer. It can manage and provide a diverse
set of services to the lower layers. It employs many technologies such as databases, cloud
computing, and big data processing modules.
(iii)The business layer manages the whole IoT system, including applications, business and profit
models, and users’ privacy. The business layer is out of the scope of this paper. Hence, we do not
discuss it further.
2. Demonstrate a smart object API gateway service reference implementation
in IoT toolkit.
Smart object API means virtual Representation of a Physical Smart Object
 Object Model: Web Object Encapsulation of properties.
 REST API using JOSON,XML,RDF,core-link-format representation.
 Data Models-Linked data descriptions ,Resource Discovery and linkage.
 Event Model-Asynchronous M2M and application software event handler.

Smart Object Structure-Object Model

Reset API
 Python API-Local Software ,Agents and Handlers
-Resources(objects) are hierarchical properties of other resources
 Web API-Http REST Client access
-Resources are organized in hierarchical path
 Default property
-Returns a resource associated with a higher level resources
-GET of Smart Object returns it’s Description ;GET of Observable Property returns it’s
Observation Value
API-Description( Data Model)
 Contains graphs describing the resources data model
 RDF triples in many popular representation
-create(POST)loads a graph in to the description
Delete(DELETE)removes a graphs or subgraph from the description
Set(PUT)updates a graphs or subgraph
Get(GET) return a graph or subgrapSemantic proxy for core-link-format compatibility
compatibility

3. Write and explain working of an HTTP- to-CoAP semantic mapping proxy


in IoT toolkit
The below figure describe how to do HTTP-to-CoAP Mapping
to allow HTTP clients to access a CoAP Server via a proxy. This works under the
assumption that, despite the similarities between CoAP and HTTP, not all browsers
will implement support for it and that some legacy devices will need proxying.
Another assumption is that users will like to use their smartphones with their home
sensors. The set up would look like this:

HTTP-to_CoAP Mapping Scenario with world-class graphics ;)

The mapping is fairly straightforward as CoAP is designed to mirror HTTP. In its simple
form, you simply append one URI after the other, for example:

http://p.example.com/hc/coap://s.example.com/light

Discovery is also important both on the HTTP and the CoAP side. A sample HTTP
discovery on the proxy would look like this:
Req: GET /.well-known/core?rt=core.hc HTTP/1.1
Host: p.example.com

Res: HTTP/1.1 200 OK


Content-Type: application/link-format
Content-Length: 18
// if plain link-format
</hc>;rt="core.hc"
// if JSON link-format
[{"href":"/hc","rt":"core.hc"}]

If it is the CoAP devices that are querying the proxy, they should also get back an anchor
URI of the HC proxy as well as the URI mapping.

Req: GET coap://[ff02::1]/.well-known/core?rt=core.hc


Res: 2.05 Content
</hc>;anchor="http://p.example.com";
rt="core.hc";hct="?uri={+tu}"

The mapping will depend on whether the application is tightly or loosely coupled with the
proxy. For HTTP unsupported media types the HC Proxy should simply answer with a 415
Unsupported Media Type response. When dealing with an unrecognised CoAP “cf” the HC
proxy can use the application/coap-payload and append that content format ;cf= whichever
is the content format number.

4. Explain application framework and embedded software agents for IoT


toolkit.
Application framework for IOT toolkit
Eclipse Kura
Kura is one of the most popular IoT frameworks, but it isn’t for the faint of
heart. It’s designed for integration specialists familiar with Apache Camel
and uses the Eclipse 1.0 public license. Kura is also a mature framework
established in 2013, so it’s relatively bug-free and has an impressive track
record focusing on IoT Gateways powered by Java or OSGi. Despite its
popularity, it has a number of drawbacks (or features, depending on how
you look at it), including the following:
Kura requires developers to create their own source code without a
visual designer, so you’ll get more customization but also a
significantly higher learning curve.
Kura does have a web UI for configuration of the protocols and
devices connected to your network, and this also includes options for
data and cloud services, and other I/O integration.
Uses a multi-service gateway with an online/offline mode and can
manage applications and network connectivity.
Runs on a wide range of edge, container, cloud, or premise platforms.

Node-RED
Unlike Kura, Node-RED is a visual tool for wiring IoT connections and
integrating them simply. It’s built on JavaScript and Node.js so you can
expect easy installation and integration flowcharts as well as an Apache 2.0
license. Like Kura, it has also been around the block and is reliable. There
are also numerous online examples and documentation available. Node-
RED key features include:
Easy, beginner-friendly installation.
Uses color-coded boxes and wiring connections to visualize your web
of networked devices.
Leverages IBM Bluemix cloud with native integration.
Runs on a wide range of edge, container, cloud, or premise platforms.
Flogo
The biggest difference between Flogo and its aforementioned competition
is that it has extremely lightweight edge applications, which can make a big
difference if your hardware and/or bandwidth is bogged down by queries.
Flogo is powered by Golang and is also a visual tool that’s easy to install
and get the hang of, and uses a BSD-style license. While it’s not as old as
Node-RED, Flogo’s zero dependency model allows for shared lightweight
binaries on devices. A few other features include:
Easy installation and integration workflow.
Color-coded visual designer equally suited to specialists and non-
specialists.
Flows are shareable as JSON files or strings.
Also runs on a wide range of edge, container, cloud, or premise
platforms.

5. Explain working of Raspberry Pi.


About raspberry pi
1. The Raspberry Pi is an inexpensive and miniature computer.
2. It was developed as an educational tool, and has been made available to
everyone, no matter your computer expertise (or lack thereof).
3. The Raspberry Pi is a versatile computer that can be made into just about
anything.
4. If you’ve been wanting an inexpensive way to get into programming and DIY tech
projects, this is an awesome place to start!
The Raspberry Pi Components
The Raspberry Pi device looks like a motherboard, with the mounted chips and
ports exposed, but it has all the components we
need to connect input, output, and storage devices and start computing.

Here’s how it works: An SD card inserted into the slot on the board acts as the hard drive for the
Raspberry Pi. It is powered by USB and the video output can be hooked up to a traditional RCA
TV set, a more modern monitor, or even a TV using the HDMI port. This gives you all of the
basic abilities of a normal computer. It also has an extremely low power consumption of about 3
watts. To put this power consumption in perspective, you could run over 30 Raspberry Pi’s in
place of a standard light bulb!

6. Connect Raspberry Pi with your existing system components

Step 1: Reformat microSD card


Insert your microSD card into the USB card reader.
Connect the card reader to your computer.
Download SD Formatter 5.0.
Double-click on SDFormatter_5.00B.pkg in your downloads folder in your Dockto install SD
Formatter 5.0.
Follow the instructions in the installation window.
Click the Launchpad icon in your Dock. It looks like a silver rocket ship.
Find the SD Formatter 5.0 app.
To move between Launchpad windows, click the Next Page icons at the bottom center of the
screen, or swipe to the right or left with your trackpad or Magic Mouse.
Click on the SD Formatter 5.0 app to open it. A formatting window will appear on your
desktop.
Under Select Card select your microSD card from the dropdown menu.
Click Format in the bottom right corner.When the reformat is complete, you will get a
notification window. Select OK to close the window.

Step 2: Download NOOBS onto the microSD card


Download the ZIP file ofNOOBS Version 2.4.5. It is a large file and will take a while to
complete. You will want Raspbian, so do not download NOOBS Lite
Double-click on the NOOBS file from the Downloads folder in your Dock to open it.
Select the first file inside the NOOBS folder.
Scroll down and Shift + left-click on the last file in the NOOBS folder.
Drag and drop all selected NOOBS files into the SD card icon on your desktop. You don't have
to open the SD card drive.
Right-click on the SD card icon.
Select "Eject [SD Card Name]"
Remove the card reader from your computer.
Remove the microSD card from the card reade

Step 3: Set up your Raspberry Pi


.Insert the microSD card into the card slot on the underside of the Raspberry Pi.
Plug the USB keyboard into one of the USB ports.
Plug the USB mouse into one of the USB ports
Alternatively, connect the Bluetooth adapter into one of the USB ports.
Turn on your monitor or TV set and make sure it is set to the proper input (e.g. HDMI 1 or
Component)
Plug the HDMI or video component cable into the monitor or TV set.
Connect the other end of the cable into the Raspberry Pi.
Connect an ethernet cable to your router if you plan to connect to the Internet.
Connect the other end of the cable to your Raspberry Pi.
Alternately, connect the Wi-Fi adapter to the Raspberry Pi.
Connect the power supply to the Raspberry Pi.
Plug the power supply into the power outlet. This will turn on and boot up Raspberry Pi. A
power indicator light will begin to glow, letting you know that you are connected

Step 4: Download the Raspbian operating system on the Raspberry Pi


Select Raspbian.
Click Install.

Step 5: Configure your Raspberry Pi


Click Menu in the upper left corner of the screen.
Select Preferences in the dropdown menu.
Select Raspberry Pi Configuration under Preferences.
When the configuration window appears, click on the Localisation tab.
Click on Set Locale… to set your location.
Click on Set timezone… to set your local time.
Click on Set Keyboard… to set your keyboard language.
Reconfiguring your Raspberry Pi will require a reboot. When the reboot window appears,
click Yes to continue.
7. Give overview of Zetta.

Zetta is an open source platform built on Node.js for creating Internet of Things servers that run
across geo-distributed computers and the cloud. Zetta combines REST
APIs, WebSockets and reactive programming – perfect for assembling many devices into
data-intensive, real-time applications.

Zetta servers run in the cloud, on PCs and on single-board computers. With Zetta you can link
Raspberry Pis, BeagleBones and PCs together with cloud platforms like Heroku to create geo-
distributed networks.

Zetta turns any device into an API. Zetta servers communicate with microcontrollers like
Arduino and Spark Core giving every device a REST API both locally and in the cloud.
Zetta's reactive hypermedia design marries reactive programming with Siren hypermedia
APIs so that you can assemble distributed systems of devices that communicate and react via
APIs.

Zetta provides helpful abstractions for increased developer productivity while also giving direct
access to underlying protocols and conventions allowing you to focus on the big picture without
losing track of the details so that you joyfully transform sensors, actuators and controllers into
big, creative applications buy night bright.

Zetta's architecture is optimized for data-intensive, real-time applications. Zetta allows you to
observe and react to device and system behavior in code and using visualization tools so that you
gain actionable insights and take insightful actions online pharmacy. You can also stream data
into machine analytics platforms like Splunkreliable online pharmacy.

How Zetta is deployed


This section describes a typical Zetta deployment.
1. One Zetta server runs on a hardware hub. This hub is typically something like a
BeagleBone Black, Intel Edison, or Raspberry Pi.
2. The Zetta hub connects to devices. Zetta mediates from HTTP to the particular protocols
used in a deployment.
3. Another Zetta server runs in the Cloud. This server uses the exact same Node.js packages
as Zetta running on the hub.
4. The Zetta server on the hardware hub connets to the server in the Cloud.
5. Zetta then exposes an API at the Cloud endpoint for developers to consume.

You might also like