Introduction: Mi Primer Proyecto IoT (my First Iot Project)

About: Engeneer , DIY maker and Entrepreneur... #enginner #maker #passionate

Intro

We are going to use a Wemos D1 mini (nodemcu alternative based in ESP-8266) module and a blynk platform to create our first Iot (Internet of things) creation. This is a simple (easy), confidence and cheap way to do it.

In our example we don’t need anything more because we use only one element of hardware.

We gonna use blynk app to control (turn on-off) the Wemos build-in LED (onboard led).

Blynk is an app multiplatform (works with Arduino and IOS) that allows you to connect and control your device by internet (the cloud). It is one of a lot of apps to IoT.

With this project you learn enough to start with the IoT applications.

Introducción

En este artículo vamos a crear nuestra primera aplicación IoT o nuestro primer proyecto de internet de las cosas (internet of things).

Vamos a necesitar solamente un elemento de hardware (Wemos d1 mini)y una aplicación en el celular (blynk).

Nuestra aplicación permitirá encender y apagar un led a distancia mediante internet o la nube. Es decir controlar, en resumidas cuentas, un dispositivo. En este caso, para el ejemplo, utilizamos el mismo led que trae la placa del Wemos.

Wemos D1 mini es una placa muy compacta pero poderosa que nos permitirá introducirnos en el mundo del IoT. Está basado en el famoso chip esp-8266 que nos permite conectarnos a internet vía WiFi.

Por otro lado Blynk es una aplicación multiplataforma, es decir que la podemos utilizar en nuestro dispositivo con Android o en cualquier dispositivo IOS como nuestro iPhone. Esta es una de las muchas aplicaciones que existen que nos permiten utilizar nuestro celular como medio de control y monitoreo de nuestro dispositivo conectado a la nube. En este caso me gusta porque puedes crear de manera sencilla tu aplicación e incluso publicarla para poder comercializarla si ese es el caso. Esto lo convierte en una plataforma muy atractiva. Para un usuario común es gratis.

Este proyecto te servirá para comenzar con tus aplicaciones IoT y a partir de aquí ir desarrollando nuevas y mejores aplicaciones.

Step 1: Recursos

Hardware:

· Wemos D1 mini Board u otro dispositivo similiar como ser Nodemcu.

Software (gratuito):

· Arduino IDE.

· Blynk App (Android/IOS).

Herramientas:

· Computadora personal o notebook.

· Teléfono Smart con Android o IOS.

Step 2: Instalar Y Configurar Blynk

El primer paso es instalar la aplicación de Blynk en nuestro teléfono. En internet hay varios tutoriales, necesitaremos un mail para registrarnos. Luego añadiremos un dispositivo nuevo, en este caso que llamaremos “My first Iot App”. Y lo asociaremos a la placa que vamos a usar, Esp8266 y WiFi para conectarnos a la red.

En internet hay varios tutos para poder crear cuenta de Blynk y que muestra cómo usarlos, a nosotros nos interesa porque es fácil para comenzar, es gratis y no necesitas saber mucho más de programación. Cualquier persona lo puede usar.

Blynk al igual que otras aplicaciones similares utiliza un “token” que es un código único largo que nos da identidad dentro de la aplicación y también es único lo que nos da seguridad.

En nuestro proyecto, que vamos a llamar “LedOnBard” nuevo utilizaremos un botón que ubicaremos en la pantalla de la manera que más nos guste. Y también un led. El botón lo vamos a utilizar para ejecutar la acción de “prender el led” y el led es para que cuando el hardware “esp8266” detecte que la salida está en alto, nos de la confirmación “feedback” que el led está encendido. De otra manera no sabríamos si se encendió o no el led. Es decir el esp8266 nos da una suerte de retroalimentación para saber el estado del led. Esto es muy importante en los proyectos electrónicos de control.

Ahora tenemos que configurar los elementos que utilizaremos para el control de nuestro proyecto, primero el led. En este caso vamos a asignar a este elemento una variable virtual o pin virtual. Es decir que el valor que toma el led está relacionado con el valor que guardamos en esta variable. En este caso elegimos la variable “V3”. Que es tomada como “input”.

Luego el botón, el botón lo asociamos a un pin Virtual “V2” y es una salida “output”. En este caso puede tomar los valores 1 o 0.

Hasta aquí solo hemos configurado la aplicación pero no hemos visto nada del Hardware, es decir no hemos configurado el esp8266 por lo que la aplicación aparece como desconectada. Esto se ve en la parte superior del Dashboard.

Step 3: Wemos D1 Mini “Esp8266”

Wemos D1 mini “Esp8266”

Ahora vamos a proceder a configurar el hardware. Utilizamos una placa “board” que lleva integrada el “esp8266”. En esta caso el Wemos pero puede ser un “Nodemcu”. Esta placa nos permite conectarnos a internet vía WiFi.

Básicamente tememos que cargar a la placa un programa. Este programa utiliza una librería que nos permite por un lado conectarnos a la nube de internet y por el otro relacionarnos con la app que usamos para el control, en este caso Blynk.

Antes de poder cargar el programa o código de programa tenemos que instalar un IDE, es decir un entorno de desarrollo que nos permita interactuar con la placa. En este caso utilizamos el IDE de Arduino, debemos instalarlo e instalar unas librerías así como un interpretador para la placa o board “shield” que usamos. El Wemos, para que pueda ser leído por nuestro puerto usb necesita un interpretador.

Pasos:

a. Visitar página del fabricante de la página Wemos d1 mini. En esta página tendrán toda la información de relevancia de la placa. Link: https://wiki.wemos.cc/products:d1:d1_mini

b. Deberán descargar e instalar de esta página el driver o interpretador que nos permite que la computadora se comunique con la placa mediante el puerto USB. EL chip que utiliza la placa es llamado CH341, es el chip que realiza este trabajo. Una vez instalado el driver, cuando conectamos la placa la computadora lo vera como un periférico conectado a uno de los puertos COM de comunicaciones.

c. Tenemos que instalar el BoardManager para wemosd1mini. Esto lo hacen desde el IDE de arduino entrando en la pestaña >> Herramientas (Tools) >> Placa (board) >> Gestor de Tarjetas (boardmanager) y luego buscas e instalan la última librería de tarjetas para “Esp8266”. Revisen que figuren la que Uds. utilizan, en este caso, la placa de wemos o nodemcu.

De otra manera pueden descargar la librería de la página de github e instalarla. Hay que descargar la última actualización y probar. Puede ser que no funcione, en ese caso hay que instalar una versión anterior que funcione. A veces no funciona y hay que probar varias veces. Link: https://github.com/esp8266/Arduino

d. Y luego debemos instalar las librerías de Blynk y de esp8266 en Arduino IDE desde la pestaña >>Programa >>Incluir librería >> administrador de bibliotecas y buscan estas dos librerías. Si hay problemas de compatibilidad de versiones puede que genere errores, eso se soluciona probando las librerías sino usando las anteriores. También podemos descargar las librerías desde https://github.com/blynkkk/blynk-library/releases. También podemos ver ejemplos de código de Blynk en https://examples.blynk.cc/.

Step 4: Código

Una vez que pudimos completar los

pasos anterior podemos conectar el Wemos a nuestro puerto USB y abrir el IDE de Arduino para empezar a trabajar. Nos fijamos en que puerto esta la placa COM1, COM2, COM3, etc. Y luego de la lista elegimos la placa Wemosd1mini y hay una serie de parámetros a configurar. Si todo va bien no habría que tocar más nada, sino funciona hay que empezar a buscar que error puede ser con la ayuda del código que nos tira el IDE.

A nosotros nos funcionó con esta configuración pero a veces cambian las librerías y hay que probar hasta que funcione:

Bueno dicho lo anterior, el código:

------Inicio Código----

/*************************************************************

Arduinominilabs

Encendido apagado led de placa wemos

*************************************************************/

//Librerías

//link: https://github.com/esp8266/Arduino

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.

// Go to the Project Settings (nut icon).

char auth[] = "3b1a6ae00f5740a0bf0a7axxxxxxxxxx";

// Your WiFi credentials.

// Set password to "" for open networks.

char ssid[] = "mi_red";

char pass[] = “mi-contraseña";

const int ledAzul=2;

int ledAzulState=LOW;

WidgetLED led1(V3); //register to virtual pin 1

BLYNK_CONNECTED(){

Blynk.syncVirtual(V2); //sincronizo los dos pin virtuales que en este caso corresponden a dos botones en blynk.

}

BLYNK_WRITE(V2){ //lee el estado del servidor y sincroniza al último estado ..es decir "V2 escribe sobre el nodemcu". TRANSMITE AL NODECMU

ledAzulState=param.asInt();

digitalWrite(ledAzul,ledAzulState);

}

void setup()

{

// Debug console

Serial.begin(9600);

pinMode(ledAzul,OUTPUT);

Blynk.begin(auth, ssid, pass);

// You can also specify server:

//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);

//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);

Blynk.notify("Sistema Iniciado");

}

void loop()

{

Blynk.run();

if (digitalRead(ledAzul)==LOW)

{

led1.on();

}else{

led1.off();

}

}

-----fin código------

Step 5: Funcionamiento

Si todo salió bien deberíamos conectar la placa “Wemos”, deberíamos ir a Blynk y veríamos que se realizó con éxito la conexión.

Ahora el funcionamiento es el siguiente:

· Con el botón On/Off de Blynk enviamos la señal vía internet a Wemos para que encienda y/o apague el led integrado a la placa.

· Para tener una confirmación de que se envió el dato al pin en el que está conectado el led ponemos un led virtual que se enciende cuando la placa envía la confirmación.

· Si por algún motivo la placa se desconecta, cuando vuelva a iniciar va a buscar el último estado que teníamos en Blynk y se va a sincronizar con él.

video

Como ven es bien sencillo el funcionamiento pero es una aplicación completa para nuestro primer proyecto y lo que sirve es el concepto.

Step 6: Conclusiones

En resumen, en los proyectos Iot es muy importante

interactuar con la aplicación, placa en este caso, pero es también muy importante tener feedback del estado de la placa o de los pines o de las variables. De otra manera podemos creer que enviamos un dato y que la placa lo recibe pero no tenemos confirmación de ello. Es muy importante la retroalimentación.

En este artículo vimos algo muy simple pero es fácil convertirlo en una aplicación, encender el led representa controlar cualquier pin de salida de la placa. Así podemos controlar ya sea leds, relés, etc. De esta manera podemos controlar cualquier elemento o máquina que queramos. O crear una aplicación personalizada.

Step 7: Referencias Y Palabras Clave

A continuación, dejamos una lista de enlaces con otros

proyectos similares que hemos encontrado.

· Wemos Electronics Page - https://wiki.wemos.cc/products:d1:d1_mini

· The Ultimate Guide To Starting Your First IoT Project - https://hackernoon.com/the-ultimate-guide-to-star...

· Internet of Things (IoT) History - https://www.postscapes.com/internet-of-things-his...

· My First IOT (Internet Of Things) project - https://medium.com/@mr_prateekjain/my-first-iot-i...

· Create your first Internet of Things application in under 30 minutes with IBM Bluemix - https://yourstory.com/2015/03/internet-of-things-...

· Wemos D1 ESP8266 WIFI - https://www.prometec.net/wemos-d1-esp8266-wifi

· Blink a LED With Blynk App (Wemos D1 Mini Pro) - https://www.instructables.com/id/Blink-a-LED-With...

Keys:

· Mi primera aplicación de internet de las cosas

· Mi first Iot Application.

· Controlar placa vía internet

· Control electrónico a través de internet.

· Mi primera aplicación usando Wemos o Nodemcu.

· Create Your First IoT Application easely

· Build your first IoT application

· smart home application iot