/* Project: EME216 4 Channel WiFi Switch Function: Webserver to control 4 outputs Modified by Mini-Kits to suit VHF and UHF X-Pol Satellite Antenna Switches */ //************************************************************ #include //include library code #include #include //include library code #include //include library code //************************************************************ //Static IP address configuration //IPAddress local_IP(192, 20, 7, 150); //ESP static ip //IPAddress gateway(192, 20, 7, 1); //IP Address of your WiFi Router (Gateway) //IPAddress subnet(255, 255, 255, 0); //Subnet mask //IPAddress primaryDNS(8, 8, 8, 8); //DNS //IPAddress secondaryDNS(8, 8, 4, 4); //DNS //************************************************************ MDNSResponder mdns; // Replace with your network credentials const char* ssid = "VK5EME"; // Set your WiFi ssid Name here const char* password = "df85knb6&derb"; // Set your WiFi Pasword here //************************************************************ ESP8266WebServer server(80); String webPage = ""; int gpio0_pin = 0; int gpio1_pin = 1; int gpio2_pin = 2; int gpio3_pin = 3; void setup(void){ webPage += "

2M Band X-Pol Antenna

LINEAR  

"; webPage += "

CIRCULAR  

"; webPage += "

70CM Band X-Pol Antenna

LINEAR  

"; webPage += "

CIRCULAR  

"; // preparing GPIOs pinMode(gpio0_pin, OUTPUT); digitalWrite(gpio0_pin, LOW); pinMode(gpio1_pin, OUTPUT); digitalWrite(gpio1_pin, LOW); pinMode(gpio2_pin, OUTPUT); digitalWrite(gpio2_pin, LOW); pinMode(gpio3_pin, OUTPUT); digitalWrite(gpio3_pin, LOW); delay(1000);//sets delay for 1 second // Configures static IP address if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) { Serial.println("STA Failed to configure"); } WiFi.begin(ssid, password); WiFi.setOutputPower(0.25); // Does not currently work to change RF power level // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); } server.on("/", [](){ server.send(200, "text/html", webPage); }); server.on("/vhf-vertical", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio1_pin, LOW); digitalWrite(gpio2_pin, LOW); delay(1000); }); server.on("/vhf-horizontal", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio1_pin, LOW); digitalWrite(gpio2_pin, HIGH); delay(1000); }); server.on("/vhf-rhcp", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio1_pin, HIGH); digitalWrite(gpio2_pin, HIGH); delay(1000); }); server.on("/vhf-lhcp", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio1_pin, HIGH); digitalWrite(gpio2_pin, LOW); delay(1000); }); server.on("/", [](){ server.send(200, "text/html", webPage); }); server.on("/uhf-vertical", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio0_pin, LOW); digitalWrite(gpio3_pin, LOW); delay(1000); }); server.on("/uhf-horizontal", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio0_pin, LOW); digitalWrite(gpio3_pin, HIGH); delay(1000); }); server.on("/uhf-rhcp", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio0_pin, HIGH); digitalWrite(gpio3_pin, HIGH); delay(1000); }); server.on("/uhf-lhcp", [](){ server.send(200, "text/html", webPage); digitalWrite(gpio0_pin, HIGH); digitalWrite(gpio3_pin, LOW); delay(1000); }); server.begin(); } //************************************************************************ void loop(void){ server.handleClient(); }