Páginas

Mostrando las entradas con la etiqueta node red IoT. Mostrar todas las entradas
Mostrando las entradas con la etiqueta node red IoT. Mostrar todas las entradas

sábado, 12 de noviembre de 2016

Tutorial ESP8266 Control Servo Node-RED MQTT (Mosquitto) IoT #2



En esta oportunidad se ha realizado la integracion de ESP8266 y la plataforma Node-RED integrando un actuador en este caso un servo controlado por PWM con giro de 0  a 180 grados.
Desde un HMI o SCADA Web creador en Node-Red-Dashboard utilizando como base el Protocolo MQTT y la libreria  pubsubclient convirtiendo el ESP8266 en Cliente MQTT.



Nota: Para realizar correctamente este tutorial debe realizar los siguientes tutoriales.
Tutoriales Anteriores Recomendados
Requerido Programar ESP8266 con Arduino IDE
Tutorial 1: Instalacion de lubuntu ubuntu
Tutorial 2: Instalacion de Node Red
Tutorial 3: Instalacion Dashboard Node Red 
Tutorial 4: Instalacion nodo Modbus TCP en Node red 
Tutorial 5: Instalacion de Mosquitto Broker MQTT en Lubuntu
Tutorial 6: Prueba  ESP8266 y Node-RED MQTT  (Mosquitto)  # 1


Arduino IDE 
Se ha configurado el modulo ESP8266 como cliente MQTT, como suscriptor del topico "servo", el ESP8266 recibira un valor de 0 a 100% y lo convertira de 0 a 180 grados para el control del servo via PWM por el GPIO 02. 


Mosquitto MQTT Broker
Previamente se ha instalado en un equipo con lubuntu (Ubuntu) Linux, el servidor Broker MQTT el cual realiza la gestion de mensajes en la red, se ha utilizado Mosquitto en este caso.  

Node-Red
Se ha creado una secuencia de nodos para envio de datos desde el Dashboard.

Node-RED-Dashboard

Vista Tablet






Materiales 
1 ESP8266 01
1 Regulador LDV33CV  5 a 3.3V
1 Chip FTDI Serial
1 Servo  Mystery control por PWM

Conexiones



Descargas:
Codigo Arduino IDE Github ESP8266 MQTT
Github Libreria pubsubclient
Codigo importacion Node red

Refencias
Requerido Programar ESP8266 con Arduino IDE
Tutorial 1: Instalacion de lubuntu ubuntu
Tutorial 2: Instalacion de Node Red
Tutorial 3: Instalacion Dashboard Node Red 
Tutorial 4: Instalacion nodo Modbus TCP en Node red 
Tutorial 5: Instalacion de Mosquitto Broker MQTT en Lubuntu
Tutorial 6: Prueba  ESP8266 y Node-RED MQTT  (Mosquitto)  # 1
node-red-dashboard
Nodered.org
github.com/node-red
Nodejs.org

Mas Información:

Canal Youtube



miércoles, 9 de noviembre de 2016

Tutorial ESP8266 Control GPIO Node-RED MQTT (Mosquitto) IoT # 1


Para la integración del modulo ESP8266 con la plataforma IoT node-red se ha utilizado el protocolo MQTT, existen librerias para esp8266 como cliente MQTT en este caso he decidido utilizar la libreria pubsubclient.

Este ejemplo permitira recibir que Node red reciba datos desde el ESP8266 y permitira controlar un diodo led conectado al GPIO 02 desde un dashboard creado en Node Red Dashboard.



Agregar a Arduino IDE la libreria pubsubclient utilizando el buscador de librerias o descargando manualmente la libreria y guardandola en su carpeta respectiva para librerias.

Nota: Para realizar correctamente este tutorial debe realizar los siguientes tutoriales.
Tutoriales Anteriores Recomendados
icstation.com
Tutorial 1: Instalacion de lubuntu ubuntu
Tutorial 2: Instalacion de Node Red
Tutorial 3: Instalacion Dashboard Node Red 
Tutorial 4: Instalacion nodo Modbus TCP en Node red 
Tutorial 5: Instalacion de Mosquitto Broker MQTT en Lubuntu
Tutorial 6: Programar ESP8266 con Arduino IDE

Codigo Arduino IDE
el codigo de arduino IDE realiza varios pasos pero definire los principales, conexion con Broker MQTT, funcion de publicar (enviar mensajes ) aun topico especifico y funcion de suscribir (recibir mensajes) aun topico especifico.
Nota: En la parte inferior del post Codigo arduino IDE completo

1.Parametros de Red
Configurar  parametros de red SSID y PASSWORD, se requiere tener previamente instalado un servidor MQTT Broker el cual cumple la funcion de servidor, en este caso yo utilizo Mosquitto MQTT.
const char* ssid = "##############";
const char* password = "###############";
const char* mqtt_server = "192.168.0.19";

2. Función publish ("topic", mensaje) 
 client.publish("event", "hello world");

3.  Función subscribe ("topic")
la funcion  subscribe realiza unllamado a la  funcion callback para la recepcion de datos
  client.subscribe("event");

4. Funcion callback
A esta funcion ingresan 3 parametros propios de la libreria pubsubclient.h  topic, payload (carga) y tamaño, realiza la impresion del topic y el mensaje, para el encendido del diodo led realiza un barrido de payload en una posicion especifica para determinar el estado 1 o 0.

void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();

  // Switch on the LED if an 1 was received as first character
  if ((char)payload[0] == '0') {
     Serial.println("LOW");
    digitalWrite(2, LOW);   // Turn the LED on (Note that LOW is the voltage level
    // but actually the LED is on; this is because
    // it is acive low on the ESP-01)
  } 

 if ((char)payload[0] == '1') {
    Serial.println("HIGH");
    digitalWrite(2, HIGH);  // Turn the LED off by making the voltage HIGH
  }

}


Node red
1 Nodo de Recepcion de mensajes cliente MQTT  (subscribe) desde ESP8266 atravez del topic "event" y depuracion en nodo debug.
2 Creacion de 2 botones  "On" "Off" para envio de valores a nodo MQTT (publish) hacia ESP8266 topic "event"
3 Nodo text de salida de texto para visualizar estado de diodo led.
Nota: En la parte inferior del post codigo de Importación de Nodos en Github




Diseño Dashboard Node red
Organizacion de Widgets en pestañas y Grupos



Visualizacion Dashboard Node red



Conexion ESP8266 








Donde Comprar ?

Descargas:
Codigo Arduino IDE Github ESP8266 MQTT
Github Libreria pubsubclient
Codigo importacion Node red

Refencias
icstation.com
Tutorial 1: Instalacion de lubuntu ubuntu
Tutorial 2: Instalacion de Node Red
Tutorial 3: Instalacion Dashboard Node Red 
Tutorial 4: Instalacion nodo Modbus TCP en Node red 
Tutorial 5: Instalacion de Mosquitto Broker MQTT en Lubuntu
Tutorial 6: Programar ESP8266 con Arduino IDE
node-red-dashboard
Nodered.org
github.com/node-red
Nodejs.org

Mas Información:

Canal Youtube