Hacer una primera exploración sobre el uso de APIs para conectar cosas. Explorar el uso basico de la herramienta NodeRED.
Antes de empezar se recomienda dar una revisada a los siguientes enlaces:
- Adafruit IO
- IoTuesday: Using Yahoo's Weather API
- IoT Engineering - https://github.com/tamberg/fhnw-iot/tree/master/03
- Solicitudes de API REST
- Guía práctica para la publicación de Datos Abiertos usando APIs
Hasta el momento hemos visto los siguientes temas:
- Conceptos basicos de programación de las sistemas de desarrollo Arduino UNO y NodeMCU.
- Algunos conceptos basicos entre sensores y actuadores.
- Comunicación serial.
- Comunicación inalambrica usando Wifi.
De los temas anteriormente vistos es importante resaltar la importancia que juega la comunicación en una arquitectura IoT, asi mismo, que estas no son las unicas maneras de hacer trabajar con datos, sin embargo, con saber por ahora esto basta.
Tal y como se muestra en la siguiente figura (tomada de IoT Engineering - https://github.com/tamberg/fhnw-iot/tree/master/03)
En el modelo de referencia IoT, uno de los elementos claves son las plataformas IoT pues permiten almacenar y almacenar (entre otras cosas) datos de sensores. Para conectar las cosas con estas plataformas con las cosas, es importante conocer la forma como se lleva a cabo la comunicación y la interación establecida por estas la cual, generalmente es a traves de peticiones HTTP expuestas a traves de APIs.
Respecto al manejo de APIs, un documento muy bueno que explica esto se muestra en el resumen APIs para Datos Abiertos.
El sensado remoto permite que las cosas envien datos a una plataforma en la nube. A continuación se resumen los pasos que casi siempre se llevan a cabo de manera general para hacer esta tarea:
- Asegurar que el dispositivo este conectado a la red wifi.
- Leer los valores de los sensores (al leer valores, es importar agregar un timestamp (UTC) para conocer el momento en el que se hizo la medición).
- Enviar los valores al backend.
Es importante recordar los pasos basicos para conectar el dispositivo (NodeMCU en nuestro caso) de modo que le recomendamos que de una rapida mirada al documento 3 Steps to Connect an ESP8266 to WiFi for IoT Projects
A continuación se muestran algunas de las plataformas disponibles para enviar y desplegar facilmente datos en la red:
- https://dweet.io/faq
- https://platform.favoriot.com/v2/login
- https://ubidots.com/
- https://docs.arduino.cc/cloud/iot-cloud
- https://www.thethingsnetwork.org/
- https://thethings.io/
Con el fin de familiarizarnos un poco con el material teorico previamente presentado vamos a analizar una serie de ejemplos (recopilados de internet) que puede ser de utilidad entender si se desea conectar cosas en una plataforma IoT
- Haciendo una peticiones Web.
- Hacerla en el ejemplo 1 del esp8266
- Traducir lo siguiente:
- https://github.com/tamberg/fhnw-iot/tree/master/03
- https://github.com/tamberg/fhnw-iot/wiki/IoT-Platforms#dweetio
- https://livebook.manning.com/concept/api/http-cheat-sheet
- https://blog.postman.com/rest-api-examples/
- https://devhints.io/rest-api
- https://www.ibm.com/co-es/cloud/learn/rest-apis
- https://blog.octo.com/wp-content/uploads/2014/10/RESTful-API-design-OCTO-Quick-Reference-Card-2.2.pdf
- https://www.manning.com/
- https://www.manning.com/books/using-the-web-to-build-the-iot?query=iot#toc
- https://www.freecodecamp.org/news/rest-api-best-practices-rest-endpoint-design-examples/
- http://devices.webofthings.io/
- https://blog.postman.com/tag/tutorials/
- https://www.w3.org/WoT/documentation/