miércoles, 29 de marzo de 2023

Lectura de datos de un canal IoT

 Buenas tardes,

En anteriores entradas habíamos visto como escribir datos en un canal IoT, pero los actuadores necesitan leer estos datos para poder actuar. Es decir, un sensor o un botón envía los datos al servidor IoT (os lo he mostrado con los botones ON y OFF de mi app IoT), pero luego el actuador motor, riego, bombilla, alarma, etc deben leer estos datos para encenderse o apagarse. ¿Cómo pueden leerlos?

Cómo vamos a ver lo hace a través de una consulta o pregunta por medio de una URL, cuando se envía esta, instantáneamente se abre una web en el navegador con la respuesta. veámoslo con un ejemplo:

La URL de consulta de últimos datos en mi canal DLM-IoT- Riego en thingspeak está en: API Keys -> Read a Channel Feed: https://api.thingspeak.com/channels/2079861/feeds.json?results=2

Enviando esta URL en el navegador, nos dará como respuesta los datos de los dos últimos envíos que se han realizado al canal (si pusieramos al final 5, nos devolvería los 5 últimos datos). Enviamos la URL y obtenemos este resultado:

{"channel":{"id":2079861,"name":"DLM - IoT - Riego","description":"Canal para abrir/cerrar un aspersor para riego","latitude":"0.0","longitude":"0.0","field1":"Field Label 1","created_at":"2023-03-24T16:42:08Z","updated_at":"2023-03-24T16:42:35Z","last_entry_id":15},"feeds":[{"created_at":"2023-03-29T18:05:11Z","entry_id":14,"field1":"0"},{"created_at":"2023-03-29T18:08:43Z","entry_id":15,"field1":"1"}]}
Analizando el texto resultante, vemos que pone el nº identificativo de mi canal, el nombre, la descripción, cuando se creó, número de entradas totales y, finalmente la fecha y dato (1 ó 0), de los dos últimos envíos.

Ejemplo de consulta de 5 últimos datos:




En la siguiente entrada veremos un ejemplo práctico con una app capaz de leer los datos de mi canal y poner una foto de un riego abierto si el último dato es un 1 o un riego cerrado si el último dato es un 0.

Pero antes, vamos a simplificar toda la respuesta, para tener solo lo relativo al último dato, es decir, sin nombre del canal, descripción, etc... El último paréntesis con los datos separados por comas: (created at..., entry id..., field1...), lo que en informática se conoce como un json.

Para ver solo el último dato de forma abreviada en un json, hacemos los siguientes paso:

Primero: Borramos en la URL de lectura (https://api.thingspeak.com/channels/2079861/feeds.json?results=2) a partir del símbolo “?” y escribimos tras “?” api_key= junto a la Read Key de lectura de nuestro canal: api_key=6C66HNYFN0PIYN1G

https://api.thingspeak.com/channels/2079861/feeds.json?api_key=6C66HNYFN0PIYN1G

Segundo cambio: Antes del punto entre feeds y .json, escribimos: /last

https://api.thingspeak.com/channels/2079861/feeds/last.json?api_key=6C66HNYFN0PIYN1G

Comprobamos que esta última URL nos informa con una mayor brevedad del último dato:

{"created_at":"2023-04-12T18:21:34Z","entry_id":32,"field1":"0"}

Como veremos en la próxima entrada, hay formas de conseguir solo el dato asociado a field1 para que pueda ser utilizado por cualquier recurso domótico/electrónico. En nuestro caso será una aplicación de un móvil.


Desarrollo de una App capaz de enviar datos IoT

Buenas tardes,

Hoy seguimos hablando de una de las últimas tecnologías que se están desarrollando en telecomunicaciones: IoT. Después de haber hecho una práctica sobre IoT en el anterior post hoy voy a desarrollar una App para activar/desactivar un riego automático.

La pantalla de diseño que he pensado para la app es la siguiente:



La programación de los botones y de los visores web (WebViewers) es la siguiente:







Primer bloque: Es decir, pulsando el botón ON. Enviamos al WebWiewer un 1, mediante la URL:

https://api.thingspeak.com/update?api_key=OZYCU3EUTLMJLV12&field1=1

Segundo bloque: Es decir, pulsando el botón OFF Enviamos al WebWiewer un 0, mediante la URL:

https://api.thingspeak.com/update?api_key=OZYCU3EUTLMJLV12&field1=0

Pulsa aquí para descargar y probar mi App

Vídeo demostrativo del funcionamiento:

¿Qué es IoT? Ejemplo práctico de envío de datos a un servidor IoT

 Hola a todos,

Hoy os voy a hablar de una de las últimas tecnologías que se están desarrollando en el área de las telecomunicaciones: El internet de las cosas o IoT (Internet of Things).



IoT abarca las nuevas redes de objetos físicos (sensores y actuadores) que están conectados entre ellos aunque se sitúen en distintos continentes, mediante Internet. Lo que confiere a dichos objetos conectados un intercambio de información a grandísimas distancias. Esta información puede ser utilizada para realizar cálculos, guardarla, o realizar movimientos, encendidos, apagados, etc... en los actuadores.

¿Por qué es tan importante el internet de las cosas?

Mediante sensores y dispositivos móviles, la información se transmite a la nube de internet, después es analizada y calculada por medio del Big Data y la Inteligencia Artificial, obteniendo unos resultados automáticos que, a pesar de su bajo coste, pueden ser vendidos por mucho dinero o utilizados para realizar tareas, vender productos, conocer clientes potenciales y su datos, etc. Automatizar ahorra dinero, da seguridad, ahorra energía, suministra información de clientes, ahorra tiempo, etc. Todo ello conlleva mucho dinero.

Ejemplo de funcionamiento con el servidor de IoT de Thingspeak:

Hoy vamos a hacer una práctica sencilla sobre IoT, que consistirá en crear un canal IoT llamado DLM-riego y allí mandaremos bits (binary digits) de información 0 ó 1.

Pasos:

1. Nos registramos en el servido de internet thingspeak.com (servidor IoT gratuito con condiciones: hasta 4 canales y solo puede escribirse un dato cada 15 segundos. Si queremos mejores condiciones debemos comprar la versión pro)

2. New Channel -> Le llamamos DLM - IoT - Riego.

3. Sharing -> Click en Share channel view with everyone (Hacemos el canal público para que los datos pueda verlos todo el mundo en este blog)

4. Enviamos un 0: API Keys -> Write a Channel Feed -> Cogemos la siguiente URL y cada vez que la busquemos mandará un 0 (Ojo, si esperamos 15 segundos entre envíos):

https://api.thingspeak.com/update?api_key=OZYCU3EUTLMJLV12&field1=0

5. Enviamos un 1: Cambiamos el 0 del final de la URL de arriba por un 1 y se escribirá en nuestro canal de IoT un 1 (encendido del riego):

https://api.thingspeak.com/update?api_key=OZYCU3EUTLMJLV12&field1=1


Comprobamos en el gráfico de nuestro canal IoT que se realiza la escritura de los datos enviados:


Todo el mundo tecnológico está hablando de IoT, de como es capaz de enviar y recibir datos los objetos. Pues acabo de mostraros que este envío se realiza mediante URLs, es decir, como cuando buscamos la página web www.marca.es. Los objetos el envío de estas URLs terminadas en 0 ó 1, lo hacen mediante código, no escribiendo la URL en una barra de direcciones de un navegador. En la siguiente entrada de mi blog os mostraré una App capaz de escribir en el canal de IoT, apretando un botón de On/Off

miércoles, 22 de marzo de 2023

Web sobre tres prácticas con fibra de vidrio

Hola a todos,

En la entrada de hoy os presento una nueva web que he desarrollado con las prácticas sobre la fibra óptica. En la web podreís encontrar enlaces sobre la fibra, mis vídeos y fotos de las prácticas, etc.

URL de la web:

https://sites.google.com/view/fibraoptica-dlm



Orientación práctica de una antena parábolica

 Hola a todos, En mi post anterior vimos dos prácticas sobre antenas satélites . La primera consistía en buscar la orientación de los satél...