Conexion MKR1000 con ESP8266

Que tal, es mi primera vez en este foro. Estoy en un proyecto de domotica en el cual tengo establecido a ESP8266 como Access point modo AP+Station, y estoy utilizando el modulo MKR1000 como Station (Conectarlo hacia el modulo ESP8266). Mi problema es el siguiente, ya tengo la programacion del ESP8266 como AP y conectado a mi router, tengo la conexion y la programacion de mi MKR1000 y conectado al ESP8266, solo me falta el codigo para mandar por medio del serial de IDE ya sea un 1 o 0 hacia el MKR1000 para encender un servo, es decir, por medio del serial de mi access point (ESP8266) enviar un 1 hacia el serial del MKR1000, que este lo lea y ejecute dependiendo cual sea el digito. Anexo los codigos.

Codigo del ACCESS POINT + STATION

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char *ssid_AP = "ESP8266_AP";
const char *password_AP = "12345678";
const char *ssid_STA = "GM97";
const char *password_STA = "ganizmero97";

ESP8266WebServer server(80);

void setup() {
 Serial.begin(115200);
 delay(10);
 Serial.println();
 WiFi.mode(WIFI_AP_STA);
 WiFi.softAP(ssid_AP, password_AP);
 WiFi.begin(ssid_STA, password_STA);
 while (WiFi.status() != WL_CONNECTED) {
 delay(500);
 Serial.print(".");
 }
 WiFi.setAutoReconnect(true);
 Serial.println("WiFi conectada.");
 Serial.println();
 WiFi.printDiag(Serial);
 Serial.println();
 Serial.print("AP dirección IP: ");
 Serial.println(WiFi.softAPIP());
 Serial.print("STA dirección IP: ");
 Serial.println(WiFi.localIP());
 server.on("/", [](){
 server.send(200, "text/plain", "Hola Mundo!!");
 });
 server.begin();
 Serial.println("Servidor inicializado.");
 }
void loop() {
 server.handleClient();
 }]

Codigo para MKR1000 para conectarlo hacia ESP8266

#include <SPI.h>
#include <WiFi101.h>
#include <WiFiUdp.h>
#include <stdio.h>
#include <Servo.h>

int status = WL_IDLE_STATUS;
char ssid[] = "ESP8266_AP"; //  El nombre de tu red wifi
char pass[] = "12345678";    // la clave de tu red wifi

char convBuffer[4];
int valServo =0;
char packetBuffer[20]; // buffer para guardar los datos entrantes
unsigned int localPort = 1500;  // numero del puerto de la placa para recibir mensajes

Servo myservo; //nombre de la instancia servo
WiFiUDP Udp; //nombre de la instancia UDP

void setup() {
 myservo.attach(5);  //el servo esta conectado en el pin 5
//Inicia el puerto serial y espera hasta que se complete:
Serial.begin(115200);
while (!Serial) {
  ; // espera la conexión del puerto serie. Solo es necesario para placas con puerto USB nativo
}

// revision de la presencia del shield de comunicación:
if (WiFi.status() == WL_NO_SHIELD) {
  Serial.println("El shield WiFi no esta presente");
  // no continua:
  while (true);
}

 // intenta conectar a la red wifi:
while ( status != WL_CONNECTED) {
  Serial.print("Conectando a SSID: ");
  Serial.println(ssid);
   // Conecta a una red WPA/WPA2:
  status = WiFi.begin(ssid, pass);

  // espera 10 segundos por la coneccion:
  delay(10000);
}
Serial.println("Conectado a wifi");
printWiFiStatus();

Udp.begin(localPort); // Inicia el socket WiFiUDP, y escucha el puerto local
}

void loop() {

  // Si hay datos disponibles, lee el paquete
int packetSize = Udp.parsePacket();
if (packetSize)
{
  Serial.print("Tamaño del paquete recibido ");
  Serial.println(packetSize);
  Serial.print("De ");
  IPAddress remoteIp = Udp.remoteIP();
  Serial.print(remoteIp);
  Serial.print(", puerto ");
  Serial.println(Udp.remotePort());

  // lee el paquete y lo guarda en el buffer
  int len = Udp.read(packetBuffer, 20);  //lee el paquete y lo guarda en el buffer
  if (len > 0) packetBuffer[len] = 0;  // coloca el caracter null al final de la cadena
  Serial.println("Contents:");
  Serial.println(packetBuffer);
  
  convBuffer[0]=packetBuffer[7];
  convBuffer[1]=packetBuffer[8];
  convBuffer[2]=packetBuffer[9];
  convBuffer[3]=packetBuffer[10];
  convBuffer[4]=0;
  valServo=atoi(convBuffer); //convierte la cadena de caracteres a entero

  Serial.print("El valor extraido es:");
  Serial.println(valServo);

  myservo.write(valServo);    
}
}

void printWiFiStatus() {
// imprime el nombre de la red a la cual estas conectado:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());

// imprime la direcion IP del shield o placa con la cual estas conectado:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);

// imprime la intensidad de señal recibida:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}

Dos cosas:
1. Una consulta de Software tiene una sección que no es Proyectos para ser canalizada. Por esta razón he movido tu hilo.
2. Lee las normas del foro como así también cada uno de los primeros hilos que tiene cada sección, en ellos se dan pautas de como manejarse.
Tu por ejemplo has posteado código como texto plano.
[/color]
Esto que posteaste asi

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

debe verse asi

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

Corregido.

Para enviar cosas de un dispositivo a otro debes crear un socket es decir abrir un puerto y transferir desde/hacia cada nodo-
Busca los ejemplos UDP de ambos y comparte el mismo puerto UDP y verás que podrias hacerlo.

Perfecto, quedo resuelto utilizando UDP, gracias!

Publica por favor como lo resolviste para el lector futuro.