IoT Communication
IoT Communication
Internet of Things
IoT Communication
Principle technologies driving IoT
system
IoT Communication
Communication technologies
Contents
Communication models
Communication Protocols
IoT Architecture
Principle Wireless Sensor Networks
Embedded Systems
technologies
Communication Protocols
driving IoT
Cloud Computing
system Big Data Analytics
Wireless Sensor Networks
Embedded Systems Development board
IDE (Integrated Development Environment)
Arduino
Open source microcontroller development board
used to read sensors and control devices.
Program can be uploaded on this board to
interact with things in the real world.
Various Arduino boards-
Arduino Uno
Arduino NG, Diecimila and the Duemilanove
(Legacy Versions)
Arduino Mega 2560
Arduino Mega ADK
Arduino LilyPad
Arduino UNO R3 features
Microcontroller: ATmega328P
32 KB of Flash memory
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins: 14 (6 pins provide PWM
output)
Analog Input Pins: 6
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
ARM mbed Platform
IDE is a software application that combines all of the features and tools
needed for software development.
It has a graphical user interface workbench with menus and toolbars
which help developers to write, build and test programs.
IDE is not a programming language but can be used to program in one
or more programming languages like
Python
C and C++
Java
Node.js and Java script
Some popular IDEs are Microsoft Visual Studio, NetBeans, Eclipse, Xcode
SHORT-RANGE WIRELESS
Thread protocol
Standard: Thread, based on IEEE802.15.4 and 6LoWPAN
Frequency: 2.4GHz (ISM)
Long-range wireless
Ethernet
HUMAN TO
MACHINE (H2M)
MACHINE TO
MACHINE (M2M)
Communication
types MACHINE TO
HUMAN (M2H)
HUMAN TO HUMAN
(H2H)
IoT REQUEST – RESPONSE
PUBLISH – SUBSCRIBE
Communication PUSH – PULL
Layer-wise
classification
Link Layer- determines how the data is physically sent over the
network's physical layer
Ipv4
UDP
TCP
User Datagram Protocol
Transmission Control Protocol Smaller packet sizes
Connection oriented and stateful protocol. Connectionless and stateless protocol
Ensures reliable transmission, Transaction oriented
Provides error detection, Time sensitive application
Flow and congestion control NO guaranteed delivery & in – order delivery
defines how the applications interface with
Application Layer - lower layer protocols to send data over a
network.
HTTP
Hypertext Transfer Protocol
Foundation of WWW
Request – response model
Stateless protocol
Users URI (Universal Resource Identifiers) to
identify http resources.
Send command to control an output
MQTT
Message Queue Telemetry Transport
Simple messaging communication
between multiple devices.
Light weight protocol for constrained
environment Read and publish data
Based on Publish-Subscribe model
Low data rate, low packet size,
requires low bandwidth
CoAP AMQP
Constrained Application Protocol Advanced Message Queuing
Machine to Machine(M2M) Protocol
Constrained devices and networks Supports both point-to-point and
Follows a request-response model publish subcribe model
Connection-less Routing and queuing
Runs over UDP instead of TCP
DDS
Data Distributed Service
M2M communication
Based on publish – subscribe model
QoS control and configure reliability
XMPP
Extensible Messaging and Presence
Protocol Web Sockets
Used for real-time communication Based on TCP
and streaming XML data
Duplex Communication
Publish-Subscribe model
QoS control and configure reliability Allow streams of messages to be
sent back and forth between client
and server
IoT REST-based
Communication
APIs WebSocket-based