Arduino + Shield Arduino + Gmail

Me gustaria saber si alguien ya ha hecho conexion con arduino uno y shield ethernet a Gmail y que este encienda una led cada vez que llegue un correo nuevo. si me pueden ayudar

Gracias

Acá tienes un buen ejemplo
Arduino SMTP Gmail

ese es para mandar correos, no hace conexion meramente con gmail.

Quieres que te de algo que prenda y apague tu led? Ese será tu trabajo.
Si lees un email, entonces puedes discernir entre título del email y body o cuerpo del mensaje.
Ahi puedes enviar tu palabra clave como ENCENDER o APAGAR o lo que elijas.
Lo que te di es un buen punto de partida.

Google: Arduino receive gmail
Temboo link

No no quiero algo que encienda la led, lo que necesito es saber meramente, como se conecta arduino al servidor de correo de gmail, en ese codigo que me mandaste no se conecta solo lo manda, por eso te hacia el comentario.
ya tengo la configuracion de la led, y tambien de ethenert pero no se bien como es la conexion a la api de gmail

Te di un código que envía y otro que lee. Mira bien.

oh si no lo habia visto, gracias una pregunta, Arduino no se puede conectar directamente a gmail, tiene que ocupar webmail asi como temboo o ocupar python como intermediario?

Disculpa tantas preguntas de seguro se nota que soy nueva en esto

Justamente Gmail se ha vuelto complicado para manejar correos.
Creo que tanto para enviar como para recibir debes autorizar el dispositivo con el que envías/recibes o no permite iniciar sesión con ese dispositivo.
Te aconsejo que leas como hacerlo con Temboo y sigas esto. Tal vez simplifique las cosas

Justamente Gmail se ha vuelto complicado para manejar correos.
Creo que tanto para enviar como para recibir debes autorizar el dispositivo con el que envías/recibes o no permite iniciar sesión con ese dispositivo.
Te aconsejo que leas como hacerlo con Temboo y sigas esto. Tal vez simplifique las cosas
Prueba con este EmailPop3 también con los ajustes para Gmail porque los puertos cambian.

Anr17. en este foro tenemos normas. Te voy a pedir que las leas y luego edites tu ultimo post.
Ve a More (abajo derecha) y luego Modify y ya puedes editar. Selecciona todo el código y entonces click en </>
Códigos y errores van con tag de códigos.

En las normas también hay otras etiquetas o tags para enlaces e imágenes.

He estado trabajando en el codigo pero al compilarlo me sale algunos warning
este es mi codigo

#include <SPI.h>
#include <Ethernet.h>


long updateTimer;

byte mac[] = { 0xDE, 0x36, 0x5F, 0x0A, 0x19, 0x83 };  
IPAddress ip( 192, 168, *,* );    
IPAddress gateway( 192, 168, *, * );
IPAddress subnet( 255, 255, 255, 0 );
 
char inString[165];
int i = 0;
const char pop_server = "pop.gmail.com";
const int  pop_port = 995;
const char pop_user = "******";
const char pop_pass = "******";
char d;
int mailNum1 = 0; 
int mailNum2 = 0; 
int mailTotal = 0; 
int ledPin = 13;
 
EthernetClient client;
boolean clientConnected = false;

void setup()
  {
     Serial.begin( 9600);
     pinMode( ledPin, OUTPUT);     
     Ethernet.begin( mac, ip);
  }
 
void loop()
  {
    updateClient();
    d = checkAvail();
      if (d >= 10)
       {
          getMailNum();
       }
  }

  void updateClient() 
   {
     if ((millis() - updateTimer) > 5000)
      {
           Serial.println("connecting...");
           delay(1000);
           
           if (client.connect(pop_server,pop_port))
             {
               Serial.println("connected");
               client.println(pop_user); 
               client.println(pop_pass); 
               clientConnected = true;
             }
      else
         {
             Serial.println("connection failed");
         }
         updateTimer = millis();
        }
   }

char checkAvail() 
   {
     if (clientConnected)
      {
         if (client.available())
          {
             char c = client.read();
             return(c);
          }
 
     if (!client.connected())
      {
          
         
          client.stop();
          clientConnected = false;
      }  
   }
}

int getMailNum() 
  {
     inString[i] = d;
     i++;
      if (i == 165)
       {
         i = 0;
         client.flush();
         mailNum1 = inString[106] - 48; 
         mailNum2 = inString[107] - 48; 
         
       if ((mailNum2 >= 0) && (mailNum2 <= 9))
         { 
           mailTotal = (mailNum1 * 10) + mailNum2; 
           blinkLED(); 
         }
       else 
         {
          if ((mailNum1 >= 0) && (mailNum1 <= 9))
           { 
              mailTotal = mailNum1;
              blinkLED(); //Blink the LED
            } 
          }
       }
   }

void blinkLED()
   { 
         for(int x = mailTotal; x >= 1; x--)
          {
           digitalWrite(ledPin, HIGH);
           delay(200);             
           digitalWrite(ledPin, LOW);
           delay(200);
          }
  }

Esto son los mensajes que me imprime

arduino-builder/arduino-builder -compile -core-api-version 10611 -build-path /tmp/160840111 -hardware arduino-builder/hardware -hardware arduino-builder/packages/cores -tools arduino-builder/tools -tools arduino-builder/packages/tools -built-in-libraries arduino-builder/latest -libraries /tmp/476368784/pinned -libraries /tmp/476368784/custom -fqbn arduino:avr:uno -verbose=false /tmp/476368784/sketch_oct21f
WARNING: Category '' in library ArduinoUnit is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Parse Arduino SDK is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Pushetta is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library SparkFun MG2639 CellShield is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library StereoSID is not valid. Setting to 'Uncategorized'

Estos son tus errores corregidos

const char pop_server[] = "pop.gmail.com";
const int  pop_port = 995;
const char pop_user[] = "******";
const char pop_pass[] = "******";

quitaste el array y lo convertiste en un simple char y no un array de char

me arroja otro error con updateClient

72:18: error: 'updateClient' was not declared in this scope
char c = client.read();

pero ese supongo que puedes resolverlo