martes, 27 de diciembre de 2016

Integración de Blynk con la Estación Meteorológica Casera

En este artículo vamos a integrar Blynk con la Estación Meteorológica Casera publicada en el blog hace unos días. El esquema será el mismo pero en vez de utilizar thinger.io para mostrar los resultados utilizaremos Blynk:


lunes, 26 de diciembre de 2016

Introducción a Blynk

Blynk es una aplicación para smartphone que permite interactuar con hardware conectado a Internet. Funciona con una amplia variedad de plataformas incluyendo Raspberry Pi, Arduino + Ethernet Shield, y ESP8266.


Nueva versión del IDE de Arduino

Se ha publicado una versión nueva de Arduino IDE, que trae como principal novedad que es compatible con todas las versiones y placas del proyecto arduino.


Esto quiere decir que tanto las placas del proyecto Arduino.org como las placas del proyecto Arduino.cc serán reconocidas por esta nueva versión. Además soporta las placas con el núcleo SAMD que incluyen las nuevas placas MKRZero y MKR1000.

Enlace de descarga: https://www.arduino.cc/en/Main/Software

domingo, 18 de diciembre de 2016

Estación meteorológica casera

Este es un proyecto que, aunque oficialmente lo publico hoy, llevo ya algún tiempo realizando artículos sobre varios sensores que miden parámetros como la temperatura, la presión o la humedad relativa. En las fuentes de este artículo incluiré todos aquellos que guardan relación con este proyecto.

La idea es realizar una estación meteorológica que mida parámetros como los ya mencionados y que sean accecibles a través de internet.

Inicialmente, voy a medir la temperatura, la humedad relativa, la presión atmosférica y la altitud utilizando un DHT22 y un BMP180. Será controlado por un módulo ESP8266 y subirá los datos obtenidos a la plataforma thinger.io

El esquema es el siguiente:

Makers: la ciencia de los aficionados

Documental sobre el mundo Maker emitido por la 2 de rtve.


Los makers idean objetos, los fabrican y los controlan a través de microchips. Crean también nuevas formas de vida gracias a la manipulación genética. Para ellos es fundamental la impresión en 3D. Es un gran avance aplicado al sector de la alimentación o la construcción, se podrían levantar edificios en 3D en pocos días, incluso en la luna. Y también muy útil en los países desfavorecidos y las zonas catastróficas, para producir el material médico que requiera una situación.

Enlace: http://rtve.es/v/3834378

domingo, 11 de diciembre de 2016

Introducción a thinger.io

Cuando creamos proyectos IoT con Arduino, tenemos varias maneras de monitorizar los datos que captamos a través de los sensores. La más básica y que requiere tener el dispositivo conectado a un ordenador es a través del monitor serie. Si tenemos algún display como un LCD o una pantalla TFT, ya podremos desconectar el Arduino del ordenador y llevarlo a cualquier sito. Pero existe una tercera opción, quizás la más idónea, para poder ver los datos y la información, utilizar una plataforma para proyectos del IoT.

Yo ya he utilizado en alguna ocasión la plataforma Thingspeak pero ahora voy a realizar las primeras pruebas con thinger.io

sábado, 10 de diciembre de 2016

Presentación del módulo ESP32

El módulo ESP32 es, bajo mi punto de vista, una evolución del ESP8266 ya que, entre otras ventajas, incorpora Bluetooth. Así lo podemos ver en las web del fabricante Espressif.


Módulo LoLin y HC-SR04

En el artículo Sensor ultrasónico HC-SR04 comenté que este módulo se alimenta con un voltage de 5v por lo que no se podía conectar directametne a los módulos ESP8266 pero esto no es del todo cierto.

Si has leído el artículo que he publicado recientemente sobre el NodeMCU dev kit v3 de LoLin habrás visto que disponen de una salida de 5v conectada al puerto USB, y es esta particularidad de este módulo la que vamos a aprovechar para alimentar nuestro HC-SR04



viernes, 9 de diciembre de 2016

Diodos LED RGB

En este artículo vamos a "jugar" un poco con los diodos led RGB.

Un LED RGB es en realidad la unión de tres LEDs de los colores básicos (Red-Green-Blue), en un encapsulado común, compartiendo el Ground (cátodo).  En función de la tensión que pongamos en cada pin podemos conseguir la mezcla de color que deseemos con relativa sencillez.



miércoles, 7 de diciembre de 2016

NodeMCU dev kit v3 de LoLin

NodeMCU dev kit v3 de LoLin ha sido el módulo que he estado utilizando desde hace tiempo y es la base de los artículos que he publicado sobre los módulos ESP8266. En este artículo voy a tratar de explicar de forma resumida qué son los módulos ESP8266 y en que se diferencia el NodeMCU dev kit v3 de LoLin del resto de módulos.


domingo, 4 de diciembre de 2016

Sensor ultrasónico HC-SR04

El sensor ultrasónico HC-SR04 es un módulo que incorpora un par de transductores de ultrasonido que se utilizan de manera conjunta para determinar la distancia del sensor con un objeto colocado enfrente de este. 



sábado, 3 de diciembre de 2016

Sensor de presión atmosférica BMP180

El sensor BMP180 es un sensor de presión atmosférica de alta precisión diseñado para ser conectado directamente a un microcontrolador a través de un bus I2C. 

La presión atmosférica es la fuerza que ejerce el aire (atmósfera) sobre la superficie de la tierra por lo que a mayor altura la presión atmosférica es menor. La presión atmosférica también varía con el clima, principalmente con la temperatura, pues esta hace cambiar la densidad del aire, que se ve reflejado en un cambio en el peso y por consiguiente en un cambio de presión. Otros factores que influyen es la humedad y el viento que también influye en la presión pero su influencia es mucho menor y se suele discriminar.

El sensor BMP180 es capaz de leer presión barométrica (absoluta) y temperatura. Por medio de cálculos matemáticos es capaz de detectar diferencias de alturas ya que, como mencionamos, la presión atmosférica es inversamente proporcional a la altura sobre el nivel del mar, es decir, a medida que nos elevamos decrece la presión. 




Utilizando el DHT22

El sensor DHT22 es un sensor de temperatura de mayor precisión que el DHT11.




Resumen de esta semana

A continuación detallo los artículos incluídos en las diferentes páginas de este blog durante las últimas semanas:



Arduino:
ESP8266
Raspberry Pi 

viernes, 2 de diciembre de 2016

Modificar la apariencia del IDE oficial de Arduino

En esta entrada voy a explicar como modificar la apariencia del IDE de Arduino.

De forma estándar, el IDE de Arduino tiene este aspecto:


La verdad es que me gustan los IDE con fondos oscuros por lo que he investigado un poco como modificarlo.

La apariencia del IDE se puede modificar si modificamos el theme de la aplicación. Si accedemos a la carpeta de arduino, subcarpeta lib vemos una carpeta denominada theme. En esta carpeta es donde se guardan los diferentes ficheros que conforman la apariencia del IDE. Yo particularmente recomiendo renombrar esta carpeta por si no nos gusta el resultado final volver al original.

Si mal no recuerdo, yo me basé en este theme dark y realicé algunas modificaciones. Mi tema personal lo puedes descargar de este enlace. Lo guardas en la carpeta lib y lo descomprimes con lo que obtendrán una nueva carpeta denominada theme.

Ejecuta el IDE y obtendrás este aspecto:


En la red hay muchas otras modificaciones. Solo tienes que buscar arduino theme dark en google y te saldrán un montón de resultados

miércoles, 30 de noviembre de 2016

Medida de Temperatura/Humedad y publicación en Thingspeak

Esta práctica ya la he realizado utilizando LUA pero en este artículo voy a programar el módulo ESP8266 con el IDE de Arduino. El esquema es sencillo:


Yo dispongo de este módulo que solo dispone de tres conectores pero no he encontrado su esquema:


Si deseas más información sobre estos módulos consulta este artículo 

Para programarlo utilizo la librería SimpleDHT11 que puedes instalar haciendo click en Programa - Incluir librerías - Gestionar librerías. Buscamos dht y elegimo SimpleDHT:


Para añadirlo a nuestro proyecto:
#include <SimpleDHT.h>

Hemos conectado el pin DATA del módulo DHT11 en el puerto D0 del módulo ESP8266 que corresponde con GPIO16.
int pinDHT11 = 16;

A continuación declaramos una instancia de la librería para comunicarnos con el sensor:
SimpleDHT11 dht11;

En loop definimos dos variables tipo byte t y h:
byte t = 0;
byte h = 0;


Para leer los datos del sesor utilizamos:
dht11.read(pinDHT11, &t, &h, NULL)

y luego la mostramos por el puerto serie. El código completo es el siguiente:

#include <SimpleDHT.h>

int pinDHT11 = 16; // Puerto D0 entrada de datos
SimpleDHT11 dht11; // Modelo de sensor

void setup() {
  Serial.begin(9600);
  delay(500);
}

void loop() {
  byte t = 0;
  byte h = 0;
  if (dht11.read(pinDHT11, &t, &h, NULL)) {
    Serial.print("Error en la lectura.");
    return;
  }
  // Muestra por el puerto serie las medidas obtenidas
  Serial.print("Humedad relativa: ");
  Serial.print((int)h);
  Serial.print(" %\t");
  Serial.print("Temperatura: ");
  Serial.print((int)t);
  Serial.println(" *C");
  //El sensor realiza la lectura cada 20 segundos
  delay(20000);
}


Con este código obtenemos las siguientes lecturas:



Publicación en Thingspeak
ThingSpeak es una plataforma Open Source para conectar productos y servicios al Internet de las Cosas (IoT). Permite a los desarrolladores interactuar con los dispositivos utilizando tecnologías Web estándar.

En este artículo obtendrás más información de esta plataforma y de cómo darte de alta.

Vamos instalar la librería de ThingSpeak en el IDE de arduino. Hacemos click Programa - Incluir librería - Gestionar Librerías y en búsqueda escribimos thingspeak


Hacemos click en instalar y listo. Ahora, para añadir la librería a nuestro proyecto:
#include <ThingSpeak.h>

Además, incluimos la librería ESP8266WiFi:
#include <ESP8266WiFi.h>

Definimos los valores de nuestra wifi y creamos una instancia de WiFiClient:
const char* ssid = "WLAN_E17C";
const char* password = "ced0ccb58c84e525e35f";
WiFiClient  client;


Ademas definimos los valores de nuestro canal en ThingSpeak:
unsigned long myChannelNumber = NUMERO_CANAL;
const char* myWriteAPIKey = "API_kEY";

En NUMERO_CANAL y API_KEY teneis que introducir los datos de vuestro canal

En setup() establecemos la conexión wifi e inicializamos ThinkSpeak:
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {   // wait for WiFi
  delay(500);
  Serial.print(".");
}
ThingSpeak.begin(client);


Para enviar los datos de temperatura y humedad a ThingSpeak utilizamos:
ThingSpeak.setField(1,(int)t);
ThingSpeak.setField(2,(int)h);
ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);


Si solo necesitamos enviar un dato (por ejemplo la temperatura) podríamos utilizar:
ThingSpeak.writeField(myChannelNumber, 1, (int)t, myWriteAPIKey);

ThingSpeak solo acepta actualizaciones cada 15 segundas como mínimo

El código completo es el siguiente:

#include <SimpleDHT.h>
#include <ThingSpeak.h>
#include <ESP8266WiFi.h>

const char* ssid = "SSID";
const char* password = "PASSWORD";
WiFiClient  client;
unsigned long myChannelNumber = NUMERO_CANAL;
const char* myWriteAPIKey = "API_KEY"; // API Key del canal
int pinDHT11 = 16; // Puerto D0 entrada de datos
SimpleDHT11 dht11;

void setup() {
  Serial.begin(9600);
  WiFi.mode(WIFI_STA); //Establece el módulo como cliente wifi
  WiFi.disconnect(); //Se desconecta de cualquier WiFi conectado
  delay(100);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {   // wait for WiFi
    delay(500);
    Serial.print(".");
  }
  ThingSpeak.begin(client);
}

void loop() {
  byte t = 0;
  byte h = 0;
  if (dht11.read(pinDHT11, &t, &h, NULL)) {
    Serial.print("Error en la lectura.");
    return;
  }
  // Muestra por el puerto serie las medidas obtenidas
  Serial.print("Humedad relativa: ");
  Serial.print((int)h);
  Serial.print(" %\t");
  Serial.print("Temperatura: ");
  Serial.print((int)t);
  Serial.println(" *C");

  // Envía los datos a ThinkSpeak
  ThingSpeak.setField(1, (int)t);
  ThingSpeak.setField(2, (int)h);
  ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey); 

  delay(20000);
}


El resultado que obtenemos es el siguiente:


Fuentes:
Enlaces:

sábado, 26 de noviembre de 2016

ESP8266: Diagnóstico WiFi y dirección MAC

El siguiente código muestra por el puerto serie un diagnóstico de estado del Wifi y la dirección MAC del dispositivo ESP8266:

#include <ESP8266WiFi.h>

void setup() {
  Serial.begin(115200);

  Serial.print("\nDiagnóstico...\n");
  WiFi.printDiag(Serial);
  Serial.println();


  Serial.printf("MAC Address = %s\n", WiFi.softAPmacAddress().c_str());
}

void loop() {
}

El diagnóstico utilizan el comando WiFi.printDiag(Serial). En mi caso, me devuelve por el puerto serie:

Diagnostic...
Mode: STA+AP
PHY mode: N
Channel: 1
AP id: 0
Status: 1
Auto connect: 1
SSID (10): arduino-er
Passphrase (8): 12345678
BSSID set: 0

MAC: 18:FE:34:E0:3A:58

Mode: Nos indica el modo de funcionamiento del módulo WiFi. Puede tomar tres valores:
  • STA (Station): Modo Estación o modo cliente.
  • AP (Access Point): Modo punto de acceso
  • STA+AP: Mixto
Para establecer el modo de funcionamiento se utiliza la instrucción WiFi.mode(valor); donde valor puede tener los valores:
  • WIFI_STA  : Modo estación
PHY mode: nos indica el estándar 802.11 (el que regula las redes locales inalámbricas) configurado en el módulo. Puede tomar los valores:
  • B: 802.11b
  • G: 802.11g
  • N: 802.11n
Channel: Nos indica el canal que está utilizando el módulo Wifi. Cuando se definió el standard IEEE 802.11 se especificó también los tres rangos de frecuencia disponibles para los dispositivos que desearan emitir de esta forma: 2.4 GHz, 3.6 GHz y 5 GHz. La mayoría de dispositivos actuales operan, por defecto, en la franja de frecuencias cercana a 2.4 GHz, Cada rango de frecuencias fue subdividido, a su vez, en multitud de canales. Para 2.4 GHz, estamos hablando de 14 canales, separados por 5 MHz. Eso sí, cada país y zona geográfica aplica sus propias restricciones al número de canales disponibles. Por ejemplo, en Norteamérica tan sólo se utilizan los 11 primeros, mientras que en Europa disponemos de 13. El problema de esta distribución es que cada canal necesita 22MHz de ancho de banda para operar, y esto produce un solapamiento de varios canales contiguos como se parecía en la siguiente figura:

AP id:

Status: estado de la conexión. Puede tener los siguientes valores:
  • 0 : WL_IDLE_STATUS cuando el Wi-Fi está en proceso de cambiar de estado
  • 1 : WL_NO_SSID_AVAIL en caso de que el SSID configurado no pueda ser alcanzado
  • 3 : WL_CONNECTED después de establecer una conexión satisfactoriamente
  • 4 : WL_CONNECT_FAILED si la contraseña es incorrecta
  • 6 : WL_DISCONNECTED si el módulo no está configurado en el modo de estación
Auto connect:

SSID (n): Nos indica el nombre de la red Wifi configurada en nuestro módulo cuando se establece en modo AP. n nos indica la longitud de dicho nombre

Passphrase (n): Password configurado en el módulo wifi. n nmos indica la longitud de dicho password

BSSID set: es el identificador único de una red wifi y se forma a partir de su dirección MAC

Para obtener la dirección MAC utilizamos la instrucción WiFi.softAPmacAddress().

Fuentes:
ESP8266WiFi Library
https://es.wikipedia.org/wiki/Printf
Módulo wifi

martes, 22 de noviembre de 2016

PlatformIO

PlatformIO, un sistema de desarrollo pensado para la IoT con el que se pueden utilizar diferentes tipos de hardware y marcos de trabajo, ya sea desde un IDE genérico o desde la consola o desde el propio IDE de PlatformIO basado en Atom.


PlatformIO trabaja en base a Atom text editor y Python 2.7, por lo que deberemos de tenerlos instalado.

Para instalar ATOM en nuestro PC lo primero que hay que hacer es ir a su página web y descargarlo. Yo lo voy a instalar en Ubuntu por lo que descargaré la versión .deb


Una vez descargado utilizo GDebi para instalarlo.


Ejecutamos ATOM y hacemos click en Install a Package - Open Installer - Mange Packages y buscamos en Search por PlataformIO



Elegimos platformio-ide (install) y esperamos a que se instala el package.


Hacemos click en Reload now y nos aparece PlatformIO.


Después de algún pequeño problema (CLI Failed to retrieve) y hacer un rebuild package al aparecer este error ya tengo plataformIO correctamente instalado:


Para autocompletar el código instalaremos Clang. Para ello abrimos un terminal y ejecutamos el comando

Sudo apt-get install clang

Cerrarmos ATOM y lo volvemos a abrir.

Nuestro primer proyecto

Hacemos click en nuevo proyecto. Elijo las tarjeta (Arduino UNO o Node MCU 1.0 en mi caso), el directorio del proyecto y presiono el botón Initialize:


 Con el botón derecho sobre la carpeta src - New File y escribimos main.cpp


Escribimos el código de nuestro proyecto, en mi caso el famoso blink:


Para compilar el proyecto, hacemos click en el menú PlatformIO - Buid.


Para cargar el programa en la tarjeta (Arduino UNO) primero debemos conectarla a un puerto usb, comprobar su conexión y darle los permisos necesarios.

En un terminal ejecutamos:

dmesg | grep ttyACM 

que nos devolverá algo así como:

[ 2225.269273] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device

Ahora tendríamos que darle permisos suficientes al puerto ttyACM0 para que nuestro usuario pueda acceder a el a través del IDE (este paso lo tendrás que repetir cada vez que re-conectes el Arduino):

sudo chmod 666 /dev/ttyACM0

Ahora hacemos click en PlatformIO - Upload



Con esto ya podemos realizar nuestros proyectos utilizando este magnífico entorno de programación.

Nota 1: Para programar el módulo Node MCU los comandos que he de introducir desde el terminal son:

dmesg | grep ttyUSB

que en mi caso devuelve:

[ 4533.772296] usb 2-1.5: ch341-uart converter now attached to ttyUSB0
[ 4573.916499] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[ 4578.054790] usb 2-1.2: ch341-uart converter now attached to ttyUSB0



y para dar los permisos:

sudo chmod 666 /dev/ttyUSB0

Nota 2: He de decir que con platformIO podremos programar nuestro arduino en C/C++. Si quieres convertir tu código .ido a .cpp consulta el siguiente enlace. También el programa te da la posibilidad de importar un proyecto .ido automáticamente.

Web: http://platformio.org/
Fuentes:

lunes, 21 de noviembre de 2016

Instalación del IDE de Arduino en Windows 10

La instalación del IDE de Arduino en Windows 10, que es el actual S.O. de mi ordenador, es bastante más sencilla que cuando lo instalé en Windows 7 o en Ubuntu 14.04.

Nos vamos a la web oficial de Arduino, a la sección Download, y descargamos una versión compatible con Windows (en mi caso la versión ZIP)


A continuación, en la siguiente pantalla, nos da la posibilidad de realizar una donación al proyecto antes de la descarga. En mi caso hago click directamente en just download.

Una vez descargado, lo descomprimimos en la carpeta que elijamos:



Una vez tengamos el programa descomprimido, conectamos nuestra tarjeta Arduino (en mi caso una Arduino UNO) al puerto USB. En ese momento Windows 10 identificará la tarjeta e instalará el solito el driver para la tarjeta.

Una vez instalado dicho driver, ya podemos ejecutar el IDE identificando el puerto donde tenemos conectado la tarjeta (En mi caso COM3).

Para poder utilizar el IDE de Arduino con el modulo NodeMCU (ESP8266-12) sigue los pasos que se indican en este artículo.



Una vez realizadas estas operaciones ya estamos en disposición de programar nuestras tarjetas con el IDE de Arduino sobre Windows 10.

sábado, 19 de noviembre de 2016

Google Trends

Estoy suscrito a este canal y hace unos días publicó un vídeo sobre google trends. He realizado esta prueba analizando las búsquedas sobre arduino, Raspberry PI, Intel Edison y ESP8266 en los últimos 5 años.



Los resultados son claros, los reyes del mambo en IoT son Arduino y Raspberry Pi

miércoles, 5 de octubre de 2016

Nueva apariencia para tu Raspberry Pi

Basado en Raspbian, esta renovación se denomina PIXEL y cuenta con una interfaz más pulida, el reemplazo de varios programas, y nuevos fondos de pantalla.


PIXEL equivale a «Pi Improved Xwindows Environment, Lightweight». El primer cambio a destacar es que el «muro de texto» en la inicialización de Raspbian ha sido reemplazado por una «splash screen» que presenta el número de versión. Los desarrolladores aseguran que la presencia de esa pantalla no hará más lento al proceso de arranque, y que los tiempos serán idénticos. Después pasamos a otros elementos estéticos, como las ventanas, los iconos, y los fondos de pantalla. Ligeras curvas en las ventanas, un nuevo diseño de iconos que busca equilibrar la balanza entre productividad y entretenimiento, y un total de 16 nuevas imágenes para decorar el escritorio marcan el ritmo del nuevo PIXEL.

A nivel software, se reemplaza el navegador Epiphany (mejor conocido como Web en entornos GNOME) por Chromium. Se trata de un build de Chromium especialmente preparado para Raspberry Pi, e incluye un par de extensiones que apuntan a mejorar el rendimiento, comenzando con h264ify. Después aparece RealVNC, lo que debería simplificar en gran medida la administración remota del Raspberry Pi, y finalmente, un emulador Sense HAT. 

Descarga PIXEL:Haz clic aquí
Visto en neoteo.com

domingo, 29 de mayo de 2016

Resumen de la semana

Resumen de los últimos enlaces añadidos en las diferentes páginas


Arduino

ATMEGA328
 Proyectos
Artículos
Raspberry Pi

ESP8266

Nueva versión del IDE oficial de Arduino

Ya esta disponible la nueva versión del IDE de Arduino la 1.6.9, esta corrige errores de versiones anteriores y añade nuevas características además de la novedad de que ahora viene con soporte para el nuevo Arduino Yun Shield, el cual permite cargar un programa de forma inalámbrica en cualquier placa que lo permita.


Las novedades según la web oficial de Arduino – Genuino son:
  • La ventana emergente de actualización ya no está siempre en la parte superior, el informe de errores en los programas multitab funciona funciona correctamente, y los flujos de compilación / carga han sido revisados
  • El problema con los puertos serie FTDI en Windows con IDE 1.6.8 se ha reparado
  • El núcleo AVR ahora reconoce si está presente un nuevo gestor de arranque y utiliza una posición segura de la RAM para activar la programación (esto es particularmente importante para los grandes programas)
  • El Arduino Builder ha sido parcheado, y es ahora más rápido y más fácil de usar
Enlace al artículo oficial y web de descarga.

viernes, 20 de mayo de 2016

Nuevo arduino primo

Arduino Primo es el nombre de una placa completamente nueva ‘motorizada’ por el hardware Nordic nRF52, que ofrece todo un compendio de conectividad, ideal para las actividades de formación, sensores de todo tipo, o proyectos relacionados con el Internet de las Cosas.

La nueva placa da soporte a Bluetooth LE (Low Energy), Wi-Fi, NFC, e incluso un puerto de infrarrojos.

Lo dicho, el próximo sábado se sabrá más sobre Arduino Primo, ya que Massimo Banzi - uno de los fundadores de Arduino Project - realizará una charla en el Maker Faire. A la nueva placa se espera que esté disponible en verano. 

Visto en xataka

martes, 26 de abril de 2016

Scratch for Arduino S4A

Prometec está publicando una serie de artículos sobre Scratch for Arduino (S4A) orientado básicamente a la introducción de los niños a la programación.


He añadido los enlaces de los tutoriales que por ahora se han publicado y seguiré añadiendo los enlaces a los futuros tutoriales que prometec publique.