Internship Report
Internship Report
An Internship Report On
“IOT PLATFORM INTEGRATION”
Submitted in partial fulfillment for the award of the degree of
Bachelor of Engineering in
Electronics and Communication Engineering
Submitted by
CERTIFICATE
Certified that the internship work on “IOT PLATFORM INTEGRATION” presented
by “ARSHIYA BANU S” (1AT16EC017), of Atria Institute of Technology, Bangalore in
partial fulfillment for the award of Bachelor of Engineering in Electronics and Communication
Engineering of Visvesvaraya Technological University, Belagavi during 2019-20. It is certified
that all corrections/ suggestions indicated during internal assessment have been incorporated in the
report. The internship report has been approved and it satisfies the academic requirements with
respect to the internship report as prescribed for the said Degree.
External Viva
Internal Examiner External Examiner
Name: Name:
Date: Date:
Signature: Signature:
DECLARATION
I declare that the work submitted in this report is my won and has not been previously
submitted for the fulfilment of the B.E degree at the Visvesvaraya Technological University,
Belagavi or any other Institution/University.
Date:
ACKNOWLEDGMENT
The foundation for any successful venture is laid out not just by the individual accomplishing the
task, but also by several other people who believe that the individual can excel and put in their
every bit in every endeavor he/she embarks on, at every stage in life. And the success is derived
when opportunity meets preparation, also supported by a well-coordinated approach and attitude.
I would like to express our sincere gratitude to the respected principal Dr. K.V. Narayanaswamy,
for providing a congenial environment to work in.
I also like to express our sincere gratitude to Dr. Arun Balodi, Head of Department, Electronics
and Communication, for his continuous support and encouragement.
I am indeed indebted to Mr.Pavan S, our coordinator , for his continued support, advice and
valuable inputs during the course of this internship work.
I also express my sincere gratitude to my guide, Prof. Jayanth U, for the support and help
extended by him.
My sincere gratitude goes out to all our comrades and well-wishers who have supported me
through all the ventures.
Contents
Chapter-1 About the organization .............................................................................................. 1
1.1 INTRODUCTION .......................................................................................................... 1
Chapter-2 About the Department ............................................................................................... 3
2.1 Introduction ....................................................................................................................... 3
2.2 Vision .................................................................................................................................. 3
2.3 Mission................................................................................................................................ 3
2.4 Integrated Community Development ................................................................................ 4
2.5 Diversity and Equal Opportunity ...................................................................................... 5
2.6 TECHNOLOGY SERVICES ............................................................................................. 6
2.7 Services ................................................................................................................................. 6
2.8 UBIQWEISE 2.0 ................................................................................................................. 7
2.9 KEY DIFFERENTIATORS ............................................................................................... 8
2.10 BENEFITS OF OUR IOT CLOUD PLATFORM ......................................................... 8
Chapter-3 Task performed ........................................................................................................ 10
3.1. Doxygen Documentation .................................................................................................. 10
3.2 Node-RED .......................................................................................................................... 16
Table of Figures
1.1 INTRODUCTION
L&T Technology Services Limited (LTTS) is a listed subsidiary of Larsen & Toubro
Limited. The Company is a leading global pure-play Engineering Research &
Development (ER&D) services company. It offers design and development solutions
throughout the product development chain and provides services and solutions in the areas
of mechanical and manufacturing engineering embedded systems engineering analytics
and plant engineering. Headquartered in India LTTS has over 15100 employees spread
across 17 global design centers 28 global sales offices and 49 innovation labs in India as
of March 31 2019. Its customer base includes 69 Fortune 500 companies and 51 of the
world's top ER&D companies across industrial products medical devices transportation
telecom & hi-tech and the process industries .L&T Technology Services Limited was
incorporated as L&T Technology and Engineering Services Company Limited on June 14
2012 at Mumbai as a public limited company. The Company received the certificate of
commencement of business on June 20 2012. Subsequently the name of the company was
changed to L&T Technology Services Limited pursuant to a special resolution passed by
Shareholders at the EGM held on July 19 2012. As the engineering services business of the
Company is sub-set of technology services the name of the Company was changed to L&T
Technology Services Limited to more appropriately describe its business in line with the
company's main objects. In 2014 L&T Technology Services acquired the product
engineering services (PES) business (except the unit in Germany) from Larsen & Toubro
Infotech Limited.In 2015 L&T Technology Services acquired the unit of PES business in
Germany from L&T Infotech GmbH. During the year the company acquired the integrated
engineering services (IES) business from L&T. Also during the year the company acquired
74% stake in Thales Software India Private Limited (TSIPL). The company also acquired
the engineering services division of Dell India during the year. It also acquired the
engineering services division of Dell USA through its wholly owned subsidiary LTTS
LLC. In September 2016 L&T Technology Services was listed on the bourses after
promoter L&T sold 1.04 crore shares of the company through an initial public offer during
the period from 12 to 15 September 2016 via book building. On 6 October 2016 L&T
Technology Services announced a Digital Engineering Transformation partnership with
Microsoft Corporation to deliver Microsoft Azure Engineering Solutions for global
enterprises across industries.
2.1 Introduction
L&T Technology Services Limited (LTTS) is a global leader in Engineering and R&D (ER&D)
services. With 472 patents filed for 51 of the Global Top 100 ER&D spenders, LTTS lives and
breathes engineering. Our innovations speak for itself – World’s 1st Autonomous Welding Robot,
Solar ‘Connectivity’ Drone, and the Smartest Campus in the World, to name a few.
LTTS’ expertise in engineering design, product development, smart manufacturing, and
digitalization touches every area of our lives - from the moment we wake up to when we go to bed.
With 49 Innovation and R&D design centers globally, we specialize in disruptive technology
spaces such as 5G, Artificial Intelligence, Collaborative Robots, Digital Factory, and Autonomous
Transport.
LTTS is a publicly listed subsidiary of Larsen & Toubro Limited, the $18 billion Indian
conglomerate operating in over 30 countries
2.2 Vision
L&T shall be a professionally-managed Indian multinational company, committed to total
customer satisfaction and enhancing shareholder value.
L&T-shall be an innovative, entrepreneurial and empowered team constantly creating value and
attaining global benchmarks.
L&T shall foster a culture of caring, trust and continuous learning while meeting expectations of
employees, stakeholders and society.
2.3 Mission
Building India’s Social Infrastructure – Our Goals & Activities
Focusing on many social challenges in the communities, we propose to work towards the following
outcomes from our Social Infrastructure programs, based on need assessment and feasibility.
Water & sanitation - Ensuring availability of safe drinking water and water for agriculture,
constructing and ensuring use of toilets, and electrification of villages (off-grid renewables)
Skill building - through our Construction Skills Training Institute (CSTI). Enhancing employ-
ability of youth through increased training capacity, improved infrastructure of skill
development centers, as well as vocational training courses for women and physically challenged
persons.
We also work to build a collaborative eco-system comprising L&T, the community, our
employees, their families, NGOs, government agencies, chambers of commerce and academic
institutes to fulfill a larger social commitment.
L&T has an integrated approach to its water security and sanitation projects. Our
CSR programs help fulfill water needs first for drinking, followed by sanitation and then for
agriculture. In parallel, the program includes initiatives to develop underprivileged communities
that have suffered decades of water-stress. L&T, in consultation with experts, identified water-
stressed village clusters in Rajasthan, Tamil Nadu, Maharashtra and Gujarat and now works in
three states. The project currently covers 11,006 households, and an area of 9,337 hectares in these
states.
Objective
L&T is a team of more than 50000 professionals spread across the globe. We combine a proven
track record and professional skills, woven together with a culture of trust & caring. Consistently
rated among the best employers in the country, L&T offers unmatched leadership opportunities &
growth. Our approach is built on empowering employees to take on challenging assignments and
explore their potential.
With over 50% of its workforce below the age of 30, L&T is a young company that is over 75
years old. Every year we induct large batches of fresh engineering graduates.
There is one thing that unites our large and cosmopolitan team - we love what we do. We also
believe that diversity provides the environment for original thought. At every step of our
employees' careers, we invest in them by offering learning avenues, thus expanding their skill sets
to serve clients need better.
We are an equal opportunity employer and adhere to statutory & regulatory norms. Our egalitarian
work culture fosters diversity and equal opportunity. We do not discriminate on the basis of caste,
religious or political affiliation, gender, nationality, age, sexual orientation or disability
Growing with L&T
At L&T Learning & Development is a strategic business function contributing significantly
to organizational, group and individual effectiveness & growth by fostering a strong learning
culture.
2.7 Services
L&T leads in nearly every sphere of business it operates in. Serving customers in more than 30
countries, across various industries. L&T Business structure includes:-
Hydrocarbon engineering
Dept. of ECE,AIT 2019-2020 Page 6
IOT PLATFORM INTEGRATION
Transport infrastructure
Heavy civil infrastructure
Buildings & factories
Power transmission & distribution
Metallurgical &material handling
Power
Heavy engineering
Ship building
Electrical & Automation
Information technology
Technological service
Machinery & Industrial Products
Infrastructure development
Financial services
Sanitation facilities.
Figure 2: Ubiqweise
Device to cloud IoT platform with built-in rule engine, stream processing and big data
support
Empowers customers for rapid customization and quick deployment of IoT products
Deploy your IoT solutions on a public or private cloud, or even on your local servers
Add multiple devices, gateways, protocols, and cloud platforms and remotely manage
connectivity using a simple unified administration console
L&T Technology services wins IoT platforms leadership award 2018 for its integrated
MCare Solution Powered by UBIQWEISE 2.0
TASKS PERFORMED
IOT PLATFORM INTEGRATION
Figure 3: Doxygen
Doxygen can help you in three ways:
It can generate an on-line documentation browser (in HTML) and/or an off-line
reference manual (in ) from a set of documented source files. There is also support for
generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed
HTML, and Unix man pages. The documentation is extracted directly from the sources,
which makes it much easier to keep the documentation consistent with the source code.
You can configure doxygen to extract the code structure from undocumented source
files. This is very useful to quickly find your way in large source
distributions. Doxygen can also visualize the relations between the various elements by
You can also use doxygen for creating normal documentation (as I did for
the doxygen user manual and web-site).
DOXYGEN DOWNLOAD
$ git clone https://github.com/doxygen/doxygen.git
$ cd doxygen
$ mkdir build
$ cd build
$ cmake -G "Unix Make files" ..
$ make
NOTE: To force a fresh build after an earlier check-out simple remove the build directory and redo
the above steps.
After the binaries have been built, you can use
$ make install
If you have the necessary build tools installed (i.e. g++, python, cmake, flex, bison), you should
do the following to get the initial copy of the repository:
DOXYGEN INSTALL
While writing the comments we have to follow a pattern with the tags i.e. before every tag we
should have something special so that Doxygen can understand what are we creating.
NOTE: From above command filename is optional, if no filename is given a file named Doxyfile is
generated.
The entire doxygn documentation depends on the configuration of this Doxyfile. The file
describes the settings to be used by the documentation system. All text after hash ( # ) is
considered a comment and will be ignored.
The tag specifies the encoding used for all characters in the config file that follow. The default is
UTF-8 which is also which is also the encoding used for all text before the first occurrence of
this tag. Doxygen uses libconv for transcoding
In order to edit this file and add the content according to your needs following code will be helpful.
For example you can give a name to your project using this file.
$ vim Doxyfile
Edit the Doxyfile and give the input path @ (INPUT) for the source file
Mention the type of the code (FILE_PATTERNS) for the source file
3.2 Node-RED
Node-RED is a programming tool for wiring together hardware devices, APIs and online services
in new and interesting ways.
Figure 8: Node-Red
Running
Once installed as a global module you can use the node-red command to start Node-RED in your
terminal. You can use Ctrl-C or close the terminal window to stop Node-RED.
You can then access the Node-RED editor by pointing your browser at http://localhost:1880.
The log output provides you various pieces of information:
The versions of Node-RED and Node.js
Any errors hit when it tried to load the palette nodes
The location of your Settings file and User Directory
The name of the flows file it is using.
Node-RED uses flows_<hostname>.json as the default flows file. You can change this by
providing the flow file name as argument to the node-red command.
Command-line Usage
Node-RED can be started using the command node-red. This command can take various
arguments:
Node-RED uses flows_<hostname>.json as the default flows file. If the computer you are running
on may change its hostname, then you should ensure you provide a static file name; either as a
command-line argument or using the flowsFile option in your settings file.
Passing arguments to the underlying Node.js process
There are occasions when it is necessary to pass arguments to the underlying Node.js process. For
example, when running on devices like the Raspberry Pi or BeagleBone Black that have a
constrained amount of memory.
Upgrading Node-RED
If you have installed Node-RED as a global npm package, you can upgrade to the latest version
with the following command:
$ sudo npm install -g --unsafe-perm node-red
There are 8 main categories of nodes in the default install: inputs, outputs, functions, social,
storage, analysis, advanced and Raspberry Pi (See Figs 4.1 and 4.2) Let’s take a look at each
category in turn.
Input nodes
There are 7 basic input nodes installed by default. They cover the basic communications
mechanisms that IoT applications are likely to use. Ranging from lower-level internet protocols
such as UDP and TCP through to the higher-level HTTP and the publish/subscribe MQTT.
Output nodes
The output nodes are essentially the mirror images of the basic set of input nodes and provide a
way to send data on the same set of protocols, i.e. mqtt, http, udp etc.
Function nodes
The function category contains a variety of nodes that carry out specific processing functions.
These range from the simple delay and switch nodes to the programmable function node that can
be adapted to almost any programming need.
Social nodes
The basic social media nodes support interaction with email and with Twitter. They enable flows
to send or receive email, or to send or receives tweets.
Node-Red Editor
Main workspace
Node palette
Information and Debug pane
Menu and settings
Main Workspace
The Main Workspace is where flows that you create from nodes reside. All of your
programming and interconnecting of devices happens here.
Node Palette
The left pane is your node palette. It has a searchable list of all the nodes that are currently
installed in neat, collapsible sections.
Typically, you'll drag in and import a node. It's the most common way to initiate your
program logic.
To get a node into your flow, left click the inject node and drag it into the main workspace,
then release to place it.
The right pane is the Information and Debug pane with these tabs:
Finally, there is the menu and Deploy button on the top right, where you can manage
Runtime and the settings.
The Debug node causes any message to be displayed in the Debug sidebar. By default, it just
displays the payload of the message, but it is possible to display the entire message object.
4. Wire the two together
Connect the Inject and Debug nodes together by dragging between the output port of one to the
input port of the other.
5. Deploy
At this point, the nodes only exist in the editor and must be deployed to the server.
6. Add a Function node
The Function node allows you to pass each message though a JavaScript function.
Click done to close the edit dialog and then click the deploy button.
Now when you click the Inject button, the messages in the sidebar will now be formatted is
readable timestamps.
Double click on the node to configure it. The main configuration screen is shown above. The main
setting is the broker or server setting.We can select a previously configured server which you can
edit by clicking on the edit button, or add a new broker by selecting the add new mqtt
server option from the server list.
The server name that appears in the server list is a combination of the client ID and Broker
name or IP address.
Note: The MQTT specification originally used the term broker but it has now been changed
to server.
You can also configure the topic address,the QOS for the message and the retain flag.
The topic address,the QOS and the retain flag can also be provided by the preceding node as
part of the message object using:
msg.topic =mytopic
msg.qos =0,1 or 2
msg.retain =true or false
node-red-contrib-mqtt-broker
Configuring the MQTT Publish and Subscribe Nodes in Node-Red.
MQTT Broker server on Node-RED. Mosca MQTT broker is implemented by Node.js, you can
use MQTT-in and MQTT-out nodes without MQTT environment like Mosquitto.
Here the inject node is a timestamp which consists of date and time which is published to the
mosca broker depending on the configuration of the server node and then the timestamp is relayed
to the msg.payload.
After wiring up of all nodes is done then on clicking on deploy button, MQTT Broker will run on
your Node-RED. Both publisher and subscriber gets connected by indicating green colour buttons
near publisher and subscriber.
Thus, MQTT nodes have been published and subscribed using Node-Red.