Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

62 Commits

Repository files navigation

Introducci贸n

Este curso tiene el objetivo de ayudar a los desarrolladores a integrar un dispositivo IoT en la plataforma FIWARE. En este caso se usar谩n los m贸dulos de FIWARE IoT Agent, que gestionan la comunicaci贸n con dispositivos Hardware, as铆 como otra serie de caracter铆sticas (aprovisionamiento de dispositivos, traducci贸n de protocolo o par谩metros, etc.). En este caso concreto emplearemos el protocolo Ultralight 2.0 tanto en el dispositvo como en el IoT Agent.

La placa de desarrollo empleada ser谩 una placa NodeMCU basada en el SoC ESP8266, el cual dado su coste, capacidades y su comunidad, lo hace id贸neo para este curso.

This tutorial has an English Version

Conocimientos previos

Para la realizaci贸n del curso es conveniente disponer de los siguientes conocimientos:

  • C/C++ - Para la programaci贸n del microcontrolador.
  • HTML - Para la interfaz creada por el microcontrolador.
  • API REST / HTTP - Para la comunicaci贸n con el servidor.
  • Electr贸nica b谩sica - Para entender los conceptos y posibilidades de la placa.

ESP8266

Para la realizaci贸n del curso se emplear谩 una placa de desarrollo NodeMCU basada en el SoC ESP8266, que incluye un microcontrolador ARM de 32 bits as铆 como la parte de radio WiFi.

Tables Are
RAM 128KB
ROM 4MB*
N煤mero de pines 13
Alimentaci贸n 3.3V

*La ROM es externa, por lo que depende en concreto de la que tenga instalada la placa de desarrollo. En el caso de la placa NodeMCU es de 4MB.

image alt text

El m贸dulo dispone de un regulador interno de 5V a 3.3V, por lo que se puede alimentar directamente del USB. En algunos casos es conveniente emplear un adaptador externo de corriente, dado que la corriente que da un PC por el puerto USB se encuentra limitada a 500mA.

Tambi茅n dispone de un conversor de USB a USART a 3.3V, empleado para comunicarnos con el m贸dulo y para cargar el firmware a trav茅s del bootloader que dispone.

FIWARE

El objetivo de este workshop es integrar un dispositivo f铆sico en la plataforma FIWARE. Para ello haremos uso del protocolo Ultralight 2.0 y del IoT Agent correspondiente en el lado del servidor.

Los IoT Agents son m贸dulos que adaptan el protocolo concreto que utiliza el dispositivo (Ultralight 2.0, MQTT, etc.) con el protocolo que habla el Context Broker de FIWARE (NGSI).

Configuraci贸n del entorno

En esta secci贸n repasaremos como instalar y configurar los programas necesarios para desarrollar el curso. Ser谩 necesario tener instalados y configurados correctamente los siguientes elementos:

  • Entorno de desarrollo Arduino y las librer铆as necesarias.
  • Postman y la colecci贸n de peticiones de este repositorio.
  • Drivers USB de la placa de desarrollo.

Instalaci贸n y configuraci贸n de Arduino

Antes de nada, es necesario disponer del IDE de arduino. En caso que no se disponga ya, se puede descargar e instalar desde el siguiente enlace:

https://www.arduino.cc/en/Main/Software

Instalar ESP8266 en arduino

Lo primero que tenemos que a帽adir al repositorio de placas de desarrollo compatibles es el repositorio GitHub donde se encuentra todo el entorno de ESP8266. Para ello, hay que abrir las preferencias (Archivo -> Preferencias) y a帽adir una nueva URL al gestor de tarjetas tal y como se ve en la siguiente imagen:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

image alt text

Una vez a帽adida le damos a OK y vamos al gestor de tarjetas (Herramientas -> placa-> Gestor de tarjetas). All铆 deberemos buscar la nueva tarjeta o placa que hemos a帽adido, en este caso la ESP8266. Seleccionamos la versi贸n 2.4.0 y le damos a instalar. Esto llevar谩 unos minutos mientras se descargan todas las utilidades y librer铆as.

image alt text

Ya s贸lo nos queda seleccionar la nueva tarjeta, en este caso la placa NodeMCU V1.0 para que el sistema nos detecte la placa.

Adem谩s, deberemos configurar el puerto serie que est谩 empleando el sistema. En el caso de Windows, deberemos seleccionar el puerto COM correspondiente (el que aparece en la secci贸n de instalaci贸n del driver). En el caso de MacOS y Linux, deberemos seleccionar el dispositivo correspondiente con el formato /dev/* (dependiendo del sistema operativo)

Antes de continuar, vamos a instalar unas librer铆as que van a facilitar el uso de la placa (buscar en Programa -> Incluir Librer铆a -> Gestor de Librer铆as):

  1. ArduinoJson.h - https://github.com/bblanchon/ArduinoJson
  2. WiFiManager.h (opcional) [Versi贸n 0.14.0] - https://github.com/tzapu/WiFiManager
  3. Adafruit_BMP085 (opcional) [Version 1.0.0] - https://github.com/adafruit/Adafruit-BMP085-Library

Instalaci贸n de Postman

Para hacer pruebas con la API de FIWARE ser谩 necesario disponer de una herramienta que permita hacer peticiones HTTP e interactuar con 茅sta. En este caso, nosotros recomendamos la herramienta Postman, que permite gestionar las colecciones de peticiones, por lo que ser谩 muy sencillo realizar las operaciones necesarias con la colecci贸n predefinida que podr茅is descargar en este mismo repositorio.

Descargar

Configuraci贸n de postman

Instalaci贸n drivers USB

Es necesario instalar los drivers para el convertidor de USB a USART a 3.3V incluido en la placa de desarrollo. En el mercado existen distintos fabricantes de esta placa que pueden integrar distintos circuitos integrados que realizan esta funci贸n. En este caso, deberemos instalar el driver correspondiente. En cualquier caso, no existe ning煤n tipo de incompatibilidad entre ellos, puduiendose instalar 谩mbos al un铆sono. Para probar que todo funciona de forma correcta y asegurarno que driver instalar, lo ideal es esperar a que se disponga de la placa.

En la imagen a continuaci贸n podemos diferenciar los dos modelos m谩s extendidos que de convertidor de USB a USART en las placas NodeMCU, que son el CH430G y el CP2102/3 image alt text

En el caso del chip CP2102/3, del fabricante SiLabs, podremos descargar los drivers para los distintos sistemas operativos desde la p谩gina web del fabricante:

https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

En el caso del chip CH430G, podremos descargar los driver desde la siguiente p谩gina web:

Windows

MacOS

Linux

MAC OSX

Para identificar que tenemos instalado correctamente los drivers del dispositivo, podremos ver en el informe del sistema (acerca de este mac) el dispositivo USB CP2102 USB to UART Bridge Controller o el correspondiente al CH430G

image alt text

Otra forma adicional de saber si tenemos el driver instalado es abriendo un terminal y ejecutando ls /dev/tty.*. En este caso nos deber铆a aparecer alg煤n disposivo del tipo /dev/tty.usbserial-XXXX o /dev/tty.SLAB_USBtoUART

En las 煤ltimas versiones de macOS es necesario habilitar el driver en el panel de control para que se ejecute. Para ello hay que ir a la secci贸n de seguridad y privacidad y permitir la ejecuci贸n del software.

image alt text

Windows

Tras descargar y ejecutar el instalador del driver provisto por el fabricante y, si fuera necesario, tras reiniciar el equipo nos debe aparecer algo similar a la siguiente imagen en el administrador de dispositivos (depende del controlador USB a UART):

image alt text

Una vez identificado, habr谩 que recordar el puerto COM para configurarlo en la aplicaci贸n arduino.

Linux

Generalmente, las 煤ltimas versiones del kernel de linux traen soporte nativo para este dispositivo. En caso contrario, seguir las instrucciones del fabricante para la distribuci贸n en concreto.

About

馃摉 FIWARE IoT integration using ESP8266 board

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages