DZone
IoT Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > IoT Zone > IoT Protocols Behind the Next Technological Revolution

IoT Protocols Behind the Next Technological Revolution

Delving into IoT? Here are the communication protocols you should keep in mind and overviews of how they work.

Francesco Azzola user avatar by
Francesco Azzola
CORE ·
Aug. 20, 16 · IoT Zone · Tutorial
Like (14)
Save
Tweet
10.98K Views

Join the DZone community and get the full member experience.

Join For Free

what are the iot protocols that are at the base of the internet of things? before answering this question, it is useful to have an overview about iot.

iot is gaining appeal, and the most important players are investing in iot. iot promises to be a technological revolution that will touch every area: industrial, transportation, energy, everyday life, and so on. as we have seen in previous posts, there are several iot definitions highlighting different aspects, and there are many solutions to implement iot projects .

iot promises to connect all the devices together, like wearables, home devices, and smart objects, and enable them to exchange information. all this information is gathered and analyzed to improve our life.

but how these devices send and receive data? we all know http protocol that makes possible to browse the net, opens web pages and so on. is this protocol still useful for iot?

well, the answer is yes but there are other iot protocols that can be more efficient and suitable for low power devices.

iot protocols


iot protocols

below, you will find a list of the most “important” iot protocols used in iot ecosystem:

  • mqtt
  • coap
  • amqp
  • rest
  • xmpp
  • stomp

mqtt

mqtt stands for message queuing telemetry trasport . it is a publish/subscribe message lightweight protocol. it is an m2m (machine-to-machine)-oriented protocol. now, it is an open standard maintained by the oasis group . the reference architecture is very simple, and it is based on client/server. the client is generally a sensor that “publishes” the information to the server (broker), which receives the information and dispatches it to the subscribers. the underlying communication is based on tcp.

mqtt model


generally speaking, the mqtt protocol uses a many-to-many paradigm, and the broker decouples the publisher to the subscriber and acts as a message router. this protocol implements qos, secure communication, persistence, and so on.  there is another version of this protocol called mqtt-sn (or mqtt-s), which stands for sensor network. eclipse has released an open source implementation of mqtt called mosquitto .

coap

coap stands for constrained application protocol. this protocol was designed by ietf, and it is an m2m protocol. this protocol is defined by rfc7252 and is web transfer protocol. this protocol is very similar to http and  is based on the document transfer paradigm. it uses the request/response model and supports built-in service discovery. respective to http protocol, coap is lightweight with smaller packets.

coap uses udp as underlying network protocol. it is basically a client-server protocol where the client makes a request and the server sends back a response as it happens in http. the methods used by coap are the same used by http.

amqp

amqp stands for advanced message queue protocol. it is maintained by oasis, like mqtt. amqp is an open standard to exchange messages between applications (m2m). in other words, it is a message-oriented protocol that provides features like routing and queuing. the key factors of amqp are:

  • it is open.
  • it is interoperable.
  • it is secure.
  • it is reliable.

rest

we al know rest. it stands for representational state transfer. it is used to exchange data between applications and to integrate applications belonging to different domains. it uses http as the base protocol. rest uses the client/server paradigm, and it is widely used, not just in the iot ecosystem. we discussed how to use rest to integrate arduino with android.

xmpp

xmpp (extensible messaging and presence protocol) is an open standard for presence and messaging. this protocol uses xml messages. xmpp-iot is designed specifically for the iot environment, and, basically, this protocol enables users to send real-time messages and handles the user presence (online, offline, busy). the iot version enables users to send and receive messages from machines. moreover,  it is extensbile easily. the key factors are:

  • extensible.
  • open standard.
  • flexible.

stomp

stomp is a text oriented messaging protocol. it is very easy to use. clients connect to a message broker to exchange messages.

that's it! now you know a bit of the various protocols that are seeing heavy utilization in the world of iot.

Protocol (object-oriented programming) IoT Technological revolution

Published at DZone with permission of Francesco Azzola, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Data Software Design Pitfalls on Java: Should We Have a Constructor on JPA?
  • API Security Weekly: Issue 173
  • How to Migrate to the Open-Source Cadence Workflow
  • Key Metrics and Measurements to Track Project and Product Performance

Comments

IoT Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo