What is Edge Computing ?

Edge Computing Fully Electronics

Edge computing refers to the practice of processing data near the edge of the network, where data is generated and often where it is needed, rather than in a centralized data processing location. This can help to reduce latency and improve the speed of data processing, as data does not need to be transmitted over long distances to a centralized location for processing. Edge computing is often used in situations where real-time data processing is required, such as in Internet of Things (IoT) applications, or in situations where it is not practical or cost-effective to transmit large amounts of data to a centralized location for processing.

Cloud Computing Versus Edge Computing

cloud computing vs edge computing fullyelectronics

Cloud computing refers to the practice of storing and processing data in remote locations, accessed over the internet. It allows users to access data and applications from any device with an internet connection, rather than storing data and running applications on a local computer or server. Cloud computing can be a highly scalable and cost-effective solution, as users only pay for the resources they consume and do not need to worry about the underlying infrastructure.

Edge computing, on the other hand, involves bringing computing power and data storage closer to the edge of the network, where data is generated and often where it is needed. This can be useful in situations where real-time processing is required, or where it is not practical or cost-effective to transmit large amounts of data to a centralized location for processing.

In general, cloud computing is more suitable for tasks that can be easily parallelized and do not require low latency, such as batch processing and data analytics. Edge computing is more suitable for tasks that require real-time processing or low latency, such as IoT applications or augmented reality.

Benefits of Edge Computing

Low Latency

By bringing computing power and data storage closer to the edge of the network, edge computing can help to reduce latency and improve the speed of data processing.

Improved Reliability

Edge computing can help to improve the reliability of data processing by reducing the dependence on centralized data centers, which can be vulnerable to outages and other issues.

Better Security

Sensitive data can be processed and stored locally at the edge, rather than being transmitted over the internet to a centralized data center, which can help to improve security.

Greater Flexibility

Edge computing can allow for more flexible and customized data processing, as it can be tailored to the specific needs of a particular location or application.

Cost Savings

Edge computing can help to reduce the cost of data processing by eliminating the need to transmit large amounts of data over long distances to a centralized data center.

Improved Scalability

Edge computing can allow for more efficient scaling, as it can be easier to add computing resources at the edge of the network as needed, rather than having to scale up a centralized data center.

Enhanced Privacy

By processing data locally at the edge, edge computing can help to enhance privacy, as sensitive data is not transmitted over the internet to a centralized data center.

Applications of Edge Computing

There are many examples of edge computing in use today. Some common applications of edge computing include:

  • Internet of Things (IoT): Edge computing can be used to process and analyze data from IoT devices in real-time, allowing for efficient and timely decision making.
  • Augmented reality (AR) and virtual reality (VR): Edge computing can be used to process and render AR and VR content in real-time, enabling a seamless and immersive user experience.
  • Autonomous vehicles: Edge computing can be used to process and analyze data from sensors and cameras on autonomous vehicles, allowing them to make real-time decisions and navigate safely.
  • Industrial automation: Edge computing can be used to process and analyze data from industrial equipment, enabling real-time monitoring and control.
  • Telecommunications: Edge computing can be used to process and route data in telecommunications networks, improving network performance and reliability.
  • Healthcare: Edge computing can be used to process and analyze medical data, enabling real-time decision making and improving patient outcomes.

Edge Computing Examples

Example 1: IoT Smart City

One example of how edge computing can be used in the Internet of Things (IoT) is in a smart city application.

In a smart city, sensors and other IoT devices are deployed throughout the city to collect data on various aspects of the city’s operations, such as traffic flow, air quality, and energy usage. This data is then analyzed to identify trends and patterns, and to make decisions about how to optimize the city’s operations.

Using edge computing, this data can be processed and analyzed locally at the edge of the network, near where the data is generated. This can help to reduce latency and improve the speed of data processing, as the data does not need to be transmitted over long distances to a centralized location for processing.

For example, traffic sensors placed throughout the city could collect data on traffic flow and transmit it to edge computing devices located at key intersections. The edge computing devices could then analyze the data in real-time to identify congestion and adjust traffic signals to optimize traffic flow. This could help to reduce congestion, improve air quality, and save energy.

Overall, edge computing can be a powerful tool for enhancing the capabilities of IoT systems in smart cities and other applications.

Example 2: Virtual Reality (VR) and Augmented Reality (AR)

Edge computing can be used to improve the performance of virtual reality (VR) and augmented reality (AR) systems by enabling real-time processing and rendering of VR and AR content.

In a VR or AR system, data from sensors and other devices is used to create a virtual or augmented environment for the user. This data must be processed and rendered in real-time in order to provide a seamless and immersive experience for the user.

Using edge computing, this data can be processed and rendered locally at the edge of the network, rather than being transmitted to a centralized location for processing. This can help to reduce latency and improve the speed and reliability of the VR or AR system.

For example, in an AR headset, edge computing could be used to process and render AR content in real-time, based on data collected from the headset’s sensors and cameras. This could enable the AR headset to provide a more seamless and responsive AR experience for the user.

Overall, edge computing can be a useful tool for enhancing the performance and reliability of VR and AR systems, and enabling a more immersive user experience.

Example 3: Autonomous Vehicles

Edge computing can be used to improve the performance of autonomous vehicles by enabling real-time processing and decision making based on data from the vehicle’s sensors and cameras.

In an autonomous vehicle, data from sensors such as cameras, lidar, and radar is used to perceive the vehicle’s surroundings and make decisions about how to navigate safely. This data must be processed and analyzed in real-time in order for the vehicle to respond appropriately to its environment.

Using edge computing, this data can be processed and analyzed locally at the edge of the network, rather than being transmitted to a centralized location for processing. This can help to reduce latency and improve the speed and reliability of the autonomous vehicle’s decision making.

For example, an autonomous vehicle could use edge computing to process and analyze data from its sensors in real-time, allowing it to detect and respond to obstacles in its path, and make decisions about how to navigate safely.

Overall, edge computing can be a useful tool for enhancing the performance and reliability of autonomous vehicles, and enabling them to make real-time decisions based on data from their sensors and cameras.

Edge Computing Companies

One example of a company that has implemented edge computing is Akamai Technologies, a provider of cloud services for delivering and securing online content.

Akamai implemented edge computing as part of its Intelligent Edge Platform, which is a network of servers and other computing resources located at the edge of the internet. The Intelligent Edge Platform allows Akamai to process and deliver online content more efficiently, by bringing computing resources closer to the users who are requesting the content.

By implementing edge computing, Akamai has been able to reduce latency and improve the speed of content delivery, resulting in a better user experience for its customers. The company has also been able to reduce its reliance on centralized data centers, which has helped to improve the reliability and scalability of its services.

How to Implement Edge Compting ?

Edge computing can be implemented using both hardware and software.

Hardware components of an edge computing system may include:

  • Edge devices: These are the devices located at the edge of the network that perform data processing and analysis. Examples of edge devices include routers, gateways, and other types of networking equipment.
  • Sensors and other IoT devices: These are the devices that generate data that is processed and analyzed by the edge devices. Examples of sensors and IoT devices include temperature sensors, cameras, and other types of connected devices.
  • Data storage: Edge computing systems may include local data storage devices, such as hard drives or solid-state drives, to store data that is processed and analyzed by the edge devices.

Software components of an edge computing system may include:

  • Operating system: The edge devices may run a specialized operating system designed for edge computing, such as Linux or Android Things.
  • Data processing and analytics software: The edge devices may use specialized software to process and analyze data from the sensors and IoT devices.
  • Networking and communication software: The edge devices may use software to manage communication and networking with other devices in the system, such as sensors and IoT devices.

Edge Computing using ESP32

The ESP32 is a microcontroller that can be used to build edge computing systems. The ESP32 is a low-cost, low-power device that includes a processor, memory, and connectivity features, such as WiFi and Bluetooth.

One way to use the ESP32 for edge computing is to program it to perform data processing and analysis tasks locally, using the processor and memory on the device. The ESP32 can then be connected to sensors and other IoT devices to collect data that is processed and analyzed by the device.

For example, an ESP32 could be used to build an edge computing device that monitors temperature and humidity in a room, and adjusts the temperature of the room based on the data collected. The ESP32 could be programmed to process and analyze the data from the sensors in real-time, and to send control signals to a heating and cooling system to adjust the temperature of the room as needed.

Overall, the ESP32 can be a useful tool for building edge computing systems, due to its low cost, low power consumption, and versatile capabilities.

Here is an example of how you could use the ESP32 to build an edge computing device that monitors temperature and humidity in a room and adjusts the temperature based on the data collected:

#include <Arduino.h>

#include <DHT.h> // Library for the DHT sensor

#include <PID_v1.h> // Library for the PID controller

#define DHT_PIN 2 // Pin number for the DHT sensor

#define HEATER_PIN 14 // Pin number for the heater

#define DHT_TYPE DHT11 // Type of DHT sensor (DHT11, DHT22, etc.)

// Parameters for the PID controller

#define Kp 1

#define Ki 0.1

#define Kd 0.1

#define SAMPLE_TIME 1000 // Sample time in milliseconds

// Setpoint for the temperature (in degrees Celsius)

#define TEMPERATURE_SETPOINT 25

// Variables for the PID controller

double input = 0;

double output = 0;

double setpoint = TEMPERATURE_SETPOINT;

PID pid(&input, &output, &setpoint, Kp, Ki, Kd, REVERSE);

DHT dht(DHT_PIN, DHT_TYPE); // Initialize the DHT sensor

void setup() {

// put your setup code here, to run once:

Serial.begin(115200);

dht.begin();

pid.SetSampleTime(SAMPLE_TIME); // Set the sample time for the PID controller

pinMode(HEATER_PIN, OUTPUT); // Set the heater pin as an output

pid.SetMode(AUTOMATIC); // Enable the PID controller

}

void loop() {

// put your main code here, to run repeatedly:

// Read the temperature and humidity from the DHT sensor

float temperature = dht.readTemperature();

float humidity = dht.readHumidity();

// Set the input value for the PID controller

input = temperature;

// Compute the output value from the PID controller

pid.Compute();

// Set the output value as the duty cycle of the heater

analogWrite(HEATER_PIN, output);

// Print the temperature and humidity to the serial console

Serial.print("Temperature: ");

Serial.print(temperature);

Serial.print("C, Humidity: ");

Serial.print(humidity);

Serial.println("%");

// Delay for the sample time

delay(SAMPLE_TIME);

}

This code uses a DHT sensor to measure the temperature and humidity in the room, and a PID controller to adjust the duty cycle of a heater based on the temperature. The setpoint for the temperature is set to 25 degrees Celsius, and the PID controller is used to try to maintain the temperature at this setpoint by adjusting the duty cycle of the heater. The temperature and humidity are printed to the serial console, so you can monitor the performance of the system.

To run this code, you will need to install the Arduino Integrated Development Environment (IDE) and the necessary libraries for the ESP32 and the DHT sensor. You can find instructions for setting up the Arduino IDE and installing the libraries at https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html#get-started-

Limitations of Edge Computing

  • Limited computing resources: Edge computing devices typically have limited computing resources compared to centralized data centers, which can limit the types of tasks that they can handle.
  • Dependence on connectivity: Edge computing relies on connectivity to transmit data between devices, and may not be suitable for use in environments with limited or unreliable connectivity.
  • Complexity: Implementing and managing an edge computing system can be complex, as it requires the deployment and maintenance of numerous devices at the edge of the network.
  • Security risks: Edge computing devices may be vulnerable to security threats, such as hacking or malware, and may require additional security measures to protect against these threats.
  • Limited data storage: Edge computing devices typically have limited data storage capacity, which can be a limiting factor in certain applications.

Overall, while edge computing can be a powerful tool for certain types of data processing tasks, it is important to carefully consider its limitations and whether it is the right fit for a particular application.

What is Edge Computing | Edge Computing Definition