Configuración Cloudino para Aplicaciones Remotas

Como se mencionó en la publicación anterior “Cloudino Wifi Conector” puede programar microcontroladores de manera remota por medio de Internet, así que vamos a configurarlo para enviar el programa “Blink” al “Arduino Uno”.

Material a Utilizar

El material para configurar nuestro CWC (Cloudino Wifi Conector) es muy sencillo ya que solamente nos apoyaremos de los siguientes componentes:

Conexión de Cloudino con Arduino Uno

Para configurar nuestro CWC vamos a requerir de un microcontrolador que reciba la programación, para fines prácticos usaremos un Arduino Uno, en la fig.1 se muestra una conexión básica entre el CWC y el Arduino Uno.

fig.1 Diagrama de conexión.

Instalación y configuración

Creando nuestra cuenta en el servidor de cloudino.io

Para utilizar la plataforma de Cloudino, sera necesario ingresar al portal cloudino.io, ahí crearemos una cuenta para poder conectar cualquier dispositivo al Internet de las Cosas (fig.2).

Para crear nuestra cuenta en la plataforma de Cloudino (fig.3) necesitaremos un correo que esté activo, así como de una contraseña que podamos recordar fácilmente; nos registraremos mediante la opción “Register a new memebership” y validaremos nuestra inscripción al correo que hayamos elegido.

fig.3 Página de inicio de sesión

Hecho esto lograremos entrar a nuestra sesión en la plataforma Cloudino y veremos una imagen como la siguiente fig.4

fig.4 Panel de inicio en la plataforma cloudino.io después de iniciar sesión

El CWC debe configurarse desde el portal para conectar su Arduino Uno a la plataforma de Cloudino. Para ello agregaremos un nuevo dispositivo en el portal.
Del lado izquierdo del panel, seleccione el menú “Devices” y haga clic en la opción “Add Device“, como nombre y descripción coloque la que mejor se adapte a su proyecto pero en la opción “Type” elija Arduino Uno. Haga clic en “Submit” (fig.5) para dar de alta el dispositivo. Si posteriormente desea agregar más dispositivos lo podrá hacer sin ningún problema.

fig.5 Agregando un Dispositivo

Después de agregar su dispositivo se añadirán algunas vistas que permitirán configurarlo, controlarlo y programarlo. En la vista “General” aparecerá el campo “Auth Token” como se ve en la fig. 6, este campo contiene una cadena que tendremos que guardar por ejemplo en “bloc de notas”, ya que más adelante nos permitirá asociar el dispositivo con el CWC.

fig.6 Información general de CWC

Conectando el Cloudino WiFi Conector al portal de cloudino.io

Lo primero que tenemos que hacer es verificar que el CWC se encuentra conectado al Arduino Uno como se vio previamente en el diagrama de conexión fig.1 y posteriormente conectar el Arduino Uno a nuestra PC.
Una vez energizado se creará una red wifi a la cual podemos ingresar desde nuestra PC (tableta o celular), para acceder al panel de configuración del CWC. El SSID de la red wifi es Cloudino_X: Donde X es el número de serie del CWC y no nos pedirá ninguna contraseña. Por ejemplo, fig.7 muestra la red Cloudino_44B9AB que es la que utilizaré para configurar mi CWC y su número de serie es: 44B9AB, por ende a cada usuario le aparecerá una red similar.

fig.7 Red WiFi creada por el CWC

Una vez seleccionada la red WiFi de nuestro CWC (Cloudino_44B9AB), se abrirá un navegador web con el panel de configuración. En caso de que esto no suceda, puede acceder a su navegador web preferido y teclear la dirección IP http://192.168.4.1/. Si todo ha salido bien aparecerá el panel de configuración fig.8.

fig.8 Panel de configuración del conector WiFi de Cloudino en la IP 192.168.4.1

Como podemos ver en la fig.8 aparece un mensaje en el centro de la pantalla que dice “You may want to Config the WiFi Connection“, para lo cual daremos clic sobre este y nos permitirá elegir una red wifi que conecte el CWC a internet (así Arduino podrá enviar datos a la plataforma Cloudino) fig. 9.

fig.9 Seleccionando la red wifi local

Cuando seleccionamos la red wifi, en este caso “AGB-APN-SNET” nos aparecerá la opción para guardar la contraseña en el CWC, así sabrá a que red se debe conectar y autenticar con la contraseña que le indiquemos, una vez hecho este paso lo finalizamos con un clic al botón “Connect” fig.10.

fig.10 Sección para ingresar la contraseña de la red wifi local

Para verificar si la conexión es correcta daremos clic en el menú “WiFi Configuration” mostrando el campo “Status” como “CONNECTED” fig.11.

Nota: Cuando se realiza alguna modificación en el panel de configuración el CWC puede llegar a reiniciarse provocando que nuestra PC (tableta o celular) se desconecte de la red wifi “Cloudino_44B9AB” por lo que hay que cerciorarnos de siempre permanecer conectados.

fig.11 CWC conectado a la red local

Como paso siguiente crearemos un vínculo entre el CWC y la plataforma Cloudino, solo accedemos a la opción “Cloudino Cloud Configuration” que se encuentra en el submenú “Cloudino Server” del menú “Server Configuration”. Una vez estemos ahí, en el campo “Auth Token” pegaremos el token de autenticación que previamente guardamos en nuestro bloc de notas y seleccionamos “True” del campo “Active“. Posteriormente damos clic en el botón “Save“, si esperamos un momento podremos ver como se ha colocado “en linea” nuestro CWC, tal como se muestra en la fig.12.

fig.12 Asignando el Auth Token de nuestro dispositivo al conector WiFi de Cloudino

Por último en el panel de configuración del CWC, accederemos al menú “System Tools” en el apartado “Arduino Connector Support” donde el único campo que modificaremos será “Active“, por default aparece como “False”, nosotros lo cambiaremos a “True” y haremos clic en “save“, con esto se podrá establecer una comunicación bidireccional entre la plataforma cloudino y el CWC fig.13.

fig.13 Activando “Arduino Connector Support”

Programando el Arduino Uno vía remota

En este punto ya tenemos todo lo necesario para regresar a nuestra cuenta de cloudino.io y empezar a crear el programa blink.

Una vez en el panel de Cloudino daremos clic en nuestro dispositivo (“Mi Cloudino”) y lo primero que notaremos es que la plataforma reconoce nuestro dispositivo “en línea” indicándonos “online ” con color verde a lado de su nombre fig. 14.

fig.14 Dispositivo “online”, listo para programar

Acto seguido iremos a la parte superior-derecha del panel para localizar un ícono similar a este: </>, al darle clic se desplegará un menú donde veremos la sección de ejemplos los cuales están divididos en 2 categorías que son Arduino y CloudinoJS en nuestro caso la que nos importa es Arduino fig.15.
La sección CloudinoJS contiene los ejemplos más representativos de Arduino en código JavaScript (eso lo veremos en próximas publicaciones).

fig.15 Programas de ejemplo con programación Arduino

Si seguimos una ruta como la siguiente: Examples -> Basics -> Blink -> Blink.io (como en el IDE Arduino) abriremos un pequeño editor de código para cargar el programa al Arduino mediante el Cloudino Wifi Conector (Asociado al dispositivo “Mi Cloudino”).
En esta parte podremos cargar el programa con presionar el botón “Send” pero en ocasiones el Arduino Uno viene precargado con el programa blink por esta razón editaremos el tiempo en la instrucción delay a un lapso diferente de 1 segundo para verificar que realmente se ejecuta el programa blink con el intervalo que le indiquemos.
Para editar el código solo presionamos el botón “Clone to Sketchers” fig. 16 ya que al ser un programa de ejemplo en la plataforma cloudino, no se puede modificar.

fig.16 Pantalla de código del dispositivo “Mi cloudino”

Una vez en el editor de código Cloudino, dejaremos solamente las líneas que son de utilidad para que funcione nuestro programa, cambiaremos el tiempo que el LED del Arduino Uno estará encendido y apagado, por ejemplo en esta ocasión está definido a 500 mili-segundos para ambas acciones, pero se puede colocar el tiempo que se desee, el código es el siguiente:

//setup() Función para configurar las entradas y salidas del Arduino
void setup() {
//Se define el pin digital 13 como una salida para encender el LED
  pinMode(13, OUTPUT);
}
//loop() Función que repite el código que esta dentro de las llaves de manera indefinida
void loop() {
//Escribimos en alto el pin 13 para encender el LED
  digitalWrite(13, HIGH);  
//Tiempo de retardo para mantener el LED encendido 
  delay(500);              
//Escribimos en bajo el pin 13 para apagar el LED
  digitalWrite(13, LOW);    
//Tiempo de retardo para mantener el LED apagado
  delay(500);             
}

El editor de código se verá como en la fig.17, una vez que terminamos de editar el código tendremos que guardarlo con el botón “Save Sketch” y compilarlo con el botón “Compile Sketch” para asegurarnos que no contenga errores de sintaxis, (así como lo haríamos en el IDE de Arduino) de no tener ningún error aparecerá el mensaje “ Done compiling: Done compiling“, en caso contrario habrá que validar cuál fue nuestro error.

fig. 17 Editor de código Arduino

Por último vamos a cargar el programa a la tarjeta Arduino en 3 pasos:

1. Damos clic en el nombre del dispositivo, en este caso es “Mi Cloudino”.
2. En el panel de Cloudino que se nos muestra, damos clic en la pestaña “Upload Sketch”.
3. Al abrise la sección “Upload Sketch”, en el campo “Upload from Sketcher” elegimos el programa a subir, es decir el programa blink que editamos, y presionamos el botón “Upload Sketcher“.

El campo “Console” desplegará el proceso de carga del programa y finalizará con un “Arduino Update OK” fig.18. En caso contrario habrá que validar la correcta conexión de la tarjeta Cloudino con Arduino Uno.

fig.18 Programa cargado en la tarjeta Arduino Uno

Si todo ha salió bien veremos como nuestra tarjeta Arduino Uno enciende y apaga el LED con el tiempo que se definió fig.19. En este ejemplo use una tarjeta basada en el microcontrolador ATMEGA328 que se llama OSEPP Uno destinada a la robótica sin embargo la programación es 100% compatible con Arduino Uno.

fig.19 Muestra de programa blink en OSEPP Uno

A partir de este ejemplo podemos concluir algunos puntos importantes:

1. Ya podemos cargar programas a la tarjeta Arduino desde cualquier parte del mundo con acceso a internet, incluso desde un teléfono celular o tableta.
2. Podemos reemplazar el LED por algún actuador para activarlo o desactivarlo de manera remota.
3. Seremos capaces de programar tarjetas Arduino sin necesidad de descargar software e instalar drivers, solamente tenemos que contar con internet y una cuenta en la plataforma Cloudino.

Considerando estos puntos podemos empezar a realizar nuestros proyectos de internet de las cosas de hecho si ya se tiene experiencia con Arduino, lograremos practicar con los ejemplos que nos provee la plataforma Cloudino.
Cabe mencionar que eso no es todo el potencial de la tarjeta Cloudino así que en próximas publicaciones veremos mas ejemplos como el monitoreo y control de variables en tiempo real desde la plataforma Cloudino.

Espero que esta breve demostración paso a paso haya sido de utilidad para los estusiastas de la tecnología, gracias por sus comentarios. Nos vemos en la siguiente entrada de este blog.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s