#include <stdio.h>
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_log.h"
#include "nvs_flash.h"
#include "esp_wifi.h"
#include "esp_now.h"
#include "esp_mac.h"
static const char *TAG = "SISTEMA_MONITOREO";
void app_main(void) {
// 1. Leer la MAC real del chip simulado
uint8_t mac[6];
esp_read_mac(mac, ESP_MAC_WIFI_STA);
// 2. Imprimir saludo personalizado
printf("\n\n==============================================\n");
printf(" HOLA CAROLINA - DISPOSITIVO INICIADO\n");
printf(" MAC: %02X:%02X:%02X:%02X:%02X:%02X\n",
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
printf("==============================================\n\n");
// Inicializar NVS
esp_err_t ret = nvs_flash_init();
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
ESP_ERROR_CHECK(nvs_flash_erase());
ret = nvs_flash_init();
}
ESP_ERROR_CHECK(ret);
ESP_LOGI(TAG, "Configurando ESP-NOW...");
// Inicialización básica de WiFi para ESP-NOW
ESP_ERROR_CHECK(esp_netif_init());
ESP_ERROR_CHECK(esp_event_loop_create_default());
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
ESP_ERROR_CHECK(esp_wifi_start());
ESP_LOGI(TAG, "WiFi Iniciado. Esperando mensajes...");
int contador = 0;
while (1) {
// Imprimir la MAC en cada ciclo para estar seguros de qué placa es
printf("[Placa %02X%02X] Ejecutando... \n", mac[4], mac[5]);
vTaskDelay(pdMS_TO_TICKS(2000));
}
}