Die TypeScript-Erweiterung von Microsoft kann Ihnen bei der Entwicklung komplexer Systeme helfen, die auf dem Internet der Dinge basieren.

DeviceScript ist eine hochmoderne Innovation von Microsoft Research. Es erweitert die Fähigkeiten von TypeScript, um kleine IoT-Geräte (Internet of Things) mit begrenzten Ressourcen zu unterstützen.

Sein Hauptziel besteht darin, Ihnen das Schreiben von Code in TypeScript und das Kompilieren in benutzerdefinierten Bytecode zu ermöglichen, der für die Bereitstellung in Umgebungen mit eingeschränkten Ressourcen optimiert ist.

Konsolenausgabe in DeviceScript

Microsoft DeviceScript bietet eine benutzerfreundliche Konsole. Es unterstützt die Meldungsausgabe und die Protokollierung von Sensordaten, dient aber auch als wertvolles Werkzeug zur Fehlerprüfung.

Um Meldungen mit unterschiedlichen Protokollierungsstufen zu protokollieren, steht Ihnen eine Reihe von Funktionen zur Verfügung:

Konsole.debuggen("debuggen")
Konsole.Protokoll("Protokoll")
Konsole.warnen("warnen")
Konsole.Fehler("Fehler")
instagram viewer

Die Konsolenausgabe ist im DeviceScript-Terminalfenster gut sichtbar. Es kann wertvolle Einblicke in die Ausführung Ihres Codes liefern und den Debugging-Prozess unterstützen.

Darüber hinaus vereinfacht DeviceScript die Protokollierung von Sensordaten, indem es Folgendes bereitstellt console.data Funktion, die automatisch einen Zeitstempel an die protokollierten Daten anhängt.

Betrachten Sie das folgende Beispiel:

const Temperatur = 20;
const Luftfeuchtigkeit = 60;
Konsole.data({ Temperatur, Luftfeuchtigkeit });

Um auf die protokollierten Daten zuzugreifen, können Sie zu navigieren DeviceScript – Datenausgabe Bereich in Visual Studio Code oder laden Sie es aus dem Ansichtsmenü herunter.

Leistungsstarke String-Formatierung

Bei Verwendung des console.log() Funktion in DeviceScript haben Sie viele Optionen zum Formatieren von Zeichenfolgen für eine verbesserte Ausgabe. Betrachten Sie die folgenden anschaulichen Beispiele:

lassen x = 0;
lassen y = 4;
Konsole.Protokoll(„Grüße, Welt“);
Konsole.Protokoll(„Der Wert von X ist“, X, „während Y ist“, y);
Konsole.Protokoll(„X=", X, "Y=", y);
Konsole.Protokoll(`X=${x} Y=${y}`);
Konsole.Protokoll(„X=" + x + " Y=" + y);

Der DeviceScript-Compiler fügt automatisch Leerzeichen ein, was zu einer besser lesbaren Ausgabe führt. Zum Beispiel werden das zweite und dritte Beispiel ergeben Der Wert von X ist 7, während Y 12 ist Und X=7 Y=12, bzw.

Beim Schreiben in Register können Sie auch Verkettungs- und Vorlagenliterale verwenden. Betrachten Sie den folgenden Codeausschnitt:

const Bildschirm = neu ds. CharacterScreen();
lassen x = 7;
screen.message.write(„Der Wert von X ist“ + x);
screen.message.write(`X ist gleich ${x}`);

Mithilfe von Verkettungen oder Vorlagenliteralen können Sie mühelos dynamische Zeichenfolgen erstellen, um unterschiedlichsten Anforderungen gerecht zu werden.

Darüber hinaus bietet DeviceScript das ds.format() Funktion für erweiterte String-Formatierung. Sie können diese Funktion in Verbindung mit verwenden console.log() oder beim Konfigurieren von String-Registern.

Geben Sie mithilfe des Formats Platzhalter für Argumente an {0}, {1}, {2}, und so weiter. Sie können die Genauigkeit auch angeben, indem Sie eine zweite Ziffer anhängen.

Beachten Sie das folgende Beispiel:

const Bildschirm = neu ds. CharacterScreen();
lassen x = 7;
lassen y = 12;
Konsole.log (ds.format(„X ist {0} und Y ist {1}“, x, y));
Konsole.log (ds.format(„X = {04}“, X));
screen.message.write (ds.format(„X ist ungefähr {0}“, X));

Bedenken Sie, dass die Angabe der Genauigkeit mit einer zweiten Ziffer möglicherweise nicht in allen Szenarios zu einwandfreien Ergebnissen führt.

Kunden: Ermöglichen der Interaktion mit Sensoren und Aktoren

Das DeviceScript-Ökosystem abstrahiert die Interaktion mit Sensoren, Aktoren und anderen Hardwarekomponenten über Jacdac-Dienste.

Dieses Framework behandelt Sensoren als Server, während Ihre Skripte Clients mit diesen Servern verbinden, um die Interaktion zu erleichtern. Um dieses Konzept zu veranschaulichen, betrachten Sie das Szenario einer Hausheizungssteuerung.

Das Heizsystem umfasst ein Relais, das den Betrieb des Ofens regelt, einen Temperatursensor und einen Drehgeber zur Einstellung der gewünschten Temperatur. In DeviceScript definieren Sie Clients, auch Rollen genannt, für jeden benötigten Dienst.

Schauen Sie sich den folgenden Codeausschnitt an:

importieren { Temperatur, Relais } aus„@devicescript/core“;
const Thermometer = neu Temperatur();
const Thermometer2 = neu Temperatur();
const Relais = neu Relais();

Durch die Instanziierung der notwendigen Service-Clients, wie z Thermometer, Thermometer2, Und Relaisstellen Sie eine nahtlose Kommunikation mit den entsprechenden Servern her.

DeviceScript-Hardwareserver

Um mit einer beliebigen Hardwarekomponente in DeviceScript zu interagieren, verwenden Sie Service-Clients. Für eine effektive Programmierung dieser Hardwarekomponenten ist es jedoch zwingend erforderlich, Dienstserver auf der zugrunde liegenden Hardware zu initialisieren.

DeviceScript bietet eine umfangreiche Auswahl an Servern innerhalb der @devicescript/servers Modul, wodurch dieser Prozess rationalisiert wird.

Zum Beispiel die Start Knopf Mit der Funktion können Sie einen Button-Server auf einem bestimmten Pin bereitstellen und den entsprechenden Client erhalten. Beachten Sie das folgende Beispiel:

importieren { GPIO } aus„@devicescript/core“;
importieren { Start Knopf } aus„@devicescript/servers“;
const buttonA = startButton({ Stift: gpio(2),});

Durch die Einbindung dieses Codeausschnitts in Ihr Skript erhalten Sie die Möglichkeit, über den mit Pin 2 (der hardwarespezifischen Kennung) zu interagieren KnopfA Klient. Anschließend können Sie Ereignisse wie Tastendrücke abonnieren und bestimmte Aktionen innerhalb Ihrer IoT-Anwendung ausführen.

Ermöglichen Sie die IoT-Entwicklung mit DeviceScript

Mit DeviceScript können Sie TypeScript für kleine IoT-Geräte nutzen und Code für eingeschränkte Umgebungen optimieren. Die Konsolenausgabe vereinfacht die Protokollierung und Datenvisualisierung. Durch die Abstraktion der Hardware-Interaktion über Jacdec-Dienste wird die Kommunikation mit Sensoren und Aktoren optimiert.

DeviceScript ist in Visual Studio Code integriert und bietet eine umfassende Entwicklungsumgebung, was es zu einem wertvollen Werkzeug für effiziente und sichere IoT-Lösungen macht. Mit DeviceScript und Visual Studio Code können Sie sicher IoT-Lösungen erstellen, die nicht nur effizient sind, sondern auch während des gesamten Entwicklungsprozesses ein hohes Maß an Sicherheit gewährleisten.