Una de las grandes ventajas que tiene esta placa es que incorpora un módulo WiFi integrado. Esto nos permite comunicar con otros dispositivos para enviar y recibir información. Ya te hablé de cómo configurar el entorno de desarrollo y probar a encender un LED. En este artículo vamos a Arduino MKR1000 WiFi paso a paso, para obtener todo el potencial que nos brinda.
Si estás interesado en profundizar sobre los dispositivos del IoT, no te pierdas el curso donde aprenderás a crear el tuyo propio.
Arduino MKR1000 WiFi paso a paso
Comenzamos a configurar esta placa para poder conectarla a nuestra red local. Lo vamos a hacer en 3 sencillos pasos que te detallaré a continuación.
- Instalar librería WiFi101 en el IDE oficial
- Comprobar conexión con Arduino MKR1000 WiFi
- Probar la configuración encendiendo un LED
Paso 1: instalar librería WiFi101 en el IDE oficial
Para configurar la Arduino MKR1000 WiFi debemos de utilizar la librería WiFi101 que nos proporciona el IDE oficial. Por defecto esta librería no viene instalada en el entorno de desarrollo y debemos de instalarla a través del Gestor de Librerías que se encuentra en Programa>Incluir Librería>Gestor de Librerías…
Se nos abrirá una nueva ventana donde podemos buscar cualquier librería que queremos instalar. En la parte superior aparecen dos selectores y una caja de texto donde podemos escribir un filtro de búsqueda. Escribimos «wifi101» y automáticamente se filtra por ese patrón.
Ya solo nos queda seleccionar e instalar. Asegúrate que la versión que vas a instalar es la 0.8.0 o superior. Si no te permite instalar esta versión te recomiendo que vayas al repositorio de GitHub y que descargues la última versión. En el momento que estoy escribiendo estas líneas la versión actual es la 0.9.0.
Tras la instalación puedes comprobar los archivos que se han descargado a tu máquina. En Windows los encontrarás en %userprofile%\Documents\Arduino\libraries\WiFi101. En esta carpeta es donde tienes que poner el código que te has descargado de GitHub en el caso de que el Gestor de Librerías no te proponga una versión igual o superior a 0.8.0
Paso 2: comprobar conexión con Arduino MKR1000 WiFi
Ahora nos toca comprobar que todo funciona bien. Vamos a utilizar un código de ejemplo que viene dentro del entorno de desarrollo. Si accedes a Archivo>Ejemplos>WiFi101>CheckWifi101FirmwareVersion abrirá un Sketch.
Cargas el Sketch en la placa y abres el monitor serie. El resultado debe ser algo parecido a esto.
Si obtienes otro resultado revisa los pasos anteriores para comprobar que todo está correctamente.
Paso 3: probar la configuración encendiendo un LED
Ahora llegamos a lo realmente interesante, poder controlar el Arduino MKR1000 WiFi a través de un navegador web. Lo vamos a hacer cargando un Sketch SimpleWebServerWiFi de ejemplo. Nos vamos a Archivo>Ejemplos>WiFi101>SimpleWebServerWiFi y abrimos el Sketch.
En este código hay que hacer una serie de modificaciones. Lo primero es conocer el SSID (nombre de la red) y la contraseña de la red WiFi a la que vas a conectar el Arduino MKR1000. Sustituyes los valores yourNetwork por tu SSID y secretPassword por la contraseña.
1 2 |
char ssid[] = "yourNetwork"; // your network SSID (name) char pass[] = "secretPassword"; // your network password |
Además de esta modificación hay que cambiar el pin que vamos a encender y apagar a través de una web. En el ejemplo viene por defecto el pin 9, en el caso del Arduino MKR1000, el LED integrado dentro de la placa está asociado al pin 6, por lo tanto hay que modificar todas las referencias que encontremos en el código de ejemplo.
En la línea 35 encontrarás esto
1 |
pinMode(9, OUTPUT); // set the LED pin mode |
Deberás sustituirlo por esto
1 |
pinMode(6, OUTPUT); // set the LED pin mode |
En la línea 80 encontrarás esto
1 |
client.print("Click <a href=\"/H\">here</a> turn the LED on pin 9 on<br>"); |
Deberás sustituirlo por esto
1 |
client.print("Click <a href=\"/H\">here</a> turn the LED on pin 6 on<br>"); |
En la línea 81 encontrarás esto
1 |
client.print("Click <a href=\"/L\">here</a> turn the LED on pin 9 off<br>"); |
Deberás sustituirlo por esto
1 |
client.print("Click <a href=\"/L\">here</a> turn the LED on pin 6 off<br>"); |
En la línea 98 encontrarás esto
1 |
digitalWrite(9, HIGH); // GET /H turns the LED on |
Deberás sustituirlo por esto
1 |
digitalWrite(6, HIGH); // GET /H turns the LED on |
En la línea 101 encontrarás esto
1 |
digitalWrite(9, LOW); // GET /L turns the LED off |
Deberás sustituirlo por esto
1 |
digitalWrite(6, LOW); // GET /L turns the LED off |
Con las modificaciones que has hecho, ya puedes cargar el Sketch a tu placa, pero antes abre el monitor serie, en él aparecerá la IP a la que te debes conectar para encender y apagar el LED.
Copia y pega esa IP con el http:// en un navegador y se abrirá una página web como esta.
Prueba a encender y a apagar el LED, increíble ¿verdad? Aún queda algo más increíble. Con una batería de más de 700 mAh y de 3,7V, puedes controlar el LED sin que el Arduino MKR1000 esté conectado al ordenador, es totalmente autónomo y sin cables, es el dispositivo del IoT más simple que podemos hacer.