ESP32 WiFi logger - Mencatat pesan melalui WiFi, menggunakan TCP, UDP, atau Websockets
Contoh Aplikasi: 
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
Ubah CMakeList.txt untuk menambahkan baris yang diberikan di bawah ini:
set(EXTRA_COMPONENT_DIRS <relative_path_to_component_folder>)
folder komponen harus berisi komponen protocol_examples_common dan 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
Dapat mengirim log yang dihasilkan oleh ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV , jika dikonfigurasi melalui menuconfig
Pola penggunaan sama seperti, ESP_LOGX()
Gunakan fungsi wifi_log()_x untuk mencetak log melalui wifi
Contoh: wifi_log(TAG, "%s", "logger test");
Log ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV juga akan dikirim melalui wifi, jika dikonfigurasi di menuconfig.
Panggil start_wifi_logger() di void app_main() untuk memulai logger. Fungsi logging wifi_log_x() (x = e,w,i,d,v) dapat dipanggil untuk mencatat pesan atau fungsi API Logging ESP-IDF normal seperti ESP_LOGW dapat digunakan jika dikonfigurasi melalui menuconfig .
Konfigurasi menuconfig
Example Connection Configuration Mengatur SSID dan kata sandi WiFiComponent configWiFi Logger configurationRoute logs generated by ESP_LOGX to the wifi logger - Pilih apakah log yang ditulis oleh API sistem dirutekan untuk dikirim ke logger jarak jauhNetwork Protocol (TCP/UDP/WEBSOCKET) - Mengatur protokol jaringan yang akan digunakanUDP/TCP Network ProtocolServer IP Address - Tetapkan Alamat IP server yang akan menerima pesan log yang dikirim oleh ESP32Port - Mengatur Port serverWEBSOCKET Network ProtocolWebsocket Server URI - Mengatur URI server Websocket, tempat log akan dikirim Alamat IP server dapat diketahui dengan menjalankan ifconfig di mesin linux
idf.py menuconfig
Example Connection Configuration
WiFi SSID - Atur SSID WiFi untuk terhubungWiFi Password - Tetapkan Kata Sandi WiFi Component config
WiFi Logger configurationNetwork Protocol (TCP/UDP/WEBSOCKET) - Mengatur protokol jaringan yang akan digunakanRoute logs generated by ESP_LOGX to the wifi logger - Pilih apakah log yang ditulis oleh API sistem dirutekan untuk dikirim ke logger jarak jauhUDP/TCP Network ProtocolServer IP Address - Tetapkan Alamat IP server yang akan menerima pesan log yang dikirim oleh ESP32Port - Mengatur Port serverWEBSOCKET Network ProtocolWebsocket Server URI - Mengatur URI server Websocket, tempat log akan dikirimQueue Size - Konfigurasi Tingkat Lanjut, ubah dengan risiko Anda sendiri Tetapkan ukuran Antrean freeRTOS yang digunakan untuk meneruskan pesan log ke tugas logger.logger buffer size - Konfigurasi Tingkat Lanjut, ubah dengan risiko Anda sendiri Atur ukuran buffer array char yang digunakan untuk menghasilkan pesan log dalam format 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
}
}