SlideShare a Scribd company logo
1 of 4
Download to read offline
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072
© 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7163
Development of Android Application for Device to Device
Communication in IoT using RabbitMQ Broker
Deekshitha Arasa1, Meharunnisa S P2
1Student, DSCE, Bengaluru
2Professor, DSCE, Bengaluru
---------------------------------------------------------------------***----------------------------------------------------------------------
Abstract - This paper provides information about using
RabbitMQ broker as a real time communication medium for
IoT applications. The ability to gather relevant real time
information is the main key of the intelligent IoT
communication. This can be done by using MQTT protocol
which is emerging as an effective “machine to machine”
communication protocol for IoT world of connected devices
and for mobile applications where bandwidth and battery
power are at the premium.
Key Words: Internet of Things(IoT), RabbitMQ ,MQTT,
intelligent communcation, protocol
INTRODUCTION
IoT applications must be reactive and asynchronous. They
should be capable ofhandlingmanydevicesandall messages
ingested from them. Asynchronous messaging enables
flexibility i.e. An application cansenda messageoutandthen
it can keep working on the other things where as in
synchronized messaging it has to wait for a response in real
time. We can write the message to a queue and let the same
business logic happen later, no need to wait for the web
service to take action.
I. MESSAGE QUEUING FOR IOT WITH RABBITMQ
A. Introduction to RabbitMQ
RabbitMQ is open source message broker software. It
accepts messages from producers (publishers)andprovides
them to consumers (Subscribers). RabbitMQ acts as a
gateway for MQTT, AMQP, STOMP and HTTP protocols.
B. Structure of RabbitMQ communication
Fig 1: Message flow in RabbitMQ
Fig 1 shows how a message is beingpassedfromproducer
to consumer through RabbitMQ broker. The client
applications called producers create messages and deliver
them to the broker (the message queue)[1]. Consumers
connect to the queue and subscribe to the messages to be
processed. A software in a device can be a producer, or
consumer, or both a consumer and a producer of messages.
Messages placed onto the queue are stored until the
consumer gets them.
Instead of sending messages directly to the queue, the
producer sends messages to an exchange. With the help of
bindings and routing keys, an exchange accepts messages
from the producer application and routes them to message
queues. A binding is a link betweena queueandanexchange.
[1]
The following steps describe the message flow in
RabbitMQ:
1. The producer publishes a message to an exchange.
There are different types of exchanges: Direct, Topic and
Fanout. Type of exchange should be specified clearly.
2. The exchange receives the message and is now
responsible for the routing of the message.
3. Bindings need to be created from the exchange to
queues.
4. The messages stay in the queue until they are handled
by a consumer.
5. The consumer handles the message.
C. RabbitMQ and Server Concepts
The following are the main concepts we need to know
before we dig deep into RabbitMQ
1. Producer: Application that sends messages.
2. Consumer: Application that receives messages.
3. Queue: Buffer that stores messages.
4. Message: Information that is passed from producer to
consumer through RabbitMQ.
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072
© 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7164
5. Connection: A connection is a TCP connection between
your application and the RabbitMQ broker.
6. Channel: A channel is a virtual connection inside a
connection. Through the channel, messagesarepublished or
consumed from the queue.
7. Exchange: Receives messages from producers and
pushes them to queues depending on rules defined by the
exchange type. A queue needs to be bound to at least one
exchange to receive messages.
Following are the types of Exchanges:
a) Direct: It delivers messages to queues based ona message
routing key. Here, the binding key of the message should
exactly match to the routing key of the message.
b) Fanout: It routes messages to all of the queues that are
bound to it.
c) Topic: The topic exchange does a wildcardmatchbetween
the routing key and the routing pattern specified in the
binding.
d) Headers: Headers exchanges use the message header
attributes for routing.
8. Binding: A binding is a link between queue and exchange.
9. Routing Key: The routing key is a key that the exchange
looks at to decide how to route the message to queues. The
routing key acts like an address for the message.
10. Users: It is possible to connect to RabbitMQ with a given
username and password.
11. vhost, Virtual host: A Virtual host provides a way to
segregate applications using the same RabbitMQ instance.
Different users can have different access privileges to
different vhost and queues and exchanges can be created, so
they only exist in one vhost.
D. Working with RabbitMQ broker
First you need to install RabbitMQ server. By default it is
available in the API localhost. In your web browseryouneed
to type http:localhost:15672. You will be redirected to
rabbitMQ server login page. By default, the username and
password are set to guest. We can change itifwedesireto do
so.
Fig 2: Home page of RabbitMQ server
RabbitMQ providesa webUI formanagingandmonitoring
your RabbitMQ server. Fig 2 shows a homepage of a
RabbitMQ server. Queues, Exchanges, bindings, userscan be
created and managed using the Web UI.
E. Publish and subscribing messages using
RabbitMQ
To communicate with RabbitMQ we need a library that
understands the same protocol as RabbitMQ. We need to
download the client-library for the programming language
that you is required forour applications. A client-libraryisan
applications programming interface (API) for writing client
applications. A client library has several methods that can be
used to communicatewithRabbitMQ.Themethodsshouldbe
used when we want to connect to the RabbitMQ broker
(using the given parameters, hostname, port number, etc or
when we declare a queue or an exchange.
Fig 3: Flowchart to set up an object
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072
© 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7165
Figure 3 shows the Steps to follow when setting up a
connection and publishinga message/consumingamessage:
[2]
1. First of all, we need to set up/create a connection
object. This is the place where the username,
password, connectionURL,portetc,willbespecified.
Between the application and RabbitMQ, a TCP
connection will be built when the start method is
called.
2. A channel needs to be opened and createdintheTCP
connection. To open a channel, a connection
interface can be used and it can be used to send and
receive messages.
3. Declare/create a queue. Declaring a queue will
create a queue if it does not already exist. All queues
need to be declared before using them.
4. In subscriber/consumer: Set up exchangesand bind
a queue to an exchange. All exchanges need to be
declared before using them. An exchange is
responsible for accepting messages fromaproducer
application androutingthemtomessagequeues.For
messages to be routed to queues, it is necessary for
the queues to bind to an exchange.
5. In publisher: Publish a message to an exchange.
In subscriber/consumer:Consumeamessagefroma
queue.
6. Close the channel and the connection.
F. Basic Set up for a java client
a) For a java client, the Maven dependency would be
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>4.0.0</version>
</dependency>
b) After running the RabbitMQ broker, we need to
establish connection with the java client
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
factory.setPort(15678);
factory.setUsername("user1");
factory.setPassword("MyPassword");
We can use setPort to set the port if the default port is not
used by the RabbitMQ Server; the default port for RabbitMQ
is 15672:
c) To set producer:
From the producer side, declare the queue as follows:
channel.queueDeclare(“<Queuename>”, false, false, false,
null);
String message = “<Queuename>”;
channel.basicPublish("", "<Queuename", null,
message.getBytes());
Then close the channel and connection.
channel.close();
connection.close();
d) To set up the consumer
Declare the same queue from the consumer side as follows:
channel.queueDeclare("<Queuename", false, false, false,
null);Then declare the consumer that will process
messages fom the queue asynchronously.
Consumer consumer = new DefaultConsumer(channel)
{@Override
public void handleDelivery(
String consumerTag,
Envelope envelope,
AMQP.BasicProperties properties,
byte[] body) throws IOException {
String message = new String(body, "UTF-8");
// process the message
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072
© 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7166
} };
channel.basicConsume("products_queue", true,
consumer);
II. RESULTS
Fig 4: Rabbitmq output in android phone
As the message gets published in the queue from an
android program, it is shown in the android application as
shown in figure 4. As and when the new value gets stored,
values in the android application get updated too.
III. CONCLUSION
RabbitMQ is a message broker that takes messages and
sends them to other places in a pretty smart way. It is
completely language-neutral andwhileusingityoucanwrite
and read to them in any language just like you would while
using TCP or HTTP. RabbitMQ runs on all major operating
systems and supports a large numberofdeveloperplatforms
such as java, .NET, Python, PHP, Erlang and many more.
REFERENCES
[1] Sneha Shailesh, Kiran Joshi, Kaustubh Purandare,
“Performance Analysis of RabbitMQ as a message bus”
P.G. Student, Department of Computer
Engineering,V.J.T.I, Mumbai, Maharashtra, India
[2] Oladay Bello, “Intelligent Device-to-Device
Communication in the Internet of Things” Member,
IEEE, and Sherali Zeadally, Senior Member, IEEE
[3] “Intelligent Device-to-Device Communication in the
Internet of Things”- Oladayo Bello, Member, IEEE, and
Sherali Zeadally, Senior Member, IEEE
[4] “A SURVEY ON MQTT: A PROTOCOL OF INTERNET OF
THINGS(IOT) Conference Paper · April 2017
[5] “A Survey:Embedded World AroundMQTTProtocol for
IoT Application” - Kirit Vanani1, Jignesh Patoliy,
Hardik Patel
[6] Atzori L, Iera A, Morabito G (2010) The internet of
things: A survey. Computer Networks 54(15): 2787-
2805.
[7] Patel KK, Patel SM (2016) Internet of Things-IoT:
Definition, characteristics, architecture, enabling
technologies, applications, and future challenges.
International J of Engineering Science and Computing
6(5): 6122-6131.
[8] http://iot.ieee.org
[9] Ashton K (2009) That ‘Internet of Things’ thing.
[10] S.Yu and Y. Peng “ Research of routing protocol in RFID
based internet of things”

More Related Content

What's hot

Mobile Messaging - Part 5 - Mms Arch And Transactions
Mobile Messaging  - Part 5 - Mms Arch And TransactionsMobile Messaging  - Part 5 - Mms Arch And Transactions
Mobile Messaging - Part 5 - Mms Arch And TransactionsGwenaël Le Bodic
 
Mobile Message Delivery: SMS and MMS_Michael Hanley
Mobile Message Delivery: SMS and MMS_Michael HanleyMobile Message Delivery: SMS and MMS_Michael Hanley
Mobile Message Delivery: SMS and MMS_Michael HanleySara Quinn
 
MMS Parser
MMS ParserMMS Parser
MMS Parsermamahow
 
Message queuing telemetry transport (mqtt)
Message queuing telemetry transport (mqtt)Message queuing telemetry transport (mqtt)
Message queuing telemetry transport (mqtt)Hamdamboy
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Wp ip-mpls-based-vpns
Wp ip-mpls-based-vpnsWp ip-mpls-based-vpns
Wp ip-mpls-based-vpnssubha_87
 
Network Configuration Example: Deploying Scalable Services on an MX Series Ro...
Network Configuration Example: Deploying Scalable Services on an MX Series Ro...Network Configuration Example: Deploying Scalable Services on an MX Series Ro...
Network Configuration Example: Deploying Scalable Services on an MX Series Ro...Juniper Networks
 
Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...
Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...
Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...ijtsrd
 
Fast Handovers in heterogeneous Wireless Networks
Fast Handovers in heterogeneous Wireless NetworksFast Handovers in heterogeneous Wireless Networks
Fast Handovers in heterogeneous Wireless NetworksSneha Vurrakula
 
Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27Rodolfo Krautheim
 

What's hot (13)

Mobile Messaging - Part 5 - Mms Arch And Transactions
Mobile Messaging  - Part 5 - Mms Arch And TransactionsMobile Messaging  - Part 5 - Mms Arch And Transactions
Mobile Messaging - Part 5 - Mms Arch And Transactions
 
Mobile Message Delivery: SMS and MMS_Michael Hanley
Mobile Message Delivery: SMS and MMS_Michael HanleyMobile Message Delivery: SMS and MMS_Michael Hanley
Mobile Message Delivery: SMS and MMS_Michael Hanley
 
MMS Parser
MMS ParserMMS Parser
MMS Parser
 
Message queuing telemetry transport (mqtt)
Message queuing telemetry transport (mqtt)Message queuing telemetry transport (mqtt)
Message queuing telemetry transport (mqtt)
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Wp ip-mpls-based-vpns
Wp ip-mpls-based-vpnsWp ip-mpls-based-vpns
Wp ip-mpls-based-vpns
 
How MQTT work ?
How MQTT work ?How MQTT work ?
How MQTT work ?
 
Network Configuration Example: Deploying Scalable Services on an MX Series Ro...
Network Configuration Example: Deploying Scalable Services on an MX Series Ro...Network Configuration Example: Deploying Scalable Services on an MX Series Ro...
Network Configuration Example: Deploying Scalable Services on an MX Series Ro...
 
Vivpn pp tfinal
Vivpn pp tfinalVivpn pp tfinal
Vivpn pp tfinal
 
Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...
Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...
Detection of Vampire Attacks in Ad-Hoc Wireless Sensor Network Evaluation and...
 
A..C.C.E.S.S - SC EMD
A..C.C.E.S.S -  SC EMDA..C.C.E.S.S -  SC EMD
A..C.C.E.S.S - SC EMD
 
Fast Handovers in heterogeneous Wireless Networks
Fast Handovers in heterogeneous Wireless NetworksFast Handovers in heterogeneous Wireless Networks
Fast Handovers in heterogeneous Wireless Networks
 
Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27
 

Similar to Developing an Android App for Device Communication in IoT Using RabbitMQ

Iot hub agent
Iot hub agentIot hub agent
Iot hub agentrtfmpliz1
 
MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021Julian Douch
 
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...IRJET Journal
 
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless...
IRJET-  	  An Efficient Dissemination and Dynamic Risk Management in Wireless...IRJET-  	  An Efficient Dissemination and Dynamic Risk Management in Wireless...
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless...IRJET Journal
 
ONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOT
ONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOTONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOT
ONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOTIRJET Journal
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorialAbhi Arya
 
IRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of ThingsIRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of ThingsIRJET Journal
 
SignalR or RabbitMQ: Which is the better messaging tool?
SignalR or RabbitMQ: Which is the better messaging tool?SignalR or RabbitMQ: Which is the better messaging tool?
SignalR or RabbitMQ: Which is the better messaging tool?Tien Nguyen
 
OTT- understanding infrastructure
OTT- understanding infrastructureOTT- understanding infrastructure
OTT- understanding infrastructureShreya Chopra
 
An In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use Cases
An In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use CasesAn In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use Cases
An In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use CasesTien Nguyen
 
Real-Time Communication
Real-Time CommunicationReal-Time Communication
Real-Time Communicationssusere19c741
 
Subscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robotsSubscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robotsdbpublications
 
SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...
SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...
SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...Journal For Research
 
Manual redes - network programming with j2 me wireless devices
Manual   redes - network programming with j2 me wireless devicesManual   redes - network programming with j2 me wireless devices
Manual redes - network programming with j2 me wireless devicesVictor Garcia Vara
 
Managing microservices with Istio Service Mesh
Managing microservices with Istio Service MeshManaging microservices with Istio Service Mesh
Managing microservices with Istio Service MeshRafik HARABI
 
f2f-overview12.ppt
f2f-overview12.pptf2f-overview12.ppt
f2f-overview12.pptwentaozhu3
 

Similar to Developing an Android App for Device Communication in IoT Using RabbitMQ (20)

Iot hub agent
Iot hub agentIot hub agent
Iot hub agent
 
MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021
 
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless Sen...
 
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless...
IRJET-  	  An Efficient Dissemination and Dynamic Risk Management in Wireless...IRJET-  	  An Efficient Dissemination and Dynamic Risk Management in Wireless...
IRJET- An Efficient Dissemination and Dynamic Risk Management in Wireless...
 
ONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOT
ONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOTONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOT
ONLINE FOOD ORDERS THROUGH WHATSAPP AUTOMATION BOT
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorial
 
IRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of ThingsIRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of Things
 
SignalR or RabbitMQ: Which is the better messaging tool?
SignalR or RabbitMQ: Which is the better messaging tool?SignalR or RabbitMQ: Which is the better messaging tool?
SignalR or RabbitMQ: Which is the better messaging tool?
 
OTT- understanding infrastructure
OTT- understanding infrastructureOTT- understanding infrastructure
OTT- understanding infrastructure
 
5041
50415041
5041
 
Microservices
MicroservicesMicroservices
Microservices
 
Wcf faq
Wcf faqWcf faq
Wcf faq
 
An In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use Cases
An In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use CasesAn In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use Cases
An In-Depth Comparison of WebSocket and SignalR: Pros, Cons, and Use Cases
 
Real-Time Communication
Real-Time CommunicationReal-Time Communication
Real-Time Communication
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
Subscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robotsSubscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robots
 
SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...
SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...
SECURITY IMPLEMENTATION IN MEDIA STREAMING APPLICATIONS USING OPEN NETWORK AD...
 
Manual redes - network programming with j2 me wireless devices
Manual   redes - network programming with j2 me wireless devicesManual   redes - network programming with j2 me wireless devices
Manual redes - network programming with j2 me wireless devices
 
Managing microservices with Istio Service Mesh
Managing microservices with Istio Service MeshManaging microservices with Istio Service Mesh
Managing microservices with Istio Service Mesh
 
f2f-overview12.ppt
f2f-overview12.pptf2f-overview12.ppt
f2f-overview12.ppt
 

More from IRJET Journal

TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...IRJET Journal
 
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURESTUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTUREIRJET Journal
 
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...IRJET Journal
 
Effect of Camber and Angles of Attack on Airfoil Characteristics
Effect of Camber and Angles of Attack on Airfoil CharacteristicsEffect of Camber and Angles of Attack on Airfoil Characteristics
Effect of Camber and Angles of Attack on Airfoil CharacteristicsIRJET Journal
 
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...IRJET Journal
 
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...IRJET Journal
 
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...IRJET Journal
 
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...IRJET Journal
 
A REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADASA REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADASIRJET Journal
 
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...IRJET Journal
 
P.E.B. Framed Structure Design and Analysis Using STAAD Pro
P.E.B. Framed Structure Design and Analysis Using STAAD ProP.E.B. Framed Structure Design and Analysis Using STAAD Pro
P.E.B. Framed Structure Design and Analysis Using STAAD ProIRJET Journal
 
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...IRJET Journal
 
Survey Paper on Cloud-Based Secured Healthcare System
Survey Paper on Cloud-Based Secured Healthcare SystemSurvey Paper on Cloud-Based Secured Healthcare System
Survey Paper on Cloud-Based Secured Healthcare SystemIRJET Journal
 
Review on studies and research on widening of existing concrete bridges
Review on studies and research on widening of existing concrete bridgesReview on studies and research on widening of existing concrete bridges
Review on studies and research on widening of existing concrete bridgesIRJET Journal
 
React based fullstack edtech web application
React based fullstack edtech web applicationReact based fullstack edtech web application
React based fullstack edtech web applicationIRJET Journal
 
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...IRJET Journal
 
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.IRJET Journal
 
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...IRJET Journal
 
Multistoried and Multi Bay Steel Building Frame by using Seismic Design
Multistoried and Multi Bay Steel Building Frame by using Seismic DesignMultistoried and Multi Bay Steel Building Frame by using Seismic Design
Multistoried and Multi Bay Steel Building Frame by using Seismic DesignIRJET Journal
 
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...IRJET Journal
 

More from IRJET Journal (20)

TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
 
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURESTUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
 
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
 
Effect of Camber and Angles of Attack on Airfoil Characteristics
Effect of Camber and Angles of Attack on Airfoil CharacteristicsEffect of Camber and Angles of Attack on Airfoil Characteristics
Effect of Camber and Angles of Attack on Airfoil Characteristics
 
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
 
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
 
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
 
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
 
A REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADASA REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADAS
 
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
 
P.E.B. Framed Structure Design and Analysis Using STAAD Pro
P.E.B. Framed Structure Design and Analysis Using STAAD ProP.E.B. Framed Structure Design and Analysis Using STAAD Pro
P.E.B. Framed Structure Design and Analysis Using STAAD Pro
 
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
 
Survey Paper on Cloud-Based Secured Healthcare System
Survey Paper on Cloud-Based Secured Healthcare SystemSurvey Paper on Cloud-Based Secured Healthcare System
Survey Paper on Cloud-Based Secured Healthcare System
 
Review on studies and research on widening of existing concrete bridges
Review on studies and research on widening of existing concrete bridgesReview on studies and research on widening of existing concrete bridges
Review on studies and research on widening of existing concrete bridges
 
React based fullstack edtech web application
React based fullstack edtech web applicationReact based fullstack edtech web application
React based fullstack edtech web application
 
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
 
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
 
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
 
Multistoried and Multi Bay Steel Building Frame by using Seismic Design
Multistoried and Multi Bay Steel Building Frame by using Seismic DesignMultistoried and Multi Bay Steel Building Frame by using Seismic Design
Multistoried and Multi Bay Steel Building Frame by using Seismic Design
 
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
 

Recently uploaded

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 

Developing an Android App for Device Communication in IoT Using RabbitMQ

  • 1. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072 © 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7163 Development of Android Application for Device to Device Communication in IoT using RabbitMQ Broker Deekshitha Arasa1, Meharunnisa S P2 1Student, DSCE, Bengaluru 2Professor, DSCE, Bengaluru ---------------------------------------------------------------------***---------------------------------------------------------------------- Abstract - This paper provides information about using RabbitMQ broker as a real time communication medium for IoT applications. The ability to gather relevant real time information is the main key of the intelligent IoT communication. This can be done by using MQTT protocol which is emerging as an effective “machine to machine” communication protocol for IoT world of connected devices and for mobile applications where bandwidth and battery power are at the premium. Key Words: Internet of Things(IoT), RabbitMQ ,MQTT, intelligent communcation, protocol INTRODUCTION IoT applications must be reactive and asynchronous. They should be capable ofhandlingmanydevicesandall messages ingested from them. Asynchronous messaging enables flexibility i.e. An application cansenda messageoutandthen it can keep working on the other things where as in synchronized messaging it has to wait for a response in real time. We can write the message to a queue and let the same business logic happen later, no need to wait for the web service to take action. I. MESSAGE QUEUING FOR IOT WITH RABBITMQ A. Introduction to RabbitMQ RabbitMQ is open source message broker software. It accepts messages from producers (publishers)andprovides them to consumers (Subscribers). RabbitMQ acts as a gateway for MQTT, AMQP, STOMP and HTTP protocols. B. Structure of RabbitMQ communication Fig 1: Message flow in RabbitMQ Fig 1 shows how a message is beingpassedfromproducer to consumer through RabbitMQ broker. The client applications called producers create messages and deliver them to the broker (the message queue)[1]. Consumers connect to the queue and subscribe to the messages to be processed. A software in a device can be a producer, or consumer, or both a consumer and a producer of messages. Messages placed onto the queue are stored until the consumer gets them. Instead of sending messages directly to the queue, the producer sends messages to an exchange. With the help of bindings and routing keys, an exchange accepts messages from the producer application and routes them to message queues. A binding is a link betweena queueandanexchange. [1] The following steps describe the message flow in RabbitMQ: 1. The producer publishes a message to an exchange. There are different types of exchanges: Direct, Topic and Fanout. Type of exchange should be specified clearly. 2. The exchange receives the message and is now responsible for the routing of the message. 3. Bindings need to be created from the exchange to queues. 4. The messages stay in the queue until they are handled by a consumer. 5. The consumer handles the message. C. RabbitMQ and Server Concepts The following are the main concepts we need to know before we dig deep into RabbitMQ 1. Producer: Application that sends messages. 2. Consumer: Application that receives messages. 3. Queue: Buffer that stores messages. 4. Message: Information that is passed from producer to consumer through RabbitMQ.
  • 2. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072 © 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7164 5. Connection: A connection is a TCP connection between your application and the RabbitMQ broker. 6. Channel: A channel is a virtual connection inside a connection. Through the channel, messagesarepublished or consumed from the queue. 7. Exchange: Receives messages from producers and pushes them to queues depending on rules defined by the exchange type. A queue needs to be bound to at least one exchange to receive messages. Following are the types of Exchanges: a) Direct: It delivers messages to queues based ona message routing key. Here, the binding key of the message should exactly match to the routing key of the message. b) Fanout: It routes messages to all of the queues that are bound to it. c) Topic: The topic exchange does a wildcardmatchbetween the routing key and the routing pattern specified in the binding. d) Headers: Headers exchanges use the message header attributes for routing. 8. Binding: A binding is a link between queue and exchange. 9. Routing Key: The routing key is a key that the exchange looks at to decide how to route the message to queues. The routing key acts like an address for the message. 10. Users: It is possible to connect to RabbitMQ with a given username and password. 11. vhost, Virtual host: A Virtual host provides a way to segregate applications using the same RabbitMQ instance. Different users can have different access privileges to different vhost and queues and exchanges can be created, so they only exist in one vhost. D. Working with RabbitMQ broker First you need to install RabbitMQ server. By default it is available in the API localhost. In your web browseryouneed to type http:localhost:15672. You will be redirected to rabbitMQ server login page. By default, the username and password are set to guest. We can change itifwedesireto do so. Fig 2: Home page of RabbitMQ server RabbitMQ providesa webUI formanagingandmonitoring your RabbitMQ server. Fig 2 shows a homepage of a RabbitMQ server. Queues, Exchanges, bindings, userscan be created and managed using the Web UI. E. Publish and subscribing messages using RabbitMQ To communicate with RabbitMQ we need a library that understands the same protocol as RabbitMQ. We need to download the client-library for the programming language that you is required forour applications. A client-libraryisan applications programming interface (API) for writing client applications. A client library has several methods that can be used to communicatewithRabbitMQ.Themethodsshouldbe used when we want to connect to the RabbitMQ broker (using the given parameters, hostname, port number, etc or when we declare a queue or an exchange. Fig 3: Flowchart to set up an object
  • 3. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072 © 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7165 Figure 3 shows the Steps to follow when setting up a connection and publishinga message/consumingamessage: [2] 1. First of all, we need to set up/create a connection object. This is the place where the username, password, connectionURL,portetc,willbespecified. Between the application and RabbitMQ, a TCP connection will be built when the start method is called. 2. A channel needs to be opened and createdintheTCP connection. To open a channel, a connection interface can be used and it can be used to send and receive messages. 3. Declare/create a queue. Declaring a queue will create a queue if it does not already exist. All queues need to be declared before using them. 4. In subscriber/consumer: Set up exchangesand bind a queue to an exchange. All exchanges need to be declared before using them. An exchange is responsible for accepting messages fromaproducer application androutingthemtomessagequeues.For messages to be routed to queues, it is necessary for the queues to bind to an exchange. 5. In publisher: Publish a message to an exchange. In subscriber/consumer:Consumeamessagefroma queue. 6. Close the channel and the connection. F. Basic Set up for a java client a) For a java client, the Maven dependency would be <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>4.0.0</version> </dependency> b) After running the RabbitMQ broker, we need to establish connection with the java client ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); factory.setPort(15678); factory.setUsername("user1"); factory.setPassword("MyPassword"); We can use setPort to set the port if the default port is not used by the RabbitMQ Server; the default port for RabbitMQ is 15672: c) To set producer: From the producer side, declare the queue as follows: channel.queueDeclare(“<Queuename>”, false, false, false, null); String message = “<Queuename>”; channel.basicPublish("", "<Queuename", null, message.getBytes()); Then close the channel and connection. channel.close(); connection.close(); d) To set up the consumer Declare the same queue from the consumer side as follows: channel.queueDeclare("<Queuename", false, false, false, null);Then declare the consumer that will process messages fom the queue asynchronously. Consumer consumer = new DefaultConsumer(channel) {@Override public void handleDelivery( String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); // process the message
  • 4. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 06 Issue: 05 | May 2019 www.irjet.net p-ISSN: 2395-0072 © 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 7166 } }; channel.basicConsume("products_queue", true, consumer); II. RESULTS Fig 4: Rabbitmq output in android phone As the message gets published in the queue from an android program, it is shown in the android application as shown in figure 4. As and when the new value gets stored, values in the android application get updated too. III. CONCLUSION RabbitMQ is a message broker that takes messages and sends them to other places in a pretty smart way. It is completely language-neutral andwhileusingityoucanwrite and read to them in any language just like you would while using TCP or HTTP. RabbitMQ runs on all major operating systems and supports a large numberofdeveloperplatforms such as java, .NET, Python, PHP, Erlang and many more. REFERENCES [1] Sneha Shailesh, Kiran Joshi, Kaustubh Purandare, “Performance Analysis of RabbitMQ as a message bus” P.G. Student, Department of Computer Engineering,V.J.T.I, Mumbai, Maharashtra, India [2] Oladay Bello, “Intelligent Device-to-Device Communication in the Internet of Things” Member, IEEE, and Sherali Zeadally, Senior Member, IEEE [3] “Intelligent Device-to-Device Communication in the Internet of Things”- Oladayo Bello, Member, IEEE, and Sherali Zeadally, Senior Member, IEEE [4] “A SURVEY ON MQTT: A PROTOCOL OF INTERNET OF THINGS(IOT) Conference Paper · April 2017 [5] “A Survey:Embedded World AroundMQTTProtocol for IoT Application” - Kirit Vanani1, Jignesh Patoliy, Hardik Patel [6] Atzori L, Iera A, Morabito G (2010) The internet of things: A survey. Computer Networks 54(15): 2787- 2805. [7] Patel KK, Patel SM (2016) Internet of Things-IoT: Definition, characteristics, architecture, enabling technologies, applications, and future challenges. International J of Engineering Science and Computing 6(5): 6122-6131. [8] http://iot.ieee.org [9] Ashton K (2009) That ‘Internet of Things’ thing. [10] S.Yu and Y. Peng “ Research of routing protocol in RFID based internet of things”