#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"
static bool http_requested = false;
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) {
sleep_ms(100);
}
return 0;
}