Регистратор ESP32 WiFi — регистрируйте сообщения через Wi-Fi, используя TCP, UDP или веб-сокеты.
Пример приложения: 
protocol_examples_common (esp-idf/examples/common_components/) cd <your_esp_idf_project>
mkdir components
cd components
cp $IDF_PATH/examples/common_components/protocol_examples_common . -r
git clone https://github.com/VedantParanjape/esp-wifi-logger.git wifi_logger
Измените CMakeList.txt, добавив строку, указанную ниже:
set(EXTRA_COMPONENT_DIRS <relative_path_to_component_folder>)
папка компонента должна содержать компонент protocol_examples_common и wifi_logger
sudo apt-get install netcatnc -lu <PORT>nc -l <PORT>websocat -s <IP_ADDRESS_OF_YOUR_MACHINE>:<PORT>websocat -s $(ip -o route get to 8.8.8.8 | sed -n 's/.*src ([0-9.]+).*/1/p'):1234nc -l 1212 wifi_log_e() - Generate log with log level ERROR
wifi_log_w() - Generate log with log level WARN
wifi_log_i() - Generate log with log level INFO
wifi_log_d() - Generate log with log level DEBUG
wifi_log_v() - Generate log with log level VERBOSE
Может отправлять журналы, созданные ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV , если это настроено через менюconfig.
Шаблон использования такой же, как у ESP_LOGX()
Используйте функцию wifi_log()_x для печати журналов через Wi-Fi.
Пример: wifi_log(TAG, "%s", "logger test");
Журналы ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV также будут отправляться через Wi-Fi, если это настроено в меню конфигурации.
Вызовите start_wifi_logger() в void app_main() чтобы запустить регистратор. Функцию ведения журнала wifi_log_x() (x = e,w,i,d,v) можно вызвать для регистрации сообщений или можно использовать обычные функции API ведения журнала ESP-IDF, такие как ESP_LOGW если они настроены через menuconfig .
Настроить menuconfig
Example Connection Configuration Установите SSID и пароль Wi-Fi.Component configWiFi Logger configurationRoute logs generated by ESP_LOGX to the wifi logger . Выберите, будут ли журналы, записанные системным API, маршрутизироваться для отправки в удаленный регистратор.Network Protocol (TCP/UDP/WEBSOCKET) — установите сетевой протокол, который будет использоваться.UDP/TCP Network ProtocolServer IP Address . Установите IP-адрес сервера, который будет получать сообщения журнала, отправленные ESP32.Port — установите порт сервера.WEBSOCKET Network ProtocolWebsocket Server URI — устанавливает URI сервера Websocket, куда должны отправляться журналы. IP-адрес сервера можно узнать, запустив ifconfig на компьютере с Linux.
idf.py menuconfig
Example Connection Configuration
WiFi SSID — установите SSID Wi-Fi для подключения.WiFi Password — установка пароля Wi-Fi Component config
WiFi Logger configurationNetwork Protocol (TCP/UDP/WEBSOCKET) — установите сетевой протокол, который будет использоваться.Route logs generated by ESP_LOGX to the wifi logger . Выберите, будут ли журналы, записанные системным API, маршрутизироваться для отправки в удаленный регистратор.UDP/TCP Network ProtocolServer IP Address . Установите IP-адрес сервера, который будет получать сообщения журнала, отправленные ESP32.Port — установите порт сервера.WEBSOCKET Network ProtocolWebsocket Server URI — устанавливает URI сервера Websocket, куда должны отправляться журналы.Queue Size — расширенная конфигурация, меняйте на свой страх и риск. Установите размер очереди freeRTOS, используемый для передачи сообщений журнала в задачу регистрации.logger buffer size — расширенная конфигурация, меняйте на свой страх и риск. Установите размер буфера массива символов, используемого для генерации сообщений журнала в формате ESP. 
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "wifi_logger.h"
void app_main ( void )
{
start_wifi_logger (); // Start wifi logger
while ( 1 )
{
wifi_log_e ( "test" , "%s %d %f" , "hello world wifi logger" , 43 , 45.341223242 ); // write log over wifi with log level -> ERROR
wifi_log_w ( "test" , "%s %d %f" , "hello world wifi logger" , 43 , 45.341223242 ); // write log over wifi with log level -> WARN
wifi_log_i ( "test" , "%s %d %f" , "hello world wifi logger" , 43 , 45.341223242 ); // write log over wifi with log level -> INFO
wifi_log_d ( "test" , "%s %d %f" , "hello world wifi logger" , 43 , 45.341223242 ); // write log over wifi with log level -> DEBUG
wifi_log_v ( "test" , "%s %d %f" , "hello world wifi logger" , 43 , 45.341223242 ); // write log over wifi with log level -> VERBOSE
vTaskDelay ( 100 ); // Wait for 100ms, prevent watchdog from triggering a reset
}
}