The Internet of Things (IoT) is the interconnection of uniquely identifiable embedded computing devices within the existing Internet infrastructure. Typically, IoT is expected to offer advanced connectivity of devices, systems, and services that goes beyond machine-to-machine communications (M2M) and covers a variety of protocols, domains, and applications. The interconnection of these embedded devices (including smart objects), is expected to usher in automation in nearly all fields, while also enabling advanced applications like a Smart Grid.
The Internet of Things (IoT) is the network of physical objects accessed through the Internet, as defined by technology analysts and visionaries. These objects contain embedded technology to interact with internal states or the external environment. In other words, when objects can sense and communicate, it changes how and where decisions are made, and who makes them. A common first step toward the IoT is converting networks on proprietary protocols to IP-based networks. For enterprises, it requires partnerships between operational technology (OT) and IT to address security, performance, and interoperability.
The IoT needs standard protocols. Two of the most promising for small devices are -
CoAP
ref:
Wiki - http://en.wikipedia.org/wiki/Internet_of_Things
Open Interconnect Consortium(OIC) - http://openinterconnect.org/
AllSeen Alliance - https://allseenalliance.org/
Industrial Internet Consortium - http://www.iiconsortium.org/
Google Nest and others group - http://www.threadgroup.org/
Apple HomeKit - https://developer.apple.com/homekit/
IoT overview -
1. http://www.cisco.com/web/solutions/trends/iot/overview.html
2. http://www.microsoft.com/windowsembedded/en-us/internet-of-things.aspx
3. http://www-01.ibm.com/software/info/internet-of-things/
4. http://www.businessinsider.com/enterprise-growth-in-the-internet-of-things-market-2014-8
5. http://www.mckinsey.com/insights/high_tech_telecoms_internet/the_internet_of_things
MQTT, CoAP, IoT protocols - http://www.eclipse.org/community/eclipse_newsletter/2014/february/article2.php
CoRE (Constrained Resource Environments) - https://datatracker.ietf.org/doc/charter-ietf-core/
Open IoT stack for Java - http://iot.eclipse.org/java/download/
Intel IoT developer kit - https://software.intel.com/en-us/blogs/2014/09/08/announcing-intel-iot-developer-kit
Eclipse C/C++ IDE for Intel Galileo/Edison - https://software.intel.com/en-us/getting-started-for-c-c-plus-plus-eclipse-galileo-and-edison
The Internet of Things (IoT) is the network of physical objects accessed through the Internet, as defined by technology analysts and visionaries. These objects contain embedded technology to interact with internal states or the external environment. In other words, when objects can sense and communicate, it changes how and where decisions are made, and who makes them. A common first step toward the IoT is converting networks on proprietary protocols to IP-based networks. For enterprises, it requires partnerships between operational technology (OT) and IT to address security, performance, and interoperability.
The IoT needs standard protocols. Two of the most promising for small devices are -
- CoAP(Constrained Application Protocol)
- MQTT(Message Queuing Telemetry Transport)
CoAP
CoAP is the
Constrained Application Protocol from the CoRE (Constrained Resource
Environments) IETF group. Like HTTP, CoAP is a document transfer
protocol. Unlike HTTP, CoAP is designed for the needs of constrained
devices.
CoAP packets
are much smaller than HTTP TCP flows. Bitfields and mappings from
strings to integers are used extensively to save space. Packets are
simple to generate and can be parsed in place without consuming extra
RAM in constrained devices.
CoAP runs over
UDP, not TCP. Clients and servers communicate through connectionless
datagrams. Retries and reordering are implemented in the application
stack. Removing the need for TCP may allow full IP networking in small
microcontrollers. CoAP allows UDP broadcast and multicast to be used for
addressing.
CoAP follows a
client/server model. Clients make requests to servers, servers send back
responses. Clients may GET, PUT, POST and DELETE resources. CoAP is
designed to interoperate with HTTP and the RESTful web at large through
simple proxies. Because CoAP is datagram based, it may be used on top of
SMS and other packet based communications protocols.
MQTT
MQTT is a
publish/subscribe messaging protocol designed for lightweight M2M
communications. It was originally developed by IBM and is now an open
standard. MQTT has a client/server model, where every sensor is a client
and connects to a server, known as a broker, over TCP.
MQTT is message
oriented. Every message is a discrete chunk of data, opaque to the
broker. Every message is published to an address, known as a topic.
Clients may subscribe to multiple topics. Every client subscribed to a
topic receives every message published to the topic.
ref:
Wiki - http://en.wikipedia.org/wiki/Internet_of_Things
Open Interconnect Consortium(OIC) - http://openinterconnect.org/
AllSeen Alliance - https://allseenalliance.org/
Industrial Internet Consortium - http://www.iiconsortium.org/
Google Nest and others group - http://www.threadgroup.org/
Apple HomeKit - https://developer.apple.com/homekit/
IoT overview -
1. http://www.cisco.com/web/solutions/trends/iot/overview.html
2. http://www.microsoft.com/windowsembedded/en-us/internet-of-things.aspx
3. http://www-01.ibm.com/software/info/internet-of-things/
4. http://www.businessinsider.com/enterprise-growth-in-the-internet-of-things-market-2014-8
5. http://www.mckinsey.com/insights/high_tech_telecoms_internet/the_internet_of_things
MQTT, CoAP, IoT protocols - http://www.eclipse.org/community/eclipse_newsletter/2014/february/article2.php
CoRE (Constrained Resource Environments) - https://datatracker.ietf.org/doc/charter-ietf-core/
Open IoT stack for Java - http://iot.eclipse.org/java/download/
Intel IoT developer kit - https://software.intel.com/en-us/blogs/2014/09/08/announcing-intel-iot-developer-kit
Eclipse C/C++ IDE for Intel Galileo/Edison - https://software.intel.com/en-us/getting-started-for-c-c-plus-plus-eclipse-galileo-and-edison