Periferia – Entrada virtual HTTP

Funcionamiento

Con entradas virtuales HTTP se puede leer directamente desde un sitio web o valores de un archivo XML. La consulta de datos desde un dispositivo se facilita sustancialmente con la interfaz web, ya que no es necesario un PicoC.

Posibles aplicaciones: Regulador de calefacción, sistemas fotovoltaicos, aplicaciones multimedia…

 

Insertar una entrada virtual HTTP

Para insertar una entrada HTTP, inicialmente seleccionar la casilla periféria, seleccione “E/S Virtuales”. Posteriormente, el seleccione el botón “Entrada virtual HTTP”. Al hacer clic en una entrada virtual HTTP se inserta.

entradavirtualhttp1

En las propiedades de la entrada virtual HTTP se pueden definir el protocolo, dirección y puerto del dispositivo a controlar, así como el intervalo de muestreo.

En nuestro ejemplo, se consulta un valor de un sitio web. Para simplificar, hemos usado un Miniserver, pero funciona con cualquier dispositivo de la misma manera.

Si se requiere autenticación, el nombre de usuario y la contraseña se puede introducir de la siguiente forma:

http://usuario:contraseña@direcciónIP

En el ejemplo, ./dev/sps/io/Test/state es el comando de servicio web para la consulta del estado de una entrada en el Miniserver.

entradavirtualhttp2

Comando de entrada virtual HTTP

Hasta el momento, el sitio web se actualiza cada 10 segundos. Sin embargo, con el fin de ser capaz de leer un valor, hay que incluir un comando HTTP virtual.

Marcar la entrada virtual en la ventana de periferia donde había creado previamente la entrada HTTP, justo encima del botón aparece el “comando de entrada virtual HTTP”. Al hacer clic en él, se insertará un nuevo comando HTTP.

entradavirtualhttp3

Antes de configurar el comando HTTP, debemos reconocer los comandos que necesita, y saber cómo está estructurado el sitio web desde el que queremos consultar los datos.

Para ello, hacemos un llamamiento a la página en un navegador.

Como se ve en la siguiente captura de pantalla, figura el dato value=” y a continuación el valor de queremos consultar:

browser_response

Importante para el reconocimiento de comandos.

En la uniddad insertamos: value=”\ v

Esto significa toma el valor (\v), después value=”

entradavirtualhttp4

Un error común es usar \1 en lugar de \v. En los sitios web, a menudo se utiliyalos números figuran en código ASCI. El valor ASCI, sin embargo, es el valor real más 38. Por ejemplo, 3 se interpretaría como el número 41.

Este es el resultado de nuestro ejemplo:

Cada 10 segundos es realiza una consulta del valor de la entrada Test al Miniserver con dirección IP 192.168.0.17.

entradavirtualhttp5

 

Reconocimiento avanzado de comandos

El reconocimiento de comandos, ofrece muchas posibilidades:

\v En una cadena ASCII se toma el valor. Las cifras decimales deben estar separadas por una coma o un punto.
\1 Se toma el valor de los bytes recibidos menos significativo (LSB) y se convierte en la salida a (bits 0-7).
\2 Se toma valor de los bytes recibidos y se convierten en bits 8-15 en la salida.
\3 Se toma el valor de los bytes recibidos y se convierten en bits 16-23 en la salida.
\4 Se toma el valor de los bytes recibidos más significativo (MSB) y se convierte en la salida a (bits 24-31).
\h Se toma el valor de una cadena ASCII y se muestra en hexadecimal.
\x Hexadecimal, por ejemplo \x09 para 0x09
\\ \ (Barra invertida)
\. Cualquier signo
\w Cualquier palabra
\# Cualquier número
\t Tabulador (0x09)
\b Tabulador (0x09) oder Leerzeichen (0x20)
\r Retorno de carro (0x0D)
\n Avance de línea(0x0A)
\d Cualquier dígito (0-9)
\m Cualquier letra (A-Z,a-z) o espacio (0-9)
\a Cualquier letra (A-Z,a-z)
\s12 Saltar 12 caracteres (\s17 = salta 17 caracteres)
\ixxx\i Saltar después de texto xxx, por ejemplo: \ivalue\i salta al valor
Es posible utilizar varios caracteres de control del reconocimiento de comandos en el mismo comando.