Arduino ADK + android LED parpadea ejemplo compilando errores

Estoy tratando de hacer un proyecto utilizando el arduino ADK bordo http://arduino.cc/en/Main/ArduinoBoardADK y un Sony Ericsson Xperia Play corriendo Android 2.3.4. Para empezar todo lo que quiero hacer es parpadear un led de mi dispositivo Android, utilizando el tutorial agradable que se encuentra aquí http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with- Tu-código-de-teléfono-y-explicación / .I logró compilar la aplicación de Android pero estoy teniendo grandes dificultades en el bosquejo de arduino, no puedo resolver las importaciones y no compilará en Windows7. Entiendo que hay algunos problemas con la versión IDE de arduino. Intenté compilar ambos en 0022, 0023 y en 1.0. Lo más lejos que podría ir con el código que estaba recibiendo estos errores de compilación después de la edición de la AndroidAccessory.h :

 D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:37: error: 'EP_RECORD' does not name a type D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:64: error: 'USB_NAK_LIMIT' was not declared in this scope 

Creo que he leído toda la documentación y no puedo encontrar una solución a mi problema. Establecer esto es un dolor … Realmente necesito hacer este trabajo. ¡Gracias de antemano! 🙂

————————————————– ————————————————– ———————–

EDIT1: La solución que funcionó para mí fue compilar el boceto en Linux (Ubuntu)

————————————————– ————————————————– ———————–

EDIT2: Una vez más utilizando la biblioteca USB más reciente del sitio web arduino el código NO compila. He intentado compilar en IDE v22 y v1.0.2 ejecutando Windows 8 y Ubuntu 12.10 con los errores siguientes:

 E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h: In function 'void setup()': E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h:68: error: 'void AndroidAccessory::powerOn()' is private sketch_jan10a:16: error: within this context E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h: In function 'void loop()': E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h:66: error: 'int AndroidAccessory::read(void*, int, unsigned int)' is private sketch_jan10a:23: error: within this context 

Creo que si realmente sabemos lo que este EP_Record epRecord [8]; Es todo lo que podría ayudar. EP_Record no se ha declarado en este archivo. Por lo tanto, no tiene un tipo. Cuando le di USB_NAK_LIMIT un tipo de int que el error se fue. No tengo ni idea de qué tipo dar a EP_Record? Lo único que puedo pensar es que podría ser una matriz epRecord [8]; Se parece a una matriz.

Si bien el sitio del desarrollador de Android es útil, carece de muchas maneras. Uno sería una ayuda en línea para los desarrolladores. Esto parece ser la única fuente de respuestas a las preguntas y la mayoría de ellas no solucionan realmente los problemas.

La biblioteca fue escrita y probada en:

Arduino Alpha 0022

¿Has probado a añadir esto a ArduinoAccessory.h ?

 #if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h" #else #include "WProgram.h" #endif 

También recomiendo leer esto también:

http://developer.android.com/guide/topics/usb/adk.html#installing

Menciona específicamente que usted necesita la biblioteca de CapSense también para el escudo de Android en un Arduino:

http://www.arduino.cc/playground/Main/CapSense

También menciona que también necesita instalar avr-libc:

 sudo apt-get install avr-libc 

MAC OS X:

 fink install avr-libc avr-gcc avr-binutils avrdude 

EP_RECORD se define como parte de la memoria USB Host Shield 1.0. Sin embargo, se está quitando en la biblioteca USB Host Shield 2.0.

Vea el anuncio aquí: http://www.circuitsathome.com/mcu/usb-host-shield-library-version-2-0-released

Así que los mensajes de error que tiene con EP_RECORD aparecerán de nuevo si se actualiza a 2.0. También echa un vistazo a los adk.h y adk.cpp desde la versión 2.0 en GitHub. El ejemplo actualizado de DemoKit 2.0 ya no utiliza AndroidAccessory.h / .cpp.

Me suena como si estuvieras desapareciendo la cabecera USB_Host_Shield / Usb.h , que define esas constantes.

Coloque este código donde otras definiciones se encuentran en Usb.h

 #define USB_NAK_LIMIT 32000 //NAK limit for a transfer. 0 means NAKs are not counted 

Coloque esto justo después de typedef SETUP_PKT en Usb.h

 /* Endpoint information structure */ /* bToggle of endpoint 0 initialized to 0xff */ /* during enumeration bToggle is set to 00 */ typedef struct { byte epAddr; //copy from endpoint descriptor. Bit 7 indicates direction ( ignored for control endpoints ) byte Attr; // Endpoint transfer type. unsigned int MaxPktSize; // Maximum packet size. byte Interval; // Polling interval in frames. byte sndToggle; //last toggle value, bitmask for HCTL toggle bits byte rcvToggle; //last toggle value, bitmask for HCTL toggle bits /* not sure if both are necessary */ } EP_RECORD; 

Esto suena como un problema que tuve hace un tiempo. (Así que utilicé el microbridge no el ADK con un USBDroid) tuve que ir en 3 bibliotecas, el mensaje de error me señaló a ellos

// (Nota: Que se copiaron en la carpeta arduino sketch general, no en la ubicación normal de las bibliotecas arduino) ¿Puede ser su problema?)

Luego, reemplazo wiring.h con Arduino.h en cada uno. (Nota Hacer una copia de seguridad de todos para guardar un poco de relleno si este no es el problema) Copiar a continuación, en una carpeta con el mismo nombre, pero con un número antes de que el nombre de esa manera cuando Reiniciar el software arduino obtendrá un error ignorar esto y compilar.

El resultado fue el trabajo USBdroid como se ve en http://www.youtube.com/watch?v=h7aa_6PNdRI Todavía un trabajo en progreso, pero me hizo feliz. Todavía tengo algunos buggs para trabajar.

Saludos, Al

  1. Instale ArduinoADK BETA 001 que es el último ADK disponible hasta la fecha.

  2. Descomprímalo y en la carpeta arduino encontrarás bibliotecas y bibliotecas-V2.

  3. Si copia host USB en las bibliotecas obtendrá androidaccessory.h leer error privado

  4. Copiar host USB de las librerías V 2 debería ser capaz de compilar correctamente. Yo era.

  • Principiante tutorial para Arduino Mega ADK
  • Arduino: uso Serial y Software Serial con módulo bluetooth
  • Seguridad de emparejamiento BLE
  • Android USB API: cambia entre carga y envío de datos
  • Android ADK desarrollo en la práctica - ¿cuáles son las mejores prácticas?
  • Android como anfitrión de ATtiny85 Digispark
  • ¿Por qué no se compila el programa demokit para la compilación de ADK en Arduino?
  • Señales de control de Bluetooth (DTR, DSR, RTS, CTS) en Android
  • Cómo conectar el teléfono Android y Ardunio con bluetooth a la luz led
  • Interfaz Android Nexus One con Arduino + BlueSmirf
  • ¿Cómo puedo conectar correctamente una aplicación de Android a un socket RFCOMM en un microcontrolador Arduino habilitado para Bluetooth?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.