Ethernet communication & its protocols
Ethernet is the traditional technology, computer networking technologies, commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN).
The Internet protocol suite is the conceptual model and set of communications protocols used on the Internet and similar computer networks. It is commonly known as TCP/IP because the foundational protocols in it are the Transmission Control Protocol (TCP) and the Internet Protocol (IP).
HTTP (Hypertext Transfer Protocol) basically allows communication to happen between different systems. It is most commonly used to transfer data from a web server to a browser in order to allow users to view web pages. It is the protocol that was used for basically all early websites. The problem with the regular HTTP protocol is that the information flowing from a server to a browser is not encrypted, which means it can be easily stolen. HTTPS (Hypertext Transfer Protocol Secure) protocols remedy this by using an SSL (secure sockets layer) certificate, which helps to create a secure encrypted connection between the server and the browser.
MQTT (Message Queuing Telemetry Transport) is a lightweight publishing and subscritione system where you can publish and receive messages as a client. It allows you to send commands to control outputs, read and publish data from sensor nodes and it is designed for constrained devices with low-bandwidth. MQTT makes it really easy to establish a communication between multiple devices.
Modbus TCP/IP is a simple MODBUS protocol running on Ethernet over a Transmission Control Protocol (TCP) and an Internet Protocol (IP) interface. Modbus is an application protocol that assigns the ways of managing and passing data between various layers without being affected by the protocol used by the immediate next layer.
Serial communications are a way of transmitting serial data in one way or another.
Asynchronous Communication has no timing signal or clock. Instead, it inserts a Start and a Stop bits in each data byte to synchronize the communication between the devices (usually at 9600 bits/second). As it uses fewer wires for communication (no clock signals), Asynchronous Communication is simpler.
Serial TTL (UART): UARTs (Universal Asynchronous Receivers/Transmitters) transmit one bit at a time at a specified data rate (9600bps usually). This method of serial communication is sometimes called TTL serial (transistor-transistor logic). Serial communication at a TTL level will always remain between the limits of 0V and Vcc, which is often 5V or 3.3V.
RS-232: (It can also be synchronous). A straight-through cable is used to connect a DTE, for example, a computer, to a DCE, for example, a modem. All signals on one side are connected to the corresponding signals on the other side on a one-to-one basis. A crossover cable (null-modem) is used to connect two DTEs directly, without a modem between them. They cross transmit and receive data signals between the two sides.
RS-485: RS-485 is a serial interface standard that allows up to 32 devices to communicate in Half-duplex (single pair of wires) plus a ground wire, at distances of up to 1200 meters (4000 feet) and in Full-duplex (four wires) which have a master port with the transmitter connected to each of the slave receivers. It allows greater distances, higher speed (10 Mbps) and higher data rates than non-differential serial schemes such as RS-232.
Synchronous Communication requires the sender and receiver to share the same clock. The sender provides a timing signal to the receiver so that the receiver knows when to read the data. It usually has higher data rates and greater error-checking capability.
I2C: I2C (Inter-Integrated Circuit) is a serial communication protocol, so data is transferred bit by bit along a single cable (the SDA line). With I2C you can connect multiple slaves to a single master and you can have multiple masters controlling single, or multiple slaves. This is really useful when you want to have more than one microcontroller recording data into a single memory card or displaying text to a single LCD screen. It only uses two wires to transmit data between devices:
SDA (Serial Data) – The line for the master and slave to send and receive data.
SCL (Serial Clock) – The line that carries the clock signal.
SPI: SPI (Serial Peripheral Interface) is an interface bus commonly used to send data between microcontrollers and small peripherals such as shift registers, sensors, and SD cards. It uses separate clock and data lines, along with a select line to choose the device you want to talk to.
The SPI bus, which operates at full duplex (i.e. the signals carrying data can go in both directions simultaneously), is a synchronous type data link setup with a Master-Slave interface and can support up to 10Mbps of speed. Both single-master and multi-master protocols can be used SPI.
Wi-Fi is simply a trademarked phrase meaning IEEE 802.11x. WiFi works off of the same principle as other wireless devices. It uses radio frequencies to send signals between devices. To receive the information found in these waves, your radio receiver needs to be set to receive waves of a certain frequency. In the case of WiFi, this frequency happens to be 2.4Ghz and 5Ghz.
GPRS (General Packet Radio Services) is a packet-based wireless communication service that promises data rates from 56 up to 114Kbps and a continuous Internet connection for mobile phone and computer users. It works on the mobile network with the help of IP (Internet Protocol) transmissions. GPRS is the mobile data system behind 2G and some 3G.