Vylepšenie TypeScript od Microsoftu vám môže pomôcť vyvinúť komplexné systémy poháňané internetom vecí.

DeviceScript je špičková inovácia od spoločnosti Microsoft Research. Rozširuje možnosti TypeScript tak, aby vyhovovali malým zariadeniam internetu vecí (IoT) s obmedzenými zdrojmi.

Jeho hlavným cieľom je umožniť vám písať kód v TypeScript a kompilovať ho do vlastného bajtkódu, optimalizovaného pre nasadenie v prostrediach s obmedzenými zdrojmi.

Výstup konzoly v jazyku DeviceScript

Microsoft DeviceScript ponúka užívateľsky príjemnú konzolu. Podporuje výstup správ a zaznamenávanie údajov snímača, ale slúži aj ako a cenný nástroj na kontrolu chýb.

Na zaznamenávanie správ s rôznymi úrovňami protokolu máte k dispozícii celý rad funkcií:

konzoly.debug("ladiť")
konzoly.log("log")
konzoly.warn("upozorniť")
konzoly.chyba("chyba")

Výstup konzoly je ľahko viditeľný v okne terminálu DeviceScript. Môže vám pomôcť poskytnúť cenné informácie o chode vášho kódu a pomôcť pri procese ladenia.

Okrem toho DeviceScript zjednodušuje zaznamenávanie údajov snímača poskytovaním

instagram viewer
konzola.údaje funkcia, ktorá k zaznamenaným údajom automaticky pripojí časovú pečiatku.

Zvážte nasledujúci príklad:

konšt teplota = 20;
konšt vlhkosť = 60;
konzoly.data({ teplota, vlhkosť });

Ak chcete získať prístup k zaznamenaným údajom, môžete prejsť na DeviceScript - Výstup údajov panela v kóde Visual Studio alebo si ho stiahnite z ponuky zobrazenia.

Výkonné formátovanie reťazcov

Pri použití console.log() funkciu v DeviceScript, máte veľa možností formátovania reťazcov pre vylepšený výstup. Zvážte nasledujúce názorné príklady:

nech x = 0;
nech y = 4;
konzoly.log("Zdravím, svet");
konzoly.log("Hodnota X je", X, "kým je Y", y);
konzoly.log("X =", X, "Y=", y);
konzoly.log(`X=$ {x} Y=${y}`);
konzoly.log("X =" + x + " Y=" + y);

Kompilátor DeviceScript automaticky vkladá medzery, čo vedie k lepšie čitateľnému výstupu. Napríklad sa získa druhý a tretí príklad Hodnota X je 7, zatiaľ čo Y je 12 a X = 7 Y = 12, resp.

Pri zápise do registrov môžete použiť aj zreťazené a šablónové literály. Zvážte nasledujúci útržok kódu:

konšt obrazovka = Nový ds. CharacterScreen();
nech x = 7;
screen.message.write("Hodnota X je" + x);
screen.message.write(`X sa rovná $ {x}`);

Pomocou zreťazených alebo šablónových literálov môžete bez námahy zostaviť dynamické reťazce, ktoré uspokoja rôznorodú škálu požiadaviek.

Okrem toho DeviceScript ponúka ds.format() funkcia pre pokročilé formátovanie reťazcov. Túto funkciu môžete použiť v spojení s console.log() alebo pri konfigurácii reťazcových registrov.

Zadajte zástupné symboly pre argumenty pomocou formátu {0}, {1}, {2}, a tak ďalej. Môžete tiež určiť presnosť pripojením druhej číslice.

Všimnite si nasledujúci príklad:

konšt obrazovka = Nový ds. CharacterScreen();
nech x = 7;
nech y = 12;
konzoly.log (ds.format("X je {0} a Y je {1}", x, y));
konzoly.log (ds.format("X = {04}", X));
screen.message.write (ds.format("X je približne {0}", X));

Majte na pamäti, že zadanie presnosti pomocou druhej číslice nemusí priniesť bezchybné výsledky vo všetkých scenároch.

Klienti: Umožnenie interakcie so senzormi a ovládačmi

Ekosystém DeviceScript abstrahuje interakciu so senzormi, ovládačmi a inými hardvérovými komponentmi prostredníctvom služieb Jacdac.

Tento rámec zaobchádza so senzormi ako so servermi, zatiaľ čo vaše skripty pripájajú klientov k týmto serverom, aby uľahčili interakciu. Na ilustráciu tohto konceptu zvážte scenár regulátora domáceho vykurovacieho systému.

Vykurovací systém obsahuje relé, ktoré reguluje činnosť pece, snímač teploty a otočný snímač na nastavenie požadovanej teploty. V DeviceScript definujete klientov, nazývaných aj roly, pre každú požadovanú službu.

Pozrite sa na nasledujúci útržok kódu:

importovať { Teplota, relé } od"@devicescript/core";
konšt teplomer = Nový Teplota();
konšt teplomer2 = Nový Teplota();
konšt relé = Nový Relé();

Inštanciovaním potrebných klientov služby, ako napr teplomer, teplomer 2, a relé, nadviažete bezproblémovú komunikáciu s príslušnými servermi.

Hardvérové ​​servery DeviceScript

Na interakciu s akýmkoľvek hardvérovým komponentom v DeviceScript použijete servisných klientov. Pre efektívne programovanie týchto hardvérových komponentov je však nevyhnutné inicializovať servisné servery na základnom hardvéri.

DeviceScript ponúka širokú škálu serverov v rámci @devicescript/servers modul, čím sa tento proces zefektívni.

Napríklad, StartButton funkcia vám umožňuje nasadiť button server na konkrétnom pine a získať zodpovedajúceho klienta. Všimnite si nasledujúci príklad:

importovať { gpio } od"@devicescript/core";
importovať { startButton } od"@devicescript/servers";
konšt buttonA = startButton({ špendlík: gpio(2),});

Začlenením tohto útržku kódu do skriptu získate možnosť interakcie s pinom 2 (identifikátor špecifický pre hardvér) prostredníctvom tlačidloA zákazník. Potom sa môžete prihlásiť na odber udalostí, ako sú stlačenia tlačidiel, a vykonávať špecifické akcie v rámci vašej aplikácie IoT.

Posilnenie vývoja internetu vecí pomocou DeviceScript

DeviceScript vám umožňuje využiť TypeScript pre malé zariadenia internetu vecí a optimalizovať kód pre obmedzené prostredia. Jeho výstup na konzolu zjednodušuje protokolovanie a vizualizáciu údajov. Abstrahovaním interakcie hardvéru prostredníctvom služieb Jacdec zefektívňuje komunikáciu so senzormi a akčnými členmi.

DeviceScript, integrovaný s kódom Visual Studio, ponúka komplexné prostredie pre vývoj, vďaka čomu je cenným nástrojom pre efektívne a bezpečné riešenia internetu vecí. S DeviceScript a Visual Studio Code môžete s istotou vytvárať riešenia IoT, ktoré sú nielen efektívne, ale tiež si zachovávajú vysokú úroveň zabezpečenia počas celého procesu vývoja.