Il miglioramento di TypeScript di Microsoft può aiutarti a sviluppare sistemi complessi basati sull'Internet of Things.

DeviceScript è un'innovazione all'avanguardia di Microsoft Research. Estende le capacità di TypeScript per ospitare dispositivi Internet of Things (IoT) su piccola scala con risorse limitate.

Il suo scopo principale è consentire di scrivere codice in TypeScript e compilarlo in bytecode personalizzato, ottimizzato per la distribuzione in ambienti con risorse limitate.

Output della console in DeviceScript

Microsoft DeviceScript offre una console user-friendly. Supporta l'output dei messaggi e la registrazione dei dati del sensore, ma funge anche da strumento prezioso per il controllo degli errori.

Una gamma di funzioni è a tua disposizione per registrare i messaggi con diversi livelli di registro:

consolare.debug("debug")
consolare.tronco d'albero("tronco d'albero")
consolare.avvisare("avvisare")
consolare.errore("errore")

L'output della console è facilmente visibile all'interno della finestra del terminale DeviceScript. Può aiutare a fornire preziose informazioni sull'esecuzione del codice e assistere il processo di debug.

instagram viewer

Inoltre, DeviceScript semplifica la registrazione dei dati del sensore fornendo il file console.data funzione, che aggiunge automaticamente un timestamp ai dati registrati.

Considera il seguente esempio:

cost temperatura = 20;
cost umidità = 60;
consolare.data({ temperatura, umidità });

Per accedere ai dati registrati, è possibile accedere al file DeviceScript: output dei dati riquadro in Visual Studio Code o scaricarlo dal menu Visualizza.

Potente formattazione delle stringhe

Quando si utilizza il console.log() funzione in DeviceScript, hai molte opzioni per formattare le stringhe per un rendimento migliore. Considera i seguenti esempi illustrativi:

permettere x = 0;
permettere e = 4;
consolare.tronco d'albero("Saluti, mondo");
consolare.tronco d'albero("Il valore di X è", X, "mentre Y è", y);
consolare.tronco d'albero("X=", X, "Y=", y);
consolare.tronco d'albero(`X=${x} Y=${y}`);
consolare.tronco d'albero("X=" + x + "Y=" + y);

Il compilatore DeviceScript inserisce automaticamente gli spazi, ottenendo un output più leggibile. Ad esempio, il secondo e il terzo esempio produrranno Il valore di X è 7 mentre Y è 12 E X=7 Y=12, rispettivamente.

Quando si scrive nei registri, è anche possibile utilizzare la concatenazione e i valori letterali del modello. Considera il seguente frammento di codice:

cost schermo = nuovo ds. CarattereSchermo();
permettere x = 7;
schermo.messaggio.scrivi("Il valore di X è " + x);
schermo.messaggio.scrivi(`X è uguale a ${x}`);

Usando la concatenazione oi valori letterali del modello, puoi facilmente costruire stringhe dinamiche per soddisfare una vasta gamma di requisiti.

Inoltre, DeviceScript offre il ds.format() funzione per la formattazione avanzata delle stringhe. È possibile utilizzare questa funzione insieme a console.log() o quando si configurano i registri delle stringhe.

Specifica i segnaposto per gli argomenti utilizzando il formato {0}, {1}, {2}, e così via. È inoltre possibile specificare la precisione aggiungendo una seconda cifra.

Osserva il seguente esempio:

cost schermo = nuovo ds. CarattereSchermo();
permettere x = 7;
permettere e = 12;
consolare.log (ds.format("X è {0} e Y è {1}", x, y));
consolare.log (ds.format("X = {04}", X));
screen.message.write (ds.format("X è approssimativamente {0}", X));

Tieni presente che specificare la precisione con una seconda cifra potrebbe non produrre risultati impeccabili in tutti gli scenari.

Clienti: consentire l'interazione con sensori e attuatori

L'ecosistema DeviceScript astrae l'interazione con sensori, attuatori e altri componenti hardware attraverso i servizi Jacdac.

Questo framework tratta i sensori come server, mentre i tuoi script connettono i client a questi server per facilitare l'interazione. Per illustrare questo concetto, si consideri lo scenario di un regolatore del sistema di riscaldamento domestico.

Il sistema di riscaldamento comprende un relè che regola il funzionamento del forno, un sensore di temperatura e un encoder rotativo per la regolazione della temperatura desiderata. In DeviceScript, definisci i client, detti anche ruoli, per ogni servizio richiesto.

Dai un'occhiata al seguente frammento di codice:

importare { Temperatura, Relè } da"@devicescript/core";
cost termometro = nuovo Temperatura();
cost termometro2 = nuovo Temperatura();
cost relè = nuovo Relè();

Creando un'istanza dei client di servizio necessari, ad esempio termometro, termometro2, E relè, stabilisci una comunicazione continua con i server corrispondenti.

Server hardware DeviceScript

Per interagire con qualsiasi componente hardware in DeviceScript, si utilizzano client di servizio. Tuttavia, per una programmazione efficace di questi componenti hardware, è imperativo inizializzare i server di servizio sull'hardware sottostante.

DeviceScript offre una vasta gamma di server all'interno del @devicescript/servers modulo, semplificando così questo processo.

Ad esempio, il pulsante Start La funzione consente di distribuire un server di pulsanti su un pin specifico e ottenere il client corrispondente. Osserva il seguente esempio:

importare { gpio } da"@devicescript/core";
importare { pulsante Start } da"@devicescript/server";
cost pulsanteA = pulsante di avvio({ spillo: gpio(2),});

Incorporando questo frammento di codice nel tuo script, ottieni la possibilità di interagire con il pin 2 (l'identificatore specifico dell'hardware) attraverso il pulsanteA cliente. Puoi quindi iscriverti a eventi come la pressione di pulsanti ed eseguire azioni specifiche all'interno della tua applicazione IoT.

Potenziamento dello sviluppo IoT con DeviceScript

DeviceScript ti consente di sfruttare TypeScript per piccoli dispositivi IoT, ottimizzando il codice per ambienti vincolati. L'output della sua console semplifica la registrazione e la visualizzazione dei dati. Astraendo l'interazione hardware attraverso i servizi Jacdec, semplifica la comunicazione con sensori e attuatori.

Integrato con Visual Studio Code, DeviceScript offre un ambiente completo per lo sviluppo, rendendolo uno strumento prezioso per soluzioni IoT efficienti e sicure. Con DeviceScript e Visual Studio Code, puoi creare con sicurezza soluzioni IoT che non solo sono efficienti, ma mantengono anche un elevato livello di sicurezza durante l'intero processo di sviluppo.