La mejora de TypeScript de Microsoft puede ayudarlo a desarrollar sistemas complejos impulsados ​​por el Internet de las cosas.

DeviceScript es una innovación de vanguardia de Microsoft Research. Amplía las capacidades de TypeScript para adaptarse a dispositivos de Internet de las cosas (IoT) a pequeña escala con recursos limitados.

Su objetivo principal es permitirle escribir código en TypeScript y compilarlo en un código de bytes personalizado, optimizado para su implementación en entornos con recursos limitados.

Salida de consola en DeviceScript

Microsoft DeviceScript ofrece una consola fácil de usar. Es compatible con la salida de mensajes y el registro de datos del sensor, pero también sirve como un valiosa herramienta para la comprobación de errores.

Una gama de funciones está a su disposición para registrar mensajes con diferentes niveles de registro:

consola.depurar("depurar")
consola.registro("registro")
consola.advertir("advertir")
consola.error("error")

La salida de la consola es fácilmente visible dentro de la ventana del terminal de DeviceScript. Puede ayudar a proporcionar información valiosa sobre la ejecución de su código y ayudar en el proceso de depuración.

instagram viewer

Además, DeviceScript simplifica el registro de datos del sensor al proporcionar la consola.datos función, que agrega automáticamente una marca de tiempo a los datos registrados.

Considere el siguiente ejemplo:

constante temperatura = 20;
constante humedad = 60;
consola.data({temperatura, humedad});

Para acceder a los datos registrados, puede navegar a la DeviceScript - Salida de datos panel en Visual Studio Code o descárguelo desde el menú Ver.

Potente formato de cadena

Al usar el consola.log() función en DeviceScript, tiene muchas opciones para formatear cadenas para una salida mejorada. Considere los siguientes ejemplos ilustrativos:

dejar x = 0;
dejar y = 4;
consola.registro("Saludos, mundo");
consola.registro("El valor de X es", X, "mientras Y es", y);
consola.registro("X=", X, "Y=", y);
consola.registro(`X=${x} Y=${y}`);
consola.registro("X=" + x + "Y=" + y);

El compilador DeviceScript inserta automáticamente espacios, lo que da como resultado una salida más legible. Por ejemplo, el segundo y tercer ejemplo producirán El valor de X es 7 mientras que Y es 12 y X=7 Y=12, respectivamente.

Al escribir en registros, también puede usar concatenación y literales de plantilla. Considere el siguiente fragmento de código:

constante pantalla = nuevo ds. Pantalla de Caracteres();
dejar x = 7;
pantalla.mensaje.escribir("El valor de X es" +x);
pantalla.mensaje.escribir(`X es igual a ${x}`);

Mediante la concatenación o la plantilla de literales, puede construir sin esfuerzo cadenas dinámicas para satisfacer una amplia gama de requisitos.

Además, DeviceScript ofrece la ds.format() función para formato de cadena avanzado. Puede utilizar esta función junto con consola.log() o al configurar registros de cadenas.

Especifique marcadores de posición para argumentos usando el formato {0}, {1}, {2}, Etcétera. También puede especificar la precisión agregando un segundo dígito.

Observa el siguiente ejemplo:

constante pantalla = nuevo ds. Pantalla de Caracteres();
dejar x = 7;
dejar y = 12;
consola.log (ds.format("X es {0} e Y es {1}", x, y));
consola.log (ds.format("X = {04}", X));
pantalla.mensaje.escribir (ds.format("X es aproximadamente {0}", X));

Tenga en cuenta que especificar la precisión con un segundo dígito puede no generar resultados perfectos en todos los escenarios.

Clientes: Habilitación de la interacción con sensores y actuadores

El ecosistema DeviceScript abstrae la interacción con sensores, actuadores y otros componentes de hardware a través de los servicios de Jacdac.

Este marco trata a los sensores como servidores, mientras que sus scripts conectan a los clientes con estos servidores para facilitar la interacción. Para ilustrar este concepto, considere el escenario de un controlador de sistema de calefacción doméstico.

El sistema de calefacción comprende un relé que regula el funcionamiento del horno, un sensor de temperatura y un codificador rotatorio para ajustar la temperatura deseada. En DeviceScript, define clientes, también denominados roles, para cada servicio requerido.

Eche un vistazo al siguiente fragmento de código:

importar { Temperatura, Relé } de"@devicescript/núcleo";
constante termómetro = nuevo Temperatura();
constante termómetro2 = nuevo Temperatura();
constante relé = nuevo Relé();

Instanciando los clientes de servicio necesarios, tales como termómetro, termometro2, y relé, estableces una comunicación fluida con los servidores correspondientes.

Servidores de hardware DeviceScript

Para interactuar con cualquier componente de hardware en DeviceScript, emplea clientes de servicio. Sin embargo, para una programación efectiva de estos componentes de hardware, es imperativo inicializar los servidores de servicio en el hardware subyacente.

DeviceScript ofrece una amplia gama de servidores dentro de la @devicescript/servidores módulo, agilizando así este proceso.

por ejemplo, el botón de inicio La función le permite implementar un servidor de botones en un pin específico y obtener el cliente correspondiente. Observa el siguiente ejemplo:

importar {GPIO} de"@devicescript/núcleo";
importar { botón de inicio } de"@devicescript/servidores";
constante botonA = botoniniciar({ alfiler: gpio(2),});

Al incorporar este fragmento de código en su secuencia de comandos, obtiene la capacidad de interactuar con el pin 2 (el identificador específico del hardware) a través del botónA cliente. Luego puede suscribirse a eventos, como presionar botones y ejecutar acciones específicas dentro de su aplicación IoT.

Potenciar el desarrollo de IoT con DeviceScript

DeviceScript le permite aprovechar TypeScript para dispositivos IoT pequeños, optimizando el código para entornos restringidos. Su salida de consola simplifica el registro y la visualización de datos. Al abstraer la interacción del hardware a través de los servicios de Jacdec, agiliza la comunicación con sensores y actuadores.

Integrado con Visual Studio Code, DeviceScript ofrece un entorno integral para el desarrollo, lo que lo convierte en una herramienta valiosa para soluciones IoT eficientes y seguras. Con DeviceScript y Visual Studio Code, puede crear con confianza soluciones de IoT que no solo sean eficientes sino que también mantengan un alto nivel de seguridad durante todo el proceso de desarrollo.