Forked from Matheus-Garbelini/esp8266_wpa2_enterprise_example.ino
Created
March 22, 2022 20:19
-
-
Save jrialland/296e965ab46b5bf62fa81469720faacb to your computer and use it in GitHub Desktop.
ESP8266 Wi-Fi WPA2 Enterprise example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <ESP8266WiFi.h> | |
extern "C" { | |
#include "user_interface.h" | |
#include "wpa2_enterprise.h" | |
#include "c_types.h" | |
} | |
// SSID to connect to | |
char ssid[] = "TEST_KRA"; | |
char username[] = "matheus_garbelini"; | |
char identity[] = "matheus_garbelini"; | |
char password[] = "testtest"; | |
uint8_t target_esp_mac[6] = {0x24, 0x0a, 0xc4, 0x9a, 0x58, 0x28}; | |
void setup() { | |
WiFi.mode(WIFI_STA); | |
Serial.begin(115200); | |
delay(1000); | |
Serial.setDebugOutput(true); | |
Serial.printf("SDK version: %s\n", system_get_sdk_version()); | |
Serial.printf("Free Heap: %4d\n",ESP.getFreeHeap()); | |
// Setting ESP into STATION mode only (no AP mode or dual mode) | |
wifi_set_opmode(STATION_MODE); | |
struct station_config wifi_config; | |
memset(&wifi_config, 0, sizeof(wifi_config)); | |
strcpy((char*)wifi_config.ssid, ssid); | |
strcpy((char*)wifi_config.password, password); | |
wifi_station_set_config(&wifi_config); | |
wifi_set_macaddr(STATION_IF,target_esp_mac); | |
wifi_station_set_wpa2_enterprise_auth(1); | |
// Clean up to be sure no old data is still inside | |
wifi_station_clear_cert_key(); | |
wifi_station_clear_enterprise_ca_cert(); | |
wifi_station_clear_enterprise_identity(); | |
wifi_station_clear_enterprise_username(); | |
wifi_station_clear_enterprise_password(); | |
wifi_station_clear_enterprise_new_password(); | |
wifi_station_set_enterprise_identity((uint8*)identity, strlen(identity)); | |
wifi_station_set_enterprise_username((uint8*)username, strlen(username)); | |
wifi_station_set_enterprise_password((uint8*)password, strlen((char*)password)); | |
wifi_station_connect(); | |
while (WiFi.status() != WL_CONNECTED) { | |
delay(1000); | |
Serial.print("."); | |
} | |
Serial.println("WiFi connected"); | |
Serial.println("IP address: "); | |
Serial.println(WiFi.localIP()); | |
} | |
void loop() { | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment