שיפור TypeScript של מיקרוסופט יכול לעזור לך לפתח מערכות מורכבות המופעלות על ידי האינטרנט של הדברים.

DeviceScript הוא חידוש חדשני מבית Microsoft Research. זה מרחיב את היכולות של TypeScript כדי להתאים למכשירי אינטרנט של הדברים (IoT) בקנה מידה קטן עם משאבים מוגבלים.

המטרה העיקרית שלו היא לאפשר לך לכתוב קוד ב-TypeScript ולהדר אותו לקוד בתים מותאם אישית, מותאם לפריסה בסביבות מוגבלות במשאבים.

פלט מסוף ב-DeviceScript

Microsoft DeviceScript מציע קונסולה ידידותית למשתמש. הוא תומך בפלט הודעות וברישום של נתוני חיישן אך משמש גם כ כלי חשוב לבדיקת שגיאות.

מגוון פונקציות עומד לרשותך לרישום הודעות עם רמות יומן שונות:

לְנַחֵם.לנפות("לנפות")
לְנַחֵם.עֵץ("עֵץ")
לְנַחֵם.לְהַזהִיר("לְהַזהִיר")
לְנַחֵם.שְׁגִיאָה("שְׁגִיאָה")

פלט המסוף גלוי בחלון מסוף DeviceScript. זה יכול לעזור לספק תובנות חשובות לגבי הפעלת הקוד שלך ולסייע בתהליך של איתור באגים.

יתר על כן, DeviceScript מפשט את רישום נתוני החיישן על ידי אספקת console.data פונקציה, שמוסיפה אוטומטית חותמת זמן לנתונים הרשומים.

שקול את הדוגמה הבאה:

const טמפרטורה = 20;
const לחות = 60;
לְנַחֵם.data({ טמפרטורה, לחות });
instagram viewer

כדי לגשת לנתונים הרשומים, אתה יכול לנווט אל DeviceScript - פלט נתונים חלונית ב-Visual Studio Code או הורד אותה מתפריט התצוגה.

עיצוב מחרוזת רב עוצמה

בעת שימוש ב console.log() פונקציה ב-DeviceScript, יש לך אפשרויות רבות לעיצוב מחרוזות לתפוקה משופרת. שקול את הדוגמאות הממחישות הבאות:

לתת x = 0;
לתת y = 4;
לְנַחֵם.עֵץ("בברכה, עולם");
לְנַחֵם.עֵץ("הערך של X הוא", איקס, "בזמן ש-Y הוא", y);
לְנַחֵם.עֵץ("X=", איקס, "Y=", y);
לְנַחֵם.עֵץ(`X=${x} Y=${y}`);
לְנַחֵם.עֵץ("X=" + x + "Y=" + y);

מהדר DeviceScript מוסיף רווחים באופן אוטומטי, וכתוצאה מכך פלט קריא יותר. לדוגמה, הדוגמא השנייה והשלישית תייצר הערך של X הוא 7 בעוד Y הוא 12 ו X=7 Y=12, בהתאמה.

בעת כתיבה לרישומים, אתה יכול גם להשתמש בשרשור ותבניות מילוליות. שקול את קטע הקוד הבא:

const מסך = חָדָשׁ ds. CharacterScreen();
לתת x = 7;
screen.message.write("הערך של X הוא" + x);
screen.message.write(`X שווה ל ${x}`);

באמצעות שרשור או מילוליות של תבניות, אתה יכול בקלות לבנות מחרוזות דינמיות כדי לענות על מגוון רחב של דרישות.

יתר על כן, DeviceScript מציע את ds.format() פונקציה עבור עיצוב מחרוזת מתקדם. אתה יכול להשתמש בפונקציה זו בשילוב עם console.log() או בעת הגדרת אוגרי מחרוזות.

ציין מצייני מיקום עבור ארגומנטים באמצעות הפורמט {0}, {1}, {2}, וכן הלאה. ניתן גם לציין דיוק על ידי הוספת ספרה שנייה.

שימו לב לדוגמא הבאה:

const מסך = חָדָשׁ ds. CharacterScreen();
לתת x = 7;
לתת y = 12;
לְנַחֵם.log (ds.format("X הוא {0} ו-Y הוא {1}", x, y));
לְנַחֵם.log (ds.format("X = {04}", איקס));
screen.message.write (ds.format("X הוא בערך {0}", איקס));

זכור כי ציון דיוק עם ספרה שנייה עשוי שלא להניב תוצאות ללא רבב בכל התרחישים.

לקוחות: מאפשר אינטראקציה עם חיישנים ומפעילים

המערכת האקולוגית של DeviceScript מפשטת אינטראקציה עם חיישנים, מפעילים ורכיבי חומרה אחרים באמצעות שירותי Jacdac.

מסגרת זו מתייחסת לחיישנים כאל שרתים, בעוד שהסקריפטים שלך מחברים לקוחות לשרתים אלה כדי להקל על האינטראקציה. כדי להמחיש מושג זה, שקול את התרחיש של בקר מערכת חימום ביתית.

מערכת החימום כוללת ממסר המווסת את פעולת התנור, חיישן טמפרטורה ומקודד סיבובי להתאמת הטמפרטורה הרצויה. ב-DeviceScript, אתה מגדיר לקוחות, המכונים גם תפקידים, עבור כל שירות נדרש.

תסתכל על קטע הקוד הבא:

יְבוּא { טמפרטורה, ממסר } מ"@devicescript/core";
const מדחום = חָדָשׁ טֶמפֶּרָטוּרָה();
const מדחום2 = חָדָשׁ טֶמפֶּרָטוּרָה();
const ממסר = חָדָשׁ ממסר();

על ידי מופע של לקוחות השירות הדרושים, כגון מד חום, מדחום 2, ו ממסר, אתה יוצר תקשורת חלקה עם השרתים המתאימים.

שרתי חומרה של DeviceScript

כדי ליצור אינטראקציה עם כל רכיב חומרה ב-DeviceScript, אתה מעסיק לקוחות שירות. עם זאת, עבור תכנות יעיל של רכיבי חומרה אלה, הכרחי לאתחל שרתי שירות על החומרה הבסיסית.

DeviceScript מציע מגוון רחב של שרתים בתוך @devicescript/שרתים מודול, ובכך לייעל את התהליך הזה.

לדוגמה, ה כפתור התחל הפונקציה מאפשרת לך לפרוס שרת לחצנים על פין מסוים ולהשיג את הלקוח המתאים. שימו לב לדוגמא הבאה:

יְבוּא {gpio} מ"@devicescript/core";
יְבוּא { כפתור התחל } מ"@devicescript/שרתים";
const buttonA = startButton({ פִּין:gpio(2),});

על ידי שילוב קטע קוד זה בסקריפט שלך, אתה מקבל את היכולת ליצור אינטראקציה עם פין 2 (המזהה הספציפי לחומרה) באמצעות כפתור א לָקוּחַ. לאחר מכן תוכל להירשם לאירועים כגון לחיצות על כפתורים ולבצע פעולות ספציפיות בתוך אפליקציית ה-IoT שלך.

העצמת פיתוח IoT עם DeviceScript

DeviceScript מאפשר לך למנף את TypeScript עבור התקני IoT קטנים, תוך אופטימיזציה של קוד עבור סביבות מוגבלות. פלט המסוף שלו מפשט רישום והדמיית נתונים. על ידי הפשטת אינטראקציית חומרה באמצעות שירותי Jacdec, היא מייעלת את התקשורת עם חיישנים ומפעילים.

משולב עם Visual Studio Code, DeviceScript מציע סביבה מקיפה לפיתוח, מה שהופך אותו לכלי בעל ערך עבור פתרונות IoT יעילים ומאובטחים. עם DeviceScript ו-Visual Studio Code, אתה יכול לבנות בביטחון פתרונות IoT שהם לא רק יעילים אלא גם שומרים על רמת אבטחה גבוהה לאורך כל תהליך הפיתוח.