The sensors and actuators have an important role in IoT. It the sensors and actuators that enable IoT devices to interact with the physical world. The large IoT applications like smart home, smart transportation, smart grid and many others are intelligent systems that connect the world in an automated way to ease human efforts. The collective aim of such systems is to nurture the concept of IoT which is fulfilled with the use of tiny sensors. The whole Sensor Network is tightly coupled directly or indirectly with communication Network (Internet) where intelligent monitoring, management, and data processing can be achieved via the usage of networked cloud computing devices.
Device to Device Communication has a great role in IOT. In context to IOT systems, this device to device communication usually voids human interaction and control over the devices and the devices are meant to communicate with each other autonomously. In this tutorial, a similar demonstration of Device to Device Communication is presented.
In the previous tutorials, the IOT devices designed were connecting with the internet network via Wi-Fi. Wi-Fi is a wireless standard. It is commonly used to provide data communication among mobile devices and the internet network. Another common standard used for networking devices and computers is Ethernet. Ethernet is most commonly used Local Area Network (LAN) technology. It provides a wired communication to connect the devices to the Internet.
In the previous tutorial, the basics of Ethernet technology were discussed. In this tutorial, the Ethernet technology will be used to connect an Arduino board over internet with a PC. The Arduino based IOT device and the PC will be setup to communicate using MQTT protocol via HiveMQ Broker. An IOT device based on Arduino will be designed in this project. The Arduino will be interfaced with an Arduino Ethernet Shield to connect with a router via Ethernet cable (Cat 5e).
In the previous tutorial, the Ethernet technology was used to connect an Arduino based IOT device with the internet network. The IOT devices can also be connected to internet network using mobile technologies like GSM, CDMA and GPRS. There are two major technologies for data transfers over cellular networks – GSM and GPRS. These two technologies differ from each other on the basis of data rates and the charges they take for their operation.
SIM800 is a popular GSM GPRS modem. It supports General Packet Radio Service (GPRS) for connecting to the Internet. This module has built-in TCP/IP stack that can be accessed serially with AT commands.The modem needs to be configured by connecting it to a PC. In such setup, the SIM800 modem with SIM card acts as TCP client and the PC acts as TCP server.
In the previous tutorial, SIM800 module was configured as TCP-IP Client and a PC was configured as TCP-IP server. The two were setup to communicate over TCP-IP stack using an Arduino UNO as gateway. In this tutorial, the SIM800 will be configured as an MQTT Client and setup to communicate over MQTT protocol with a PC client. In the previous tutorial, the PC was configured as server to set SIM800 modem into working mode. In this project, the PC will serve as another client and communicate with the GSM GPRS modem via HiveMQ broker.
Security in IOT cannot be an afterthought. It is an integral part of IOT development. The idea of IoT is not only to connect the normal daily things to the Internet but also to transfer the data securely among various end points so that smart IoT applications are not only efficient and successful in fulfilling various personal and professional requirements but also highly reliable.
In the previous tutorials, MQTT protocol packets and MQTT security mechanisms were discussed. Now it’s time to start getting hands dirty. For creating a communication network in which multiple IoT devices can communicate with each other via a MQTT broker, it is important to configure IoT devices as MQTT clients. The MQTT is developed on the top of TCP/IP stack, so the devices must have TCP/IP stack with them if they want to communicate to each other via MQTT broker.
In the previous tutorial, it was learnt that how a smart phone and a PC can be set up as MQTT clients and their connection with an MQTT broker can be established. The smart phone was configured as an MQTT client using an android MQTT app – IOT MQTT Dashboard while the PC was configured as MQTT client using a chrome add-on – MQTTLens.Now, in this tutorial, these MQTT clients – Mobile and PC will be made to communicate with each other using MQTT protocol. The communication between the MQTT clients is only possible via MQTT broker.
Security is a prime concern in any IoT application development. The data from the IoT devices is passed to the server/cloud where it may be stored temporarily or for long time to generate analytics. The transportation medium through which the data is passed from the IoT device to the cloud must be secured with implementation of various IoT security measures, so that the data could not be hacked by any Man-in-the-Middle attack.
Internet of Things is meant to empower objects of day to day use with embedded electronics and IT infrastructure. It aims to connect these objects in real time with the internet network and allow them to communicate with other co-located or remote objects. For communicating with each other, the IOT devices need to follow protocols. An application developer need to take care primarily of the implementation of application layer protocols while usually the implementation of network and transportation layer protocols remain at the hand of network administrators or network programmers.
In the previous tutorial, ESP8266 module was used to design a Home Area Network to control an LED light from a remote PC. The PC client was used to send control signals to switch on and off the LED light in the Home Area Network. In this tutorial, the ESP module will be interfaced with DHT-11 temperature sensor and temperature data will be sent to the PC client for real-time temperature monitoring. In this project, instead of LED, the DHT-11 sensor will be interfaced with the ESP8266 on ESP Client side.
Network is the OSI Level 3 layer and is the internet layer in the TCP-IP model. Like Physical and MAC layers, network layer is also part of the infrastructure layer in IOT reference architecture. This layer is responsible for addressing and routing of data packets. At this layer, the datagram from transport layer are encapsulated to data packets and delivered to their destinations using IP addressing. IPv4 had been the standard protocol for network layer until now.
Application layer refers to OSI Level 5, 6 and 7. It is application layer in the TCP-IP model. In IOT architecture, this layer lies above the service discovery layer. It is highest layer in the architecture extending from the client ends. It is the interface between the end devices and the network. This layer is implemented through a dedicated application at the device end. Like for a computer, application layer is implemented by the browser. It is the browser which implements application layer protocols like HTTP, HTTPS, SMTP and FTP. Same way, there are application layer protocols specified in context to IOT as well.
In the previous tutorial, various physical and media access control (MAC) protocol for Personal Area Network (PAN), Home Area Network (HAN) and Local Area Network (LAN) were discussed. In this tutorial, physical and MAC protocols based on RFID and mobile standard will be discussed. There are the following RFID based protocol stacks: RFID, DASH7, NFC.There are the following common mobile standards which are evolving to accommodate IOT applications
Service Discovery layer has a prominent role in an IOT architecture. It is the service discovery or service management layer which differentiates an IOT network with that of typical internet network. The IOT devices need to connect and communicate with web or cloud based services and applications for IOT implementation. The cloud or web services and applications run on host computers which are identified by unique IP addresses on a network. In order to avail a cloud based service, the IOT devices must be connected with the computers (servers) hosting those services or applications. So, there are some protocols designed to resolve host IP addresses rendering IOT services and applications
In the previous tutorial, the application layer protocols were discussed. With that discussion, the necessary foundation to understand the communication network in IOT was covered. This tutorial will discuss the other end of the IOT system that lies opposite to the device nodes. That is the ‘cloud’. IOT is lot about integrating embedded electronics and IT services. This isn’t possible without the cloud. The cloud is the soul of any IOT system.
Transport is the OSI Level 4 layer and is recognized by the same name in the TCP-IP model. Like physical layer, data link layer and network layer, this layer is also part of the infrastructure layer in IOT reference architecture. In the previous tutorials, physical and data link layer protocols and network layer protocols were discussed.
Suppose, one has a home automation system installed which can be accessed from a mobile device. That is a great power as the user can access the electronic appliances and various common household commodities imparted intelligence through embedded electronics from anywhere and anytime. What about the same home automation system is unethically hacked by someone and out turn to be a means for theft in the house. Here the glorious concept of IOT comes with a caution – ‘Security’