#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() { | |
} |
Hi, I'm getting this message from the Serial Monitor constantly. I am using a NodeMCU v1.0 board. I already set Erase Flash option to All flash contents but did not work.
Any comments on how to solve it?
,,,,,,,,,,pm open,type:2 0
14:40:29.211 -> ,,,,,,,,,,,,,,,,,,,,state: 5 -> 0 (2)
14:40:48.703 -> rm 0
14:40:48.703 -> pm close 7
14:40:48.703 -> reconnect
14:40:48.805 -> scandone
14:40:48.805 -> state: 0 -> 2 (b0)
14:40:48.805 -> state: 2 -> 3 (0)
14:40:48.805 -> state: 3 -> 5 (10)
14:40:48.805 -> add 0
14:40:48.805 -> aid 1
14:40:48.805 -> cnt
14:40:49.204 -> ,,,,,,,,,,pm open,type:2 0
14:40:59.208 -> ,,,,,,,,
Hi, thanks for yout reply.
The certs are in the following format :
char ssid[] = "CNIOPROF";
char username[] = "";
char identity[] = "";
char password[] = "xxxx";
That should be hex, right?
Regarding the TLS, I am using a nodemcu board whose TLS version is 1.2. How can I chech which versions are supported by the server?
After all what I do is basically uploading that code to the nodemcu.
I am quite new to this Arduino environment. Thanks for your patience.
I meet the same problem when use the code above. Using arduino IDE.
hardware: ESP-12F ESP8266MOD
using NodeMCU 1.0(ESP-12E)_ and erase all flash content
after it connect the wifi , it just keep about 8 second and then restart. Why this happened and if there is a valid method to solve this?
Just a heads up everyone, if identity is not set, it will not be empty, it is acutually set to anonymous@espressif.com.
Here's my version of the above with websocket, works with peap mschapv2 at my uni:
https://gist.github.com/venetanji/d71dc271ebf51236ec6ce99aa48eee26