#include <stdio.h>
#include <string.h>
#include "pico/stdlib.h"
#include "wifi_handler.h"
#include "http_client.h"
#include "hardware/gpio.h"
#include "cyw43.h"
#include "lwip/ip4_addr.h"
#include "led_handler.h"
#include "pico/time.h" // Para usar as funções de tempo
#include "lwip/dns.h"
#define CHECK_INTERVAL_MS 5000 // Intervalo de verificação em milissegundos
int main() {
stdio_init_all();
// Inicializa os LEDs
leds_init();
// Conecta ao WiFi
if (wifi_connect() != 0) {
printf("Falha na conexão WiFi. Abortando.\n");
return -1;
}
// Imprime as configurações de IP
ip4_addr_t ip4addr, netmask, gw;
ip4addr = *netif_ip4_addr(cyw43_state.netif);
netmask = *netif_ip4_netmask(cyw43_state.netif);
gw = *netif_ip4_gw(cyw43_state.netif);
printf("IP Address: %s\n", ip4addr_ntoa(&ip4addr));
printf("Netmask : %s\n", ip4addr_ntoa(&netmask));
printf("Gateway : %s\n", ip4addr_ntoa(&gw));
// Obtém o endereço IP e a porta do usuário
char server_ip[16];
int server_port;
printf("Digite o endereço IP do servidor: ");
scanf("%15s", server_ip);
printf("Digite a porta do servidor: ");
scanf("%d", &server_port);
// Envia a requisição HTTP uma vez
// if (!http_requested) {
printf("Fazendo requisição HTTP para %s:%d...\n", server_ip, server_port);
http_client(server_ip, server_port);
// http_requested = true;
// }
// Loop infinito (aguardando a conclusão da requisição)
while (true) {
http_client(server_ip, server_port);
sleep_ms(5000);
}
return 0;
}