Buenas tardes,
A continuación os presento el desarrollo de una nueva App para servicios IoT mas compleja. La app que hemos diseñado es capaz de controlar 2 canales IoT tanto en escritura como en lectura (uno para la apertura de la persiana y el otro para controlar un riego).
Diseño de la pantalla de escritura
Cuando pulsamos los botones On/Off superiores enviamos 1/0 respectivamente al canal de persiana.
Cuando pulsamos los botones On/Off superiores enviamos 1/0 respectivamente al canal de riego.
El WebWiever persiana , mostrara que se ha enviado un dato a nuestro canal publico (Domotics-LHN - Persiana)
El WebWiever riego , mostrara que se ha enviado un dato a nuestro canal publico (Domotics-LHN - Riego)
Programación de la pantalla de escritura:
Cuando se pulsa el botón On-persiana, hacemos que el WebWiewer sea la dirección de escritura 1 en nuestro canal persiana: https://api.thingspeak.com/update?api_key=YU1QBRURVBBTDEA6&field1=1
De esta forma matamos 2 pájaros de 1 tiro, porque marcamos nuestro canal con un 1 al mandar la URL y porque vemos en nuestra pantalla WebWiever persiana el dato enviado.
Cuando se pulsa el botón Off-persiana, hacemos que el WebWiewer sea la dirección de escritura 0 en nuestro canal persiana: https://api.thingspeak.com/update?api_key=YU1QBRURVBBTDEA6&field1=0
Cuando se pulsa el botón On-riego, hacemos que el WebWiewer sea la dirección de escritura 1 en nuestro canal persiana: https://api.thingspeak.com/update?pi_key=4VY5UNZBYBYTRNQO&field1=1
Cuando se pulsa el botón Off-riego, hacemos que el WebWiewer sea la dirección de escritura 0 en nuestro canal persiana: https://api.thingspeak.com/update?pi_key=4VY5UNZBYBYTRNQO&field1=0
Cuando pulsamos el botón Screen 2 programamos el cambio a la pantalla de lectura de estado del canal.
Diseño de la pantalla de lectura
El botón superior está diseñado para el cambio a la pantalla de escritura.
El segundo botón se para activar la comprobación de estado actual de la persiana y el riego.
Luego tendremos una imagen y una etiqueta para poner si la persiana esta abierta o cerrada.
Por ultimo otra imagen y etiqueta para ver si el riego esta abierto o cerrado.
Programación de la pantalla de lectura:
Cuando se pulsa el botón de ver estados:
- Asigna Web1 a la URL de lectura de datos del canal persiana: https://api.thingspeak.com/channels/1881959/feeds/last.json?pi_key=HJ52EXND48FYBEVN y luego llama a la Web1 para que consiga el texto de esta Web1, consiguiendo el ultimo dato, pero también más texto: {"created_at":"2022-10-13T16:52:28Z","entry_id":34,"field1":"1"}
- Asigna Web2 a la URL de lectura de datos del canal riego: https://api.thingspeak.com/channels/1888133/feeds/last.json?api_key=7JIA1CA7VU46E6OU y luego llama a la Web2 para que consiga el texto del ultimo dato que se ha escrito del canal de riego.
Creamos 2 variables:
Bit_persiana: Tendrá 2 posibles valores: 1(abierta) 0 (cerrada) inicialmente definimos el valor 2.
Bit_riego: Tendrá 2 posibles valores: 1(abierto) 0 (cerrado) inicialmente definimos el valor 3.
Una vez que pulsando el botón ver estados, hemos obtenido el texto de Web 1 automáticamente programamos que haga lo siguiente.
- Coge el texto solo del field 1,es decir el 1 ó el 0 y lo guarde en la variable global bit persiana.
- Si bit persiana es 1, pone la imagen de persiana abierta y el texto persiana abierta.
- Si bit persiana es 0, pone la imagen de persiana cerrada y el texto persiana cerrada.3.
Una vez que pulsando el botón ver estados, hemos obtenido el texto de Web 2 (último dato del canal de riego) automáticamente programamos que haga lo siguiente.
- Coge el texto solo del field 1,es decir el 1 ó el 0 y lo guarde en la variable global bit riego.
- Si bit riego es 1, pone la imagen de riego abierto y el texto riego abierto.
- Si bit riego es 0, pone la imagen de riego cerrado y el texto riego cerrado.