#include <WiFi.h>
#include <esp_wifi.h>
#include <HTTPClient.h>
#include <WiFiClientSecure.h>
#include "secrets.h"
void connectWiFi();
void sendRequest(int);
void makeHeader(int);
void makeRequestStr();
// const String url = "http://www.httpbin.org/get";
const uint8_t newMACAddress[] = {MAC_ADDR_1, MAC_ADDR_2, MAC_ADDR_3, MAC_ADDR_4, MAC_ADDR_5, MAC_ADDR_6};
String requestStr;
void setup() {
Serial.begin(115200);
delay(10);
connectWiFi();
}
// ------------------------------------------------------------------------------
void loop() {
// http.begin(url);
// http.setUserAgent("Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36");
// // int httpResponseCode = http.GET();
// int httpResponseCode = http.POST("");
// if (httpResponseCode > 0) {
// Serial.print("HTTP ");
// Serial.println(httpResponseCode);
// String payload = http.getString();
// Serial.println();
// Serial.println(payload);
// }
// else {
// Serial.print("Error code: ");
// Serial.println(httpResponseCode);
// Serial.println(":-(");
// }
// http.end();
// sendRequest(METHOD_PUT);
sendRequest(METHOD_POST);
delay(2000);
}
// ------------------------------------------------------------------------------
void connectWiFi() {
int counter = 0;
// uint8_t newMACAddress[] = {MAC_ADDR_1, MAC_ADDR_2, MAC_ADDR_3, MAC_ADDR_4, MAC_ADDR_5, MAC_ADDR_6};
Serial.println();
Serial.print("Connecting to network: ");
Serial.println(SSID);
WiFi.disconnect(true);
WiFi.mode(WIFI_STA);
WiFi.setHostname(MOBILE_NAME);
esp_wifi_set_mac(WIFI_IF_STA, newMACAddress);
Serial.print("Hostname: ");
Serial.print(WiFi.getHostname());
Serial.print(" MAC Address: ");
Serial.println(WiFi.macAddress());
WiFi.begin(SSID, WIFI_PASSWORD);
//WiFi.begin(SSID, WPA2_AUTH_PEAP, WIFI_IDENTITY, WIFI_USERNAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
counter++;
if (counter >= 120) { //after 60 seconds timeout - reset board
ESP.restart();
}
}
Serial.println("");
Serial.print("WiFi connected IP address : ");
Serial.println(WiFi.localIP()); //print LAN IP
}
// ------------------------------------------------------------------------------
void sendRequest(int callMethod) {
int httpResponseCode;
WiFiClientSecure client;
HTTPClient http;
// http.begin(URL_PUT);
// makeHeader(callMethod);
// makeRequestStr();
client.setInsecure();
switch (callMethod) {
// case METHOD_GET :
// httpResponseCode = http.GET();
// break;
case METHOD_POST :
http.begin(client, URL_POST);
// http.setFollowRedirects(HTTPC_FORCE_FOLLOW_REDIRECTS);
// makeHeader(callMethod);
// httpResponseCode = http.POST(REQUEST_POST);
http.addHeader("Content-Type", HTTP_HEADER_CONTENT_TYPE_URLENCODED);
http.addHeader("Authorization", HTTP_HEADER_AUTHORIZATION);
httpResponseCode = http.POST("");
break;
case METHOD_PUT :
http.begin(URL_PUT);
makeHeader(callMethod);
httpResponseCode = http.PUT(REQUEST_POST);
break;
default :
http.begin(URL_GET);
makeHeader(callMethod);
httpResponseCode = http.GET();
break;
}
if (httpResponseCode > 0) {
Serial.print("HTTP ");
Serial.println(httpResponseCode);
String payload = http.getString();
Serial.println();
Serial.println(payload);
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
Serial.println(":-(");
}
http.end();
}
// ------------------------------------------------------------------------------
void makeHeader(int callMethod) {
// http.setUserAgent(HTTP_HEADER_USER_AGENT);
// http.addHeader("Host", HTTP_HEADER_HOST);
// http.addHeader("Cookie", HTTP_HEADER_COOKIE);
// http.addHeader("Accept", HTTP_HEADER_ACCEPT);
// http.addHeader("Authorization", HTTP_HEADER_AUTHORIZATION);
// http.addHeader("Origin", HTTP_HEADER_ORIGIN);
// http.addHeader("X-Requested-With", HTTP_HEADER_X_REQUESTED_WITH);
// http.addHeader("Sec-Fetch-Site", HTTP_HEADER_SEC_FETCH_SITE);
// http.addHeader("Sec-Fetch-Mode", HTTP_HEADER_SEC_FETCH_MODE);
// http.addHeader("Sec-Fetch-Dest", HTTP_HEADER_SEC_FETCH_DEST);
// http.addHeader("Referer", HTTP_HEADER_REFERER);
// http.addHeader("Accept-Encoding", HTTP_HEADER_ACCEPT_ENCODEING);
// http.addHeader("Accept-Language", HTTP_HEADER_ACCEPT_LANGUAGE);
// http.addHeader("Connection", HTTP_HEADER_CONNECTION);
if (callMethod == METHOD_POST) {
// http.addHeader("Content-Type", HTTP_HEADER_CONTENT_TYPE_JSON);
// http.addHeader("Content-Type", HTTP_HEADER_CONTENT_TYPE_URLENCODED);
// http.addHeader("Authorization", HTTP_HEADER_AUTHORIZATION);
}
}
// ------------------------------------------------------------------------------
void makeRequestStr() {
requestStr = "{\"username\":\"" + String(WIFI_USERNAME) + "\",\"password\":\"" + String(WIFI_PASSWORD) + "\",\"device_id\":\"" + "device" + "\"}";
}Loading
wemos-s2-mini
wemos-s2-mini