Enregistreur WiFi ESP32 - Enregistrez les messages via WiFi, en utilisant TCP, UDP ou Websockets
Exemple d'application :
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
Modifiez CMakeList.txt pour ajouter la ligne ci-dessous :
set(EXTRA_COMPONENT_DIRS <relative_path_to_component_folder>)
le dossier des composants doit contenir les composants protocol_examples_common
et wifi_logger
sudo apt-get install netcat
nc -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'):1234
nc -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
Peut envoyer des journaux générés par ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV
, s'ils sont configurés ainsi via menuconfig
Modèle d'utilisation identique à ESP_LOGX()
Utilisez la fonction wifi_log()_x
pour imprimer les journaux via wifi
Exemple : wifi_log(TAG, "%s", "logger test");
Les journaux ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV
seront également envoyés via Wi-Fi, s'ils sont configurés dans menuconfig.
Appelez start_wifi_logger()
dans void app_main()
pour démarrer l'enregistreur. La fonction de journalisation wifi_log_x() (x = e,w,i,d,v)
peut être appelée pour enregistrer des messages ou des fonctions normales de l'API de journalisation ESP-IDF comme ESP_LOGW
peuvent être utilisées si elles sont configurées via menuconfig
.
Configurer menuconfig
Example Connection Configuration
Définir le SSID et le mot de passe WiFiComponent config
WiFi Logger configuration
Route logs generated by ESP_LOGX to the wifi logger
- Sélectionnez si les journaux écrits par l'API système sont acheminés pour être envoyés à l'enregistreur distantNetwork Protocol (TCP/UDP/WEBSOCKET)
- Définir le protocole réseau à utiliserUDP/TCP Network Protocol
Server IP Address
- Définissez l'adresse IP du serveur qui recevra les messages de journal envoyés par ESP32Port
- Définir le port du serveurWEBSOCKET Network Protocol
Websocket Server URI
- Définit l'URI du serveur Websocket, où les journaux doivent être envoyés L'adresse IP du serveur peut être trouvée en exécutant ifconfig
sur une machine Linux
idf.py menuconfig
Example Connection Configuration
WiFi SSID
- Définir le SSID WiFi pour se connecterWiFi Password
- Définir le mot de passe WiFi Component config
WiFi Logger configuration
Network Protocol (TCP/UDP/WEBSOCKET)
- Définir le protocole réseau à utiliserRoute logs generated by ESP_LOGX to the wifi logger
- Sélectionnez si les journaux écrits par l'API système sont acheminés pour être envoyés à l'enregistreur distantUDP/TCP Network Protocol
Server IP Address
- Définissez l'adresse IP du serveur qui recevra les messages de journal envoyés par ESP32Port
- Définissez le port du serveurWEBSOCKET Network Protocol
Websocket Server URI
- Définit l'URI du serveur Websocket, où les journaux doivent être envoyésQueue Size
- Configuration avancée, modification à vos propres risques Définissez la taille de la file d'attente freeRTOS utilisée pour transmettre les messages de journal à la tâche d'enregistrement.logger buffer size
- Configuration avancée, modification à vos propres risques Définissez la taille du tampon du tableau de caractères utilisé pour générer des messages de journal au 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
}
}