El documento presenta una agenda para una charla sobre el Android NDK y herramientas para el control de robots. La agenda incluye una discusión sobre la situación actual de las aplicaciones móviles, herramientas de desarrollo alternativas como el Android NDK, el entorno de programación de Android y Python en Android. También presenta el proyecto POP-Bot, que usa Android para controlar un robot conectado a Arduino, y proyectos relacionados.
1. Agenda
Android NDK y Herramientas para control
de Robots
Alvaro Antonio Vanegas P
Software Libre - Campus Party Colombia 2010
2010.07.01
Antonio Vanegas Android NDK y Herramientas para control de Robots
2. Agenda
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
3. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
4. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Dispositivos del pasado y su importancia
Anteriormente se usaban dispositivos m´viles para diferentes
o
servicios, entre los mas destacados
PDA
Pocket PC
Dispositivos especializados de adquisici´n
o
Otros: Calculadoras, Dat´fonos, etc
a
Antonio Vanegas Android NDK y Herramientas para control de Robots
5. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Dispositivos Anteriores
Se utilizaron para diferentes fines
Antonio Vanegas Android NDK y Herramientas para control de Robots
6. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
7. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Redes Sociales
Actualmente existe una alta integraci´n con redes sociales:
o
twitter
facebook
Identi.ca
otros
Antonio Vanegas Android NDK y Herramientas para control de Robots
8. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Aplicaciones y Herramientas de Georeferenciaci´n
o
Integraci´n de diferentes tipos:
o
GoogleMaps
Georeferenciaci´n de
o
medios
Posicionamiento
Realidad Aumentada
Antonio Vanegas Android NDK y Herramientas para control de Robots
9. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Juegos y Herramientas relacionadas
Juegos como aplicaciones:
Usan los recursos normales
del celular
Se conectan a redes
Son portados de otros
dispositivos
Complemento a juegos y consolas
Como controles
Antonio Vanegas Android NDK y Herramientas para control de Robots
10. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Android como Control
Simulando mando NES
Antonio Vanegas Android NDK y Herramientas para control de Robots
11. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
12. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Qu´ Falta?
e
Algunas Ideas
Enfocarse en otros nichos
Extender la plataforma y la
aplicabilidad
Utilizarla como herramienta
de desarrollo para otras
disciplinas
Antonio Vanegas Android NDK y Herramientas para control de Robots
13. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Qu´ Falta?
e
Algunas Ideas
Enfocarse en otros nichos
Extender la plataforma y la
aplicabilidad
Utilizarla como herramienta
de desarrollo para otras
disciplinas
Antonio Vanegas Android NDK y Herramientas para control de Robots
14. Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Prop´sito
o
Qu´ Falta?
e
Algunas Ideas
Enfocarse en otros nichos
Extender la plataforma y la
aplicabilidad
Utilizarla como herramienta
de desarrollo para otras
disciplinas
Antonio Vanegas Android NDK y Herramientas para control de Robots
15. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
16. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Que es Android NDK?
Definici´n:
o
Es un conjunto de herramientas que permiten integrar
componentes que hacen uso de c´digo nativo en aplicaciones
o
Android.
Antonio Vanegas Android NDK y Herramientas para control de Robots
17. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Android NDK
Ventajas:
Creaci´n de
o
librer´ de
ıas
mayor eficiencia
Acceso a capas
distintas
Migraci´n de
o
proyectos
existentes
Antonio Vanegas Android NDK y Herramientas para control de Robots
18. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Android NDK
Ventajas:
Creaci´n de
o
librer´ de
ıas
mayor eficiencia
Acceso a capas
distintas
Migraci´n de
o
proyectos
existentes
Antonio Vanegas Android NDK y Herramientas para control de Robots
19. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Android NDK
Ventajas:
Creaci´n de
o
librer´ de
ıas
mayor eficiencia
Acceso a capas
distintas
Migraci´n de
o
proyectos
existentes
Antonio Vanegas Android NDK y Herramientas para control de Robots
20. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Android NDK
Deventajas:
No es multiplaforma, CPUs No hay generaci´n de GUI
o
soportadas:
ARMv5TE
ARMv7-A
Parte de x86
Falta de librer´
ıas
Antonio Vanegas Android NDK y Herramientas para control de Robots
21. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Android NDK
Deventajas:
No es multiplaforma, CPUs No hay generaci´n de GUI
o
soportadas:
ARMv5TE
ARMv7-A
Parte de x86
Falta de librer´
ıas
Antonio Vanegas Android NDK y Herramientas para control de Robots
22. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Android NDK
Deventajas:
No es multiplaforma, CPUs No hay generaci´n de GUI
o
soportadas:
ARMv5TE
ARMv7-A
Parte de x86
Falta de librer´
ıas
Antonio Vanegas Android NDK y Herramientas para control de Robots
23. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Android NDK
Librer´ actuales:
ıas
libc (C library) headers
libm (math library) headers
JNI interface headers
libz (Zlib compression) headers
liblog (Android logging) header
OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries)
headers
libjnigraphics (Pixel buffer access) header (for Android 2.2
and above).
A Minimal set of headers for C++ support
Antonio Vanegas Android NDK y Herramientas para control de Robots
24. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
25. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Componentes NDK
Requesitos de entrada:
Makefile: Android.mk
Codigo fuente en C
Salida de NDK
Librer´ (file.so o file.o)
ıas
Ejecutables (Principalmente para consola)
Antonio Vanegas Android NDK y Herramientas para control de Robots
26. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Componentes NDK
Diagrama de Desarrollo de NDK
Antonio Vanegas Android NDK y Herramientas para control de Robots
27. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Demostraci´n NDK
o
Hello World NDK!
Hellor World!
Comparaci´n Dalvik-NDK
o
Migraci´n: OpenJPG
o
Tips para migrar proyectos
Antonio Vanegas Android NDK y Herramientas para control de Robots
28. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
29. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Aplicaci´n android ASE
o
Diagrama de Desarrollo de NDK
Android Scripting Environment, actualmente soporta:
Python Tcl
Perl shell
JRuby
Lua
BeanShell
JavaScript
Antonio Vanegas Android NDK y Herramientas para control de Robots
30. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
31. Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python
Instalaci´n de Python en Android
o
ASE instalaci´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
32. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
33. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicaci´n
o
Reducci´n de costos en
o
implementaci´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
34. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicaci´n
o
Reducci´n de costos en
o
implementaci´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
35. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicaci´n
o
Reducci´n de costos en
o
implementaci´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
36. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicaci´n
o
Reducci´n de costos en
o
implementaci´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
37. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicaci´n
o
Reducci´n de costos en
o
implementaci´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
38. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicaci´n
o
Reducci´n de costos en
o
implementaci´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
39. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Plus de sensores
Br´jula
u
GPS
Aceler´metros
o
C´mara
a
Micr´fono (comandos por voz)
o
APIs
APIs de google (Maps,Voice,etc)
Terceros
Antonio Vanegas Android NDK y Herramientas para control de Robots
40. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Android como plataforma de desarrollo de robots
Sistemas de comunicaci´n
o
GPRS/EDGE/3G
Bluetooth
Wi-Fi
Antonio Vanegas Android NDK y Herramientas para control de Robots
41. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
42. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Estado Actual del Proyecto
Tareas realizadas
Construcci´n de interfaz
o
Desarrollo del driver para
Pop-bot
Homologaci´n parcial al
o
proyecto CellBots
Antonio Vanegas Android NDK y Herramientas para control de Robots
43. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Estado Actual del Proyecto
Interfaz de conexi´n:
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
44. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Estado Actual del Proyecto
Interfaz de conexi´n
o
Antonio Vanegas Android NDK y Herramientas para control de Robots
45. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Agenda
1 Situaci´n actual
o
Historia y Antecedentes
Importancia de las aplicaciones m´viles
o
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostraci´n
o
Proyectos relacionados
Antonio Vanegas Android NDK y Herramientas para control de Robots
46. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Proyectos relacionados
Cellbots
http:
//www.cellbots.com
http://www.
amarino-toolkit.net
Antonio Vanegas Android NDK y Herramientas para control de Robots
47. Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares
Referencias y Agradecimientos
Contacto y referencias
P´gina del proyecto: http://devel.androidsith.com
a
Alvaro Antonio Vanegas (hpsaturn@gmail.com)
Agradecimientos Especiales a:
Asistentes :D A
LTEX
Manuel Cer´n (Coordinador
o Debian GNU-Linux
Software Libre)
Edna Amortegui
(fotograf´
ıa)
Campus Party 2010
Antonio Vanegas Android NDK y Herramientas para control de Robots