Screenshot

Arduino Code:

 

#include 

const char WiFiAPPSK[] = "";
WiFiServer server(80);

#define blueLed 16
#define redLed 2
#define greenLed 0


void setup() {
  Serial.begin(9600);

  pinMode(redLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(blueLed, OUTPUT);

  
 setupWiFi();

}

void loop() {
WiFiClient client = server.available();
 Serial.println("waiting... ");

  Serial.println(client);
  if (client ) {
    while (client.connected()) {
      while(1){
      if (client.available()) {
   
        int inChar;
        inChar = client.read();
        Serial.println(inChar);
         switch (inChar) {
         case 'A':
         analogWrite(blueLed,0);
         break;
         case 'a':
         analogWrite(blueLed,PWMRANGE);
         break;
         case 'B':
         analogWrite(redLed, PWMRANGE);
         break;
         case 'b':
         analogWrite(redLed, 0);
         break;
         case 'C':
         analogWrite(greenLed, PWMRANGE); 
         break;
         case 'c':
         analogWrite(greenLed, 0); 
         break;
      } 
    }
    }

   // Serial.println("Client disconnected.");
   // client.stop();
 } 

 }
}




void setupWiFi(){
  WiFi.mode(WIFI_AP);

  // Do a little work to get a unique-ish name. Append the
  // last two bytes of the MAC (HEX'd) to "Thing-":
  uint8_t mac[WL_MAC_ADDR_LENGTH];
  WiFi.softAPmacAddress(mac);
  String macID = String(mac[WL_MAC_ADDR_LENGTH - 2], HEX) +
                 String(mac[WL_MAC_ADDR_LENGTH - 1], HEX);
  macID.toUpperCase();
  String AP_NameString = "ESPCopter";

  char AP_NameChar[AP_NameString.length() + 1];
  memset(AP_NameChar, 0, AP_NameString.length() + 1);

  for (int i=0; i<AP_NameString.length(); i++)
    AP_NameChar[i] = AP_NameString.charAt(i);

   WiFi.softAP(AP_NameChar, WiFiAPPSK);

   server.begin();
}

 

 

Processing Code:

import processing.net.*;
import controlP5.*;
Client myClient;
ControlP5 cp5;
String command= "";
int c1,c2;
void setup() {
size(400, 300,P3D);
background(0);
myClient = new Client(this, "192.168.4.1", 80);
println(myClient.ip());

cp5 = new ControlP5(this);

cp5.addToggle("colorA")
.setPosition(150,100)
.setSize(50,20)
.setValue(false)
.setMode(ControlP5.SWITCH)
;

cp5.addToggle("colorB")
.setPosition(150,150)
.setSize(50,20)
.setValue(false)
.setMode(ControlP5.SWITCH)
;

cp5.addToggle("colorC")
.setPosition(150,200)
.setSize(50,20)
.setValue(false)
.setMode(ControlP5.SWITCH)
;

}

void draw() {

}

// function colorA will receive changes from
// controller with name colorA
void colorA(boolean theFlag) {
println("a button event from colorA: "+theFlag);
background(0,255,0);
if(theFlag == true){
command = "A";
} else {
command = "a";
}

myClient.write(command);
}

// function colorB will receive changes from
// controller with name colorB
void colorB(boolean theFlag) {
println("a button event from colorB: "+theFlag);
background(0,0,255);
if(theFlag == true){
command = "B";
} else {
command = "b";
}
myClient.write(command);
}

// function colorC will receive changes from
// controller with name colorC
void colorC(boolean theFlag) {
println("a button event from colorC: "+theFlag);
background(255,0,0);
if(theFlag == true){
command = "C";
} else {
command = "c";
}

myClient.write(command);
}