Wifi setoutputpower

Video Wifi setoutputpower

So i reflashed the firmware and its the same result. i flashed the firmware from here https://github.com/espressif/ESP8266_AT/tree/master/bin

i think i just need a better module or something. not setting the power to high resulted in a weaker connection.

Heres my code for the SoftAP.

//extern “C”{ // #include “user_interface.h” //} #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <LiquidCrystal_I2C.h> IPAddress local_IP(192, 168, 4, 1); IPAddress gateway(192, 168, 4, 1); IPAddress subnet(255, 255, 255, 0); IPAddress Client1(192, 168, 4, 100); LiquidCrystal_I2C lcd(0x27, 20, 4); WiFiUDP Udp; unsigned long previousMillis = 0; unsigned long minmaxwait = 0; unsigned long minmaxwait2 = 0; int ledState = LOW; const long interval = 300; bool running = false; bool alarm = false; const char* ssid = “weatherStation”; const char* password = “a1b2c3d4”; unsigned long now = 0; unsigned long now2 = 0; unsigned long now3 = 0; unsigned long now4 = 0; unsigned int localUdpPort = 4210; // local port to listen on unsigned int clientPort = 4220; char incomingPacket[800]; // buffer for incoming packets float maxTemp = -99; float minTemp = 199; struct packet { int local; float temp; }; packet localData; void setup() { WiFi.setPhyMode(WIFI_PHY_MODE_11B); pinMode(12, INPUT_PULLUP); digitalWrite(12, HIGH); pinMode(14, OUTPUT); digitalWrite(14, LOW); lcd.init(); lcd.backlight(); //WiFi.setOutputPower(20.5); WiFi.persistent(0); Serial.begin(115200); Serial.println(); WiFi.mode(WIFI_AP); while (!WiFi.softAP(ssid, password, 9, false, 15)) { delay(500); Serial.print(“.”); } Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? “Ready” : “Failed!”); lcd.clear(); lcd.setCursor(0, 0); lcd.print(“CONNECTING!!”); Udp.begin(localUdpPort); Serial.printf(“Now listening at IP %s, UDP port %dn”, WiFi.softAPIP().toString().c_str(), localUdpPort); } void sendCommand(IPAddress to, char* data, bool requestResponse) { char* packetData = data; const char delimiter[] = “NODECM”; const char delimiter2[] = “CMNODE”; Udp.beginPacket(to, clientPort); if (requestResponse) { Udp.write((const uint8_t*)delimiter, sizeof(delimiter) – 1); Udp.write((const char*)packetData, sizeof(packetData)); Udp.write((const uint8_t*)delimiter2, sizeof(delimiter2) – 1); } else { Udp.write((const char*)packetData, sizeof(packetData)); } Udp.endPacket(); } void loop() { if (running) { if (millis() – now4 >= 1000) { if (minTemp < 57) { alarm = true; lcd.setCursor(0, 3); lcd.print(“TOO COLD!!”); } if (maxTemp > 91) { alarm = true; lcd.setCursor(0, 3); lcd.print(“TOO HOT!!”); } now4 = millis(); } } if (alarm) { unsigned long currentMillis = millis(); if (currentMillis – previousMillis >= interval) { previousMillis = currentMillis; if (ledState == LOW) { ledState = HIGH; } else { ledState = LOW; } digitalWrite(14, ledState); } } if (digitalRead(12) == LOW) { maxTemp = -99; minTemp = 199; alarm = false; lcd.setCursor(0, 3); lcd.print(” “); digitalWrite(14, LOW); } int packetSize = Udp.parsePacket(); if (packetSize) { // Serial.println(“Message”); int len = Udp.read(incomingPacket, 800); char verifyStart[7]; char verifyEnd[7]; Serial.println((char*)incomingPacket); strncpy (verifyStart, (char*)incomingPacket, 7 ); strncpy (verifyEnd, (char *)incomingPacket + len – 6 , 7 ); if (strcmp(verifyStart, “NODE01”) == 0) { if (strcmp(verifyEnd, “01NODE”) == 0) { // Serial.println(“Node01”); memcpy(&localData, incomingPacket + 6, sizeof(localData)); //Serial.print(“Tempature is “); if (localData.temp > -32 && localData.temp < 199) { if (localData.temp > maxTemp) { if (millis() – minmaxwait >= 3000) { running = true; maxTemp = localData.temp; minmaxwait = millis(); } } else { minmaxwait = millis(); } if (localData.temp < minTemp) { if (millis() – minmaxwait2 >= 3000) { running = true; minTemp = localData.temp; minmaxwait2 = millis(); } } else { minmaxwait2 = millis(); } } lcd.setCursor(0, 0); lcd.print(“Temperature:”); if (localData.temp > -32 && localData.temp < 199) { lcd.setCursor(12, 0); lcd.print(” “); lcd.setCursor(12, 0); lcd.print(localData.temp); } lcd.setCursor(0, 1); lcd.print(“Max Temp:”); lcd.setCursor(9, 1); lcd.print(” “); lcd.setCursor(9, 1); lcd.print(maxTemp); lcd.setCursor(0, 2); lcd.print(“Min Temp:”); lcd.setCursor(9, 2); lcd.print(” “); lcd.setCursor(9, 2); lcd.print(minTemp); // Serial.println(localData.temp); now = millis(); } } if (strcmp(verifyStart, “RETURN”) == 0) { now3 = millis(); } Serial.println(“hello”); Serial.println(len); Serial.println(verifyStart); Serial.println(verifyEnd); } }

Related Posts