איך חברת LEGO® Education משתמשת ב-Bluetooth באינטרנט ובממשקי Web Serial API

מודל של רקדן ברייקדאנס שהורכב מלגו.

‫LEGO® Education SPIKE™ Prime Set הוא כלי ללימוד STEAM (מדע, טכנולוגיה, הנדסה, אומנות ומתמטיקה) לתלמידים בכיתות ו' עד ח' (בגיל 11 עד 13 בערך).

ערכת SPIKE Prime משלבת בין חלקי בנייה צבעוניים של LEGO, חומרה קלה לשימוש ושפת תכנות אינטואיטיבית של גרירה ושחרור שמבוססת על Scratch ו-Python. הערכה מעודדת את התלמידים לחשיבה ביקורתית ולפתרון בעיות מורכבות באמצעות פעילויות למידה מהנות, ללא קשר לרמת הלמידה שלהם… וכל זאת תוך כדי הנאה!

ניסיון בתכנות

התלמידים משתמשים בבלוקים של סמלים, בבלוקים של מילים (ברירת מחדל) או בקוד Python כדי לתכנת את המודלים שלהם. סביבת התכנות מבוססת על כלי העריכה של Scratch, שמוכר לתלמידים רבים כבר מלימודי STEAM בבית הספר.

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

סביבת התכנות של LEGO עם תוכנית של בלוק מילים.

תלמידים מתקדמים יותר יכולים לבחור להשתמש ישירות בקוד Python אמיתי, שכולל בסיס ידע משולב לתמיכה בתלמידים בזמן שהם כותבים קוד.

סביבת התכנות של LEGO עם תוכנת Python.

אחרי שהתלמידים יוצרים תוכנית באפליקציית LEGO Education SPIKE, הם שולחים את התוכנית למרכז הבקרה של LEGO Education Spike Prime באמצעות חיבור Bluetooth או USB. המרכז מפעיל את התוכנית ושולט במודל LEGO.

ציוד כלול

המוח של ערכת SPIKE Education הוא הרכזת, שמשמשת לשליטה בחלקים שונים של החומרה, כמו החיישנים והמנועים. הערכה כוללת חיישן צבע, חיישן מרחק וחיישן כוח. יש גם שני מנועים: אחד גדול ואחד בינוני. המרכזייה מתחברת למחשב באמצעות Bluetooth או USB.

החלקים הניתנים לתכנות בערכת LEGO SPIKE Education.
המרכז הגדול, שלושה חיישנים לצבע, למרחק ולכוח ושני מנועים.

אפליקציות נתמכות

בנוסף לאפליקציות ספציפיות לפלטפורמה, חברת LEGO מציעה גם את אפליקציית האינטרנט SPIKE, שאפשר לגשת אליה בכתובת spike.legoeducation.com. האפליקציה לא נשמרת במטמון בדפדפן, ולכן המשתמשים תמיד צריכים להיות מחוברים לאינטרנט כדי שאפליקציית האינטרנט תפעל.

‫LEGO תומכת באופן רשמי בדפדפני Chrome ב-Windows 10 וב-Windows 11, במחשבי MacBook ובמחשבי Chromebook. אנחנו מתכננים להוסיף בעתיד שיפורים במטמון ואפשרות להתקין את האפליקציה.

חיבור ל-SPIKE Hub

אפשר לחבר את מרכז הבקרה של SPIKE Prime ואת מרכז הבקרה של SPIKE Essential למחשב באמצעות Bluetooth או USB. כברירת מחדל, אפליקציית האינטרנט משתמשת ב-Bluetooth עם Web Bluetooth API.

לחלופין, אפליקציית האינטרנט משתמשת ב-Web Serial API כשהיא מחוברת באמצעות USB. בשני המקרים, מלבד כבל ה-USB, תהליך החיבור כמעט זהה.

אפליקציית LEGO Education SPIKE עם הוראות לחיבור USB.

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

ממשק המשתמש של LEGO Education SPIKE 'הורדה למרכז'.

כדי לתקשר עם הרכזת, Web Bluetooth ו-Web Serial API צריכים BluetoothDevice או SerialPort בהתאמה. הם מתקבלים בקטעי הקוד שנלקחים מהאפליקציה הפעילה.

חיבור Web Bluetooth API

(X.next = 4),
  navigator.bluetooth.requestDevice({
    filters: [
      {
        namePrefix: 'GDX',
      },
    ],
    optionalServices: ['d91714ef-28b9-4f91-ba16-f0d9a604f112'],
  });

חיבור Web Serial API

const v = yield navigator.serial.requestPort({
  filters: [{
    usbVendorId: Zt.SerialVendorId.LEGO // 1684
  }]
});
yield v.open({
  baudRate: 115200
});

למה כדאי להתחיל עם פיתוח לאינטרנט ולהשתמש בממשקי API של חומרה לאינטרנט

נכון לעכשיו, חברת LEGO מתחזקת גרסאות נפרדות של האפליקציה שלה ל-Android, ל-macOS/iPadOS ול-Windows, בנוסף לגרסאות מדור קודם של האפליקציות הספציפיות לפלטפורמה, וגם אפליקציית אינטרנט. על ידי קידום השימוש באפליקציית האינטרנט בפלטפורמות שתומכות בממשקי ה-API הבסיסיים של חומרת האינטרנט ב-Chrome, כלומר macOS,‏ Windows ו-ChromeOS, מפתחי LEGO יכולים להפחית באופן משמעותי את העומס על תחזוקת האפליקציה.

סיבה נוספת היא גודל ההורדה. אפליקציית האינטרנט שוקלת פחות מ-20MB בסך הכול, ואילו האפליקציות ל-macOS ול-iPadOS שוקלות 115MB, האפליקציה ל-Android שוקלת 178MB והאפליקציה ל-Windows שוקלת 292MB. עם זאת, ההתקנה הראשונית לא כוללת את חומרי הלימוד שנדרשים בכיתות. אחרי שמורידים את החומר הזה, הגודל שלו גדל בכמעט 1GB. באפליקציית האינטרנט, התוכן של השיעור מועבר בסטרימינג, כך שהמשתמש תמיד מקבל את הגרסה העדכנית ויכול להוריד רק את השיעור הספציפי שבו הוא צופה.

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

משחקים עם LEGO באינטרנט

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

קהילת המפתחים כבר התחילה ליצור קוד שמתקשר עם SPIKE. לדוגמה, PyREPL-JS הופעל על ידי Gabriel Sessions ב-Tufts University. ‫PyREPL-JS מספק MicroPython REPL (read–eval–print loop) לדפי אינטרנט כדי לתקשר עם רכזת SPIKE. ‫Ethan Danahy, גם הוא מ-Tufts, משתמש ב-REPL הזה כדי ליצור כמה ממשקי אינטרנט ל-SPIKE Prime, שאחד מהם הוא breakdancer שמסונכרן עם קובץ אודיו.

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

מודל ה-LEGO של ברייקדאנס מסונכרן עם קובץ אודיו.

ה-Web Serial ו-Web Bluetooth APIs מאפשרים לתלמידים לתקשר עם דגמי LEGO פיזיים מתוך הדפדפן, וכך נפתח עולם של אפשרויות ליישומים חינוכיים, יצירתיים ובידוריים. הסטודנטים תמיד יוכלו להשתמש בגרסה העדכנית של האפליקציה בלי צורך לעדכן אותה.

בטווח הארוך, למפתחי LEGO יהיו פחות אפליקציות לתחזוקה, מה שאומר שהעלויות יפחתו והמאמץ הנדרש לפיתוח יהיה קטן יותר. כך יישאר יותר זמן לעשות את מה ש-LEGO הכי טובה בו: לעורר השראה ליצירתיות.