Transport Layer Security (TLS) is a security protocol which uses symmetric cryptography to secure data. In this tutorial, Client-Server communication will be setup using TLS Protocol so that data can be securely exchanged between them. The Mosquitto broker is used to provide TLS security. The Mosquitto broker uses 8883 port as an encrypted transmission port to securely exchange the data between clients.
Application of FTP Protocol in Internet of Things – IOT Part 43
File Transfer Protocol (FTP) is a standard protocol for transferring files between a client and server over an internet network. The FTP protocol was written by Abhay Bhushan (IIT Kanpur) in 1971. In 1980, a TCP/IP version of the protocol as RFC 765 was introduced which became the de facto standard worldwide. in 1998, the protocol stack was updated for IPv6 support. Within this protocol, the security features were enabled by a TLS/SSL layers called FTP Secure (FTPS). A new secured version of FTP is also widely used called SSH File transfer protocol (SFTP). The SFTP is quite different protocol than the traditional FTPS.
Automatic Software Update by IoT Device over FTP Protocol – IOT Part 44
In the previous tutorial, FTP protocol and file transfer over it between a Client and Server was discussed. The FTP protocol can really useful in many IoT applications. Many IOT devices are installed in places like nuclear plant, electrical grids and other industrial setups where these types of devices can get some bugs and need application software updates to fix them. On standard IoT protocols like MQTT, CoAP, etc, it is hard to update and reinstall application software because most of the IoT protocols are designed for IoT communication between devices and network but not for tasks like application updates.
SSH File Transfer Protocol – IOT Part 45
In the previous tutorial, it was seen how FTP protocol can be used to update application software on an IoT device. However, FTP protocol has some security concerns as it is vulnerable to several kind of attacks like Brute force attack, FTP bounce attack, Packet capture, Port stealing (guessing the next open port and usurping a legitimate connection), Spoofing attack, Username enumeration etc. Therefore, secure variants of FTP protocols were developed. SSH File Transfer Protocol is one of the secure variants of the FTP protocol.
Raspberry Pi Server based Hotel/Restaurant Order Management System on IoT – IOT Part 46
Nowadays, most of the hotels and restaurants take online orders of food. Many hotels and restaurants either facilitate pre-ordering or even render delivery services in the local areas. In this project, an Hotel Order Management System is designed where a customer can pre-order food items using a mobile app and a Raspberry Pi based Server manages to cater menu items and book orders.
IMAP Protocol- IOT Part 47
Emails are the most commonly used communication in the today’s digital era. The emails can also be way of communication with IoT devices. The emails can be used to pass commands to IoT devices. The devices can then be programmed and configured to read emails received and act accordingly. There can be interesting applications built this way. For receiving emails, the IoT devices need to configure as an Email Client. They can retrieve emails only over a standard email protocol. Internet Message Access Protocol (IMAP) is one of the standard email message protocols.
Controlling IoT Devices through Emails over IMAP Protocol – IOT Part 48
In the previous tutorial, it was mentioned that IMAP protocol is a standard email protocol which is used to store email messages and retrieve them. It was also mentioned that IMAP protocol can be used in IoT applications where commands can be passed to IoT devices by emails. This can be really helpful in certain situations like when security might be the main concern. Also, emails can be sent on any network without any special application or permissions. The IoT devices can receive emails as email clients where they can read emails and process information contained in them.
Wireless Sensor Networks (WSN) : IoT Part 34
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.
Client Server Communication over CoAP Protocol : IOT Part 33
In the previous tutorial, advantages of CoAP protocol over TCP/IP and UDP protocols in IoT applications were discussed. The CoAP protocol is specially designed for constraint devices and networks. In this project, the application of CoAP protocol in IoT will be demonstrated. In this project, an ESP8266 Wi-Fi modem will be configured as CoAP server and a laptop will be used as CoAP Client. Both Client and server will be co-located communicating through same Wi-Fi router so, the ESP board will act as a local server. The CoAP Client could send data to the server on a particular port with the help of browser add-on – Copper (Cu) CoAP user-agent. In fact, the Copper (Cu) itself will act as CoAP Client.
Constrained Application Protocol : IOT Part 32
The IoT devices have very limited resources like they have embedded processors or controllers, limited RAM and ROM and they need to operate on battery without replacement for weeks, months or even years. Even they have to communicate data swiftly though small in amount but on limited network bandwidth.
Client Server Communication over UDP Protocol : IOT Part 31
In the previous tutorial, advantages of UDP protocol over TCP/IP in IoT applications were discussed. The UDP protocol has a small overhead of 8 bytes which makes it more suitable for use in the Internet of Things. In this project, the application of UDP protocol in IoT will be demonstrated. In this project, an ESP8266 Wi-Fi modem will be configured as UDP server and a laptop will be used as UDP Client.
Zigbee Protocol and Standard : IoT Part 35
In the previous tutorial, the basics of Wireless Sensor Networks were discussed. It was mentioned that WSN can utilize many wireless standards and protocols to enable sensor communication with a cloud or server. It was also mentioned that wireless sensors communicate to a cloud or server with the help of a Gateway which performs protocol conversion for the wireless network. Zigbee is one of the standard and protocol which is generally used for WSN deployed in industrial applications.
PC to PC communication over Zigbee Protocol using Xbee and XCTU : IoT Part 36
In the previous tutorial, Zigbee technology and its application in building Wireless Sensor Networks was discussed. In this tutorial, learn to perform simple Client to Client Communication over Zigbee Protocol. There will be two Xbee modules taken and will be configured to communicate data with each other over the air. The Xbee devices communicate with each other wirelessly over the air. They do not have any microcontroller or processor in themselves, so they cannot manage the received or sent data.
GPRS Communication with PC Client over MQTT Protocol : IOT Part 27
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.
Ethernet Technology : IOT Part 23
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.
ESP8266 to ESP8266 Communication over MQTT Protocol using HiveMQ Broker : IOT Part 22
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.
Understanding MQTT protocol : IoT Part 14
Message Queue Telemetry Transport (MQTT) protocol is an application layer protocol. The application layer provides an interface between the end nodes (IOT devices) and the network. In case of computers, laptops and mobile devices, the application layer is usually implemented by the browser. In case of IOT devices, the application layer may be implemented either by the running operating system (if an embedded OS is running on it) or by the firmware. In computing world, the most common and ubiquitous application layer protocol used is Hypertext Transfer Protocol (HTTP). The HTTP protocol has been designed for communication between a client and a server. The protocol uses request/response method in which when a client needs data from the server then it sends a request message to the server and server sends back a response message.
MQTT Brokers : IOT Part 15
The Broker or Server plays the prime role in an MQTT (Protocol) based network. MQTT devices need MQTT broker to communicate with each other. MQTT broker is nothing but a central server connected to the Internet. The broker or server acts as a decision-maker which sits in between the devices. The clients do not know each other, they have to communicate via MQTT broker. The broker is mainly responsible for receiving all messages from publisher clients, filtering them, decide which subscriber is interested in it and then sending the messages to the subscribed clients. The MQTT broker also holds the session of all persisted clients including subscriptions and missed messages.
MQTT Security : IOT Part 16
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.
MQTT for Sensor Networks (MQTT-SN) : IoT Part 39
The Internet of Things have specific network requirements. The traditional TCP/IP protocols usually do not fit to these requirements. That is why there are many protocols designed especially to cater the requirements of IoT applications. Within the IoT domain, sensor networks are one of the applications which are designed using constraint devices and are characterized by limited network bandwidth. A variant of MQTT protocol has been designed for these networks which is called MQTT-SN (MQTT for Sensor Networks).