Expresiones
Las expresiones permiten realizar cálculos, principalmente para la conversión de datos crudos en dispositivos.
¿Qué son las expresiones?
Las expresiones son textos que permiten evaluar datos, realizar cálculos, y finalmente devolver un único valor. Las expresiones pueden incluir variables, de manera tal que el valor de esas variables se utilice para los cálculos.
Tipos de dato
El motor de expresiones integrado en Gear Studio permite tres tipos de dato: number, string, y boolean, como se muestra a continuación:
| Tipo de datos | Comentarios |
|---|---|
| Number | Los datos de tipo number representan números, ya sea enteros, o de punto flotante (con decimales). |
| String | Representan textos, y en caso de querer escribirlos como constantes, deben encerrarse utilizando comillas simples ('). Cuando un texto debe contener una comilla simple, puede representarse como constante utilizando dos comillas simples seguidas (''). |
| Boolean | Representa una condición booleana (lógica), que puede valer únicamente true (verdadero) o false (falso). |
Variables
Cuando las expresiones se utilizan para la conversión de datos crudos en dispositivos, existe una variable implícita RawData, que contiene el valor crudo enviado por el dispositivo. Esta variable puede utilizarse en forma directa en cualquier expresión de conversión de datos, pero es necesario tener en cuenta que la variable es de tipo string. Habitualmente es necesario convertir la variable a número (utilizando la función ToNumber), y aplicar otras funciones de conversión en caso de ser necesario.
Algunos ejemplos de expresiones
| Expresión | Comentarios |
|---|---|
| 25 | Constante, con valor 25 (number) |
| ‘Hola, mundo’ | Constante, con valor “Hola, mundo” (string) |
| False | Constante, con valor false (boolean) |
| 'I''m happy with expressions' | Constante con valor “I'm happy with expressions” (string). Nótese el uso de doble comilla simple para la comilla simple luego de “I”. |
| 5 * 6 | Expresión con valor 30 (number), correspondiente a la multiplicación de 5 por 6. |
| (2 + 3) * 6 | Expresión con valor 30 (number), correspondiente a una suma y una multiplicación. |
| ‘Tengo ’ + ToString(6 * 5) + ‘ años’ | Expresión con valor “Tengo 30 años” (string), utilizando una multiplicación y una conversión de number a string utilizando la función ToString. |
| 25 < 8 | Expresión con valor false (boolean), correspondiente a una comparación por menor. |
| not (25 < 8) | Expresión con valor true (boolean), correspondiente a una negación de una comparación por menor. |
| Sqrt(81) | Expresión con valor 9 (number), calculado como raíz cuadrada de 81 usando la función Sqrt. |
| ToNumber(RawData) / 10 | Expresión numérica cuyo valor depende de la variable especial RawData. La expresión toma el valor de RawData, lo convierte a número, y luego lo divide por 10. |
¿Qué efecto tienen las mayúsculas y minúsculas en las expresiones?
En el motor de expresiones de la plataforma Cloud Studio, los nombres de variables, funciones, etc., no son case-sensitive, es decir que da lo mismo escribirlas en mayúsculas, minúsculas, o mezclando ambas. Por ejemplo, todas las siguientes expresiones son equivalentes:
ToString(NOT (valor < 25))
tostring(not (valor < 25))
TOSTRING(not (VALOR< 25))¿Dónde es posible utilizar expresiones?
Actualmente, las expresiones pueden utilizarse para la conversión de datos crudos en dispositivos. Esto permite obtener información cruda de ciertos dispositivos (típicamente sensores), y utilizar expresiones para convertir esos datos a valores que puedan inyectarse en la plataforma.
¿Se puede programar usando expresiones?
No, las expresiones no son una herramienta de programación, sino de cálculo. Las expresiones no tienen estructuras de control tales como for, while, etc., y no están diseñadas con ese propósito.
¿Cómo puedo probar mis expresiones?
En general, toda funcionalidad que permite el uso de expresiones tiene la posibilidad de probar allí mismo cada expresión con valores de prueba. Como ejemplo puede consultarse la referencia de conversión de datos crudos en dispositivos.
¿Cómo puedo representar números hexadecimales?
El motor de expresiones permite representar números hexadecimales anteponiendo el prefijo “0x”, o, alternativamente, el prefijo “$” (ambos métodos son equivalentes). Por ejemplo, el valor 0x100 (o alternativamente, $100), representa el número hexadecimal 100, equivalente al decimal 256.
Más información
Para más información sobre expresiones, consultar la referencia de operadores, y funciones.
Conversión de datos crudos (raw)
La conversión de datos crudos realizar cálculos sobre los datos obtenidos de un dispositivo, y adaptarlos a los valores necesarios para introducirlos en la...
Formatos de datos
Al utilizar las API por HTTP y MQTT, es necesario respetar algunos formatos de datos, como se describe a continuación. Formatos de fechas