edge computingrefers to the practice of processing data close to the edge of the network, where the data is generated, and often where it is needed, rather than at a central data processing location. This can help reduce latency and improve data processing speed, since data does not have to travel long distances to a central location for processing. Edge computing is typically used in situations that require real-time data processing, such as publishing.
Cloud Computing vs. Edge Computing
Cloud Computingrefers to the practice of storing and processing data in remote locations that are accessed via the Internet. It allows users to access data and applications from any device connected to the Internet, instead of storing data and running applications on a local computer or server. Cloud computing can be a highly scalable and cost-effective solution because users only pay for the resources they consume and don't have to worry about the underlying infrastructure.
edge computingOn the other hand, it is about bringing computing power and data storage closer to the edge of the network, where data is frequently generated and requested. This can be useful in situations where real-time processing is required or where it is not practical or cost effective to move large amounts of data to a central location for processing.
generally,Cloud Computingit is best suited for tasks that can be easily parallelized and do not require low latency, such as B. Batch processing and data analysis.edge computingit is best suited for tasks that require real-time processing or low latency, such as B. IoT applications or augmented reality.
Benefits of Edge Computing
low waiting time
By moving computing power and data storage closer to the edge of the network, edge computing can help reduce latency and improve data throughput speeds.
improved reliability
Edge computing can help improve the reliability of data processing, reducing reliance on centralized data centers that can be prone to outages and other problems.
better security
Sensitive data can be processed and stored locally at the edge instead of being transmitted over the Internet to a central data center, which can help improve security.
greater flexibility
Edge computing can enable more flexible and personalized computing, as it can be tailored to the specific needs of a given location or application.
saving measures
Edge computing can help reduce the cost of computing by eliminating the need to transmit large amounts of data over long distances to a centralized data center.
improved scalability
Edge computing can enable more efficient scalability because it can be easier to add computing resources at the edge of the network as needed, rather than having to scale out of a central data center.
Enhanced data protection
By processing data locally at the edge, edge computing can help improve privacy because sensitive data is not transmitted over the Internet to a central data center.
edge computing applications
There are many examples of edge computing in use today. Some common uses for edge computing are:
- Internet of Things (IoT): Edge computing can be used to process and analyze data from IoT devices in real time, enabling 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 in 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 assets, enabling real-time monitoring and control.
- telecommunications: Edge computing can be used to process and route data in telecommunication networks, improving network performance and reliability.
- Health care: 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
An example of how edge computing can be used in the Internet of Things (IoT) is 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 city operations, such as: B. Traffic flow, air quality, and energy consumption. This data is then analyzed to identify trends and patterns and make decisions to optimize city operations.
Edge computing allows this data to be processed and analyzed locally at the edge of the network, close to where the data is generated. This can help reduce latency and improve data processing speed because data does not have to travel long distances to a central location for processing.
For example, traffic sensors placed throughout the city can collect data on traffic flow and transmit it to edge computing devices located at major intersections. Edge computing devices can analyze real-time data to detect traffic jams and adjust traffic signals to optimize traffic flow. This could help reduce congestion, improve air quality, and save energy.
Overall, edge computing can be a powerful tool to enhance 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 rendering and playback 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 to provide a seamless and immersive user experience.
Edge computing allows this data to be processed and represented locally at the edge of the network instead of sending it to a central location for processing. This can help reduce latency and improve the speed and reliability of the VR or AR system.
For example, an AR headset can use edge computing to process and render AR content in real time based on data collected by the headset's sensors and cameras. This could allow AR headsets to give the user a smoother and more responsive AR experience.
Overall, edge computing can be a useful tool to improve the performance and reliability of VR and AR systems and enable a more immersive user experience.
Example 3: Autonomous Vehicles
Edge computing can be used to improve the performance of autonomous vehicles, 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 are used to sense the vehicle's environment and make decisions about safe navigation. This data must be processed and analyzed in real time so that the vehicle can respond appropriately to its environment.
Edge computing allows this data to be processed and analyzed locally at the edge of the network instead of sending it to a central location for processing. This can help reduce latency and improve the speed and reliability of autonomous vehicle decision making.
For example, an autonomous vehicle can use high-end computing to process and analyze data from its sensors in real time to detect and respond to obstacles in its path and make decisions about safe navigation.
Overall, edge computing can be a useful tool for improving the performance and reliability of autonomous vehicles and allowing them to make real-time decisions based on data from their sensors and cameras.
high end computer company
1examplefrom oneCompany that implemented edge computingit issmart technologies, a cloud service provider for online content backup and delivery.
Akamai has implemented edge computing as part of its Intelligent Edge Platform, a network of servers and other computing resources at the edge of the Internet. The Intelligent Edge platform enables Akamai to process and deliver online content more efficiently, bringing computing resources closer to the users who request the content.
By implementing edge computing, Akamai was able to reduce latency and improve the speed of content delivery, resulting in a better user experience for its customers. The company has also reduced its reliance on centralized data centers, which has helped improve the reliability and scalability of its services.
How to implement edge computing?
edge computingcan be implemented with bothHardware-miSoftware.
hardware componentsof an edge computing system can include:
- Edge Devices: Devices at the edge of the network that perform data processing and analysis. Examples of edge devices are routers, gateways, and other types of network devices.
- Sensors and other IoT devices: These are the devices that generate data that is processed and analyzed by the edge devices. Examples of IoT sensors and devices are temperature sensors, cameras, and other types of connected devices.
- Data storage – Edge computing systems can include local data storage devices, such as hard drives or solid-state drives, to store data that will be processed and analyzed by the edge devices.
software componentsof an edge computing system can include:
- Operating system: Edge devices can run a special operating system designed for edge computing, such as B. Linux or Android Things.
- Data processing and analysis software: Edge devices can use specialized software to process and analyze data from sensors and IoT devices.
- Network and communication software – Edge devices can use software to manage communication and connectivity with other devices in the system, such as sensors and IoT devices.
Edge Computing con ESP32
DieESP32it is a microcontroller that can be used to build high-end computer 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 device's processor and memory. The ESP32 can then be connected to sensors and other IoT devices to collect data that the device processes and analyzes.
For example, an ESP32 can be used to build an edge computing device that monitors the temperature and humidity in a room and adjusts the room temperature based on the data collected.The ESP32 can be programmed to process and analyze sensor data in real time and send control signals to a heating and cooling system to adjust the room temperature as needed.
Overall, the ESP32 can be a useful tool for building high-end computer systems due to its low cost, low power consumption, and versatile features.
Here's an example of how you can use the ESP32 to build an edge computing device that monitors the 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 // DHT sensor pin number
#define HEATER_PIN 14 // Heater pin number
#define DHT_TYPE DHT11 // Tipo de sensor DHT (DHT11, DHT22, etc.)
// Parameters for the PID controller
#definir Kp 1
#set to 0.1
#define Kd 0,1
#define SAMPLE_TIME 1000 // sample time in milliseconds
// set point for temperature (in degrees Celsius)
#define TEMPERATURE_SETPOINT 25
// Variables for the PID controller
double entry = 0;
double output = 0;
double setpoint = TEMPERATURE_SETPOINT;
PID pid(&in, &out, &setpoint, Kp, Ki, Kd, ​​REVERSE);
DHT DHT (DHT_PIN, DHT_TYPE); // Inicializar el sensor DHT
invalid configuration() {
// Enter your setup code here to run it once:
Serial.begin (115200);
dht.begin();
pid.SetSampleTime(SAMPLE_TIME); // Set the sampling time for the PID controller
PinMode(HEATER_PIN, OUTPUT); // Set the heater pin as output
pid.SetMode(AUTOMATIC); // Active or PID controller
}
void loop() {
// put your main code here to run it repeatedly:
// Read the temperature and humidity from the DHT sensor
temperatura flotante = dht.readTemperature();
float umidade = dht.readHumidity();
// Set the input value for the PID controller
input = temperature;
// Calculate the output value of the PID controller
pid.Compute();
// Set the output value for the duty cycle of the heater
analogWrite(HEATER_PIN, salida);
// Print temperature and humidity to the serial console
Serial.print ("Temperatura: ");
Serial.print (Temperatura);
Serial.print("C, Humidity: ");
Serial.print(moisture);
Serial.println ("%");
// Delay for 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 temperature set point is set at 25 degrees Celsius and the PID controller is used to try to maintain the temperature at that set point by adjusting the duty cycle of the heater. Temperature and humidity are sent to the serial console, allowing you to monitor system performance.
To run this code it is necessary to install the Arduino Integrated Development Environment (IDE) and the necessary libraries for the ESP32 and DHT sensor. For instructions on how to set up the Arduino IDE and install the libraries, seehttps://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html#get-started-
Edge Computing Limitations
- limited computing resources: Edge computing devices often have limited computing resources compared to centralized data centers, which can limit the types of tasks they can perform.
- connectivity dependency: Edge computing relies on connectivity to transfer data between devices and may not be appropriate for use in environments with limited or unreliable connectivity.
- complexity: Deploying and managing an edge computing system can be complex, requiring the deployment and maintenance of multiple devices at the edge of the network.
- security risks: Edge computing devices can 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 often have limited data storage capacity, which can be a limiting factor in certain applications.
In general, while edge computing can be a powerful tool for certain types of computing tasks, it is important to carefully assess its limitations and whether it is suitable for a specific application.