Arduino/Genuino 101 es una placa Arduino basada en un microprocesador Intel Curie (TM). Es mucho más que un Arduino, ya que contiene un acelerómetro y un giróscopo de 3 ejes junto con un chip BLE 4.0 que nos permite comunicar nuestro Arduino 101 con un smartphone.
Para poder programar un app que se comunique con nuestro Arduino/Genuino 101 podemos usar AppInventor, ya que Incluye un nuevo componente BluetoothLE (Extensión experimental, no visible) que nos permite desarrollar apps con capacidad BLE de forma rápida y simple. El componente BluetoothLE tiene un pequeño fallo relacionado con los permisos para acceder a las comunicaciones Bluetooth (no declara que necesita acceso Bluetooth en ell proceso de instalación de la app en el teléfono), para solucionarlo hay que incluir en nuestra app el antiguo componente BluetoothClient, aunque no lo usemos para nada, sólo para que la aplicación declare que necesita a acceso a Bluetooth en el proceso de instalación).
Yo uso el sistema operativo MAX 9. Para poder programar Arduino/Genuino 101 en Max 9 he intentado usar estos entornos
- Arduino IDE (mínimo 1.5, yo estoy usando 1.8.3)
- Arduino web editor. En teoría sólo necesitas instalar un plugin para tu navegador. No he conseguido hacerlo funcionar, aunque parece prometedor.
A continuación voy a describir como instalar el Arduino IDE 1.8.3 sobre un Max 9 fresco y configurarlo para programar nuestro Arduino/Genuino 101
1- Seguir estos pasos del blog de Max 9, pero para la versión 1.8.3 del Arduino IDE: enlace
2- Ejecutar el Arduino IDE (Inicio->Programacion->Arduino)
3- Una vez en el Arduino IDE 1.8.3 ir al menú Herramientas->Tarjeta->Gestor de tarjetas.. e instalar la familia de tarjetas: Intel Curie Boards by Intel
4- Salir del Arduino IDE.
5- Descargar el script: create_dfu_udev_rule
6- Ejecutar el script como superusiario: $sudo ./create_dfu_udev_rule
7- Cerrar la sesion en Max 9 y volver a entrar en Max 9.
8- Ejecutar el Arduino IDE y cargar el ejemplo Blink: Menú Archivo->Ejemplos->Basic->Blink
9-Compilar el programa Blink
10- Para Subir el programa a nuestro Arduino/Genuino 101 hay que hacer algo un poco "raro", pero es así.
- Presionar el botón "Master Reset" del Arduino/Genuino 101, soltarlo y contar un segundo.
- Pulsar "Subir" para cargar el programa en la tarjeta.
- Esperar cinco segundos para que el la ejecución del programa comience.
Notas:
- Hay que practicar un poco para cogerle el truco a lo de subir el programa en la tarjeta, Si tardas demasiado en pulsar el botón "Subir" verás el siguiente mensaje
en la consola:
Flashing is taking longer than expected
Try pressing MASTER_RESET button
- Si quieres mandar datos por el puerto serie desde la tarjeta y recibirlos a traves del Serial Monitor, tienes que hacer lo mismo
Enlaces
BLE Smartphone Blink Tutorial app: enlace
Getting started With Arduino/Genuino 101: enlace
Tutoriales y guias paso a paso de desarrolo IoT con AppIventor y BLE 4.0: enlace