نحوه استفاده LEGO® Education از Web Bluetooth و Web Serial APIs

مدل رقصنده بریک‌دنس که از لگو ساخته شده است.

مجموعه LEGO® Education SPIKE™ Prime ابزار یادگیری STEAM (علوم، فناوری، مهندسی، هنر، و ریاضیات) برای دانش‌آموزان کلاس ششم تا هشتم (حدود ۱۱ تا ۱۳ سال) است.

‫SPIKE Prime با ترکیب عناصر ساختمانی رنگارنگ LEGO، سخت‌افزار آسان‌کاربرد، و زبان کدنویسی کشیدن و رها کردن شهودی مبتنی بر Scratch و Python، به‌طور مداوم دانش‌آموزان را ازطریق فعالیت‌های یادگیری سرگرم‌کننده درگیر می‌کند تا بدون توجه به سطح یادگیری‌شان، تفکر انتقادی داشته باشند و مسائل پیچیده را حل کنند… و درعین‌حال سرگرم شوند!

تجربه برنامه‌نویسی

محصلان از بلوک‌های نماد، بلوک‌های کلمه (پیش‌فرض)، یا کد Python برای برنامه‌ریزی مدل‌هایشان استفاده می‌کنند. محیط برنامه‌نویسی از ویرایشگر Scratch اقتباس شده است که بسیاری از دانش‌آموزان از آموزش اولیه STEAM در مدرسه با آن آشنا هستند.

در دو حالت دیداری، دانش‌آموزان با کشیدن و رها کردن بلوک‌ها، آن‌ها را به بوم برنامه‌نویسی متصل می‌کنند. آن‌ها بلوک‌های مختلف را با متصل کردن آن‌ها به یکدیگر، به هم وصل می‌کنند.

محیط برنامه‌نویسی LEGO با برنامه بلوک کلمه.

محصلین پیشرفته‌تر می‌توانند انتخاب کنند که مستقیماً از کد واقعی Python استفاده کنند که با پایگاه دانش یکپارچه برای پشتیبانی از محصلین درحین کدنویسی ارائه می‌شود.

محیط برنامه‌نویسی LEGO با برنامه Python.

پس‌از اینکه دانش‌آموزان برنامه‌ای در برنامه LEGO Education SPIKE ایجاد کردند، برنامه را ازطریق اتصال بلوتوث یا USB به مرکز LEGO Education Spike Prime ارسال می‌کنند. مرکز برنامه را اجرا می‌کند و مدل LEGO را کنترل می‌کند.

سخت‌افزار گنجانده‌شده

مغز کیت آموزشی SPIKE، هاب است که برای کنترل قطعات سخت‌افزاری مختلف مانند حسگرها و موتورها استفاده می‌شود. این کیت شامل حسگر رنگ، حسگر فاصله، و حسگر فشار است. همچنین دو موتور وجود دارد: یکی بزرگ و یکی متوسط. مرکز با بلوتوث یا USB به رایانه متصل می‌شود.

بخش‌های قابل‌برنامه‌ریزی کیت LEGO SPIKE Education.
مرکز بزرگ، سه حسگر برای رنگ، فاصله، و نیرو، و دو موتور.

برنامه‌های پشتیبانی‌شده

علاوه‌بر برنامه‌های مختص پلاتفرم، ‫LEGO برنامه تحت وب SPIKE را نیز ارائه می‌دهد که در spike.legoeducation.com دردسترس است. این برنامه در مرورگر ذخیره نمی‌شود، بنابراین کاربران همیشه باید به اینترنت متصل باشند تا برنامه تحت وب کار کند.

‫LEGO به‌طور رسمی از مرورگرهای Chrome در Windows 10 و 11،‏ MacBook، و Chromebook پشتیبانی می‌کند. بهبودهای ذخیره در حافظه نهان و امکان نصب برنامه از ویژگی‌های برنامه‌ریزی‌شده برای آینده است.

به SPIKE Hub متصل شوید

مرکز SPIKE Prime و مرکز SPIKE Essential را می‌توان بااستفاده از بلوتوث یا USB به رایانه متصل کرد. به‌طور پیش‌فرض، برنامه وب از بلوتوث با Web Bluetooth API استفاده می‌کند.

یا برنامه وب هنگام اتصال با USB از Web Serial API استفاده می‌کند. در هر دو حالت، به‌جز کابل USB، روند اتصال تقریباً یکسان است.

دستورالعمل‌های برنامه LEGO Education SPIKE با اتصال USB.

پس‌از اتصال، محصلین برنامه‌هایشان را در یکی از ۲۰ جایگاه ذخیره‌سازی مرکز بزرگ بارگذاری می‌کنند.

کاربربر «بارگیری در مرکز» 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
});

دلایل استفاده از رویکرد وب‌محور و استفاده از Web Hardware APIs

درحال‌حاضر، LEGO نسخه‌های مستقل برنامه خود را برای Android،‏ macOS/iPadOS، و Windows نگهداری می‌کند؛ به‌علاوه نسخه‌های قدیمی برنامه‌های مختص پلاتفرم در بالا، علاوه‌بر برنامه وب. با ارائه برنامه وب در پلاتفرم‌هایی که از «میاناهای برنامه‌سازی کاربردی» سخت‌افزار وب زیربنایی در Chrome پشتیبانی می‌کنند، یعنی macOS،‏ Windows، و ChromeOS، توسعه‌دهندگان LEGO می‌توانند بار نگهداری برنامه خود را به‌طور قابل‌توجهی کاهش دهند.

دلیل دیگر اندازه بارگیری است. برنامه وب در مجموع کمتر از ۲۰ مگابایت بارگیری می‌کند، درحالی‌که برنامه macOS و iPadOS‏ ۱۱۵ مگابایت، برنامه Android‏ ۱۷۸ مگابایت، و برنامه Windows‏ ۲۹۲ مگابایت حجم دارد. بااین‌حال، نصب اولیه شامل مطالب درسی موردنیاز در کلاس‌های درس نمی‌شود. پس‌از بارگیری این مطلب، اندازه آن تقریباً ۱ گیگابایت افزایش می‌یابد. در برنامه وب، محتوای درس جاری‌سازی می‌شود، که به کاربر امکان می‌دهد همیشه جدیدترین نسخه را داشته باشد و فقط درس دقیقی را که درحال مشاهده آن است بارگیری کند.

علاوه‌بر این دلایل فنی، سادگی استفاده از کلاس درس یکی دیگر از دلایل قوی برای استفاده از وب‌سایت است. محصلان نیازی به نصب برنامه و به‌روز نگه داشتن آن ندارند. درعوض، آن‌ها فقط پیوندی را دنبال می‌کنند و همیشه با جدیدترین نسخه کار می‌کنند. از طرف LEGO، به‌روزرسانی‌های محتوا همیشه امکان‌پذیر است و مستقل از فرایندهای بررسی فروشگاه برنامه است.

با LEGO در وب بازی کنید

‫LEGO همیشه درباره مونتاژ خلاقانه قطعات بوده است و با دردسترس بودن LEGO Education SPIKE ازطریق مرورگرهای وب، این کیت نیز از این قاعده مستثنا نیست.

انجمن توسعه‌دهندگان ازقبل شروع به ایجاد کدی کرده است که با SPIKE ارتباط برقرار می‌کند. برای مثال، PyREPL-JS توسط Gabriel Sessions در دانشگاه تافتس شروع شد. ‫PyREPL-JS یک MicroPython REPL (حلقه خواندن-ارزیابی-چاپ) برای صفحه‌های وب فراهم می‌کند تا با مرکز SPIKE ارتباط برقرار کنند. Ethan Danahy، که او هم از دانشگاه تافتس است، سپس از این REPL برای تعدادی از میاناهای وب برای SPIKE Prime استفاده می‌کند که یکی از آن‌ها رقصنده بریک‌دنس هماهنگ با یک فایل صوتی است.

دانشگاه کارگاهی درباره انجام یادگیری ماشین با SPIKE برگزار کرد و زمین بازی رباتیک با دستورالعمل‌ها و نمونه‌های کد میزبانی می‌کند. جای خوبی برای شروع این است که بگویید سلام SPIKE.

مدل رقصنده بریک LEGO با یک فایل صوتی همگام‌سازی شد.

با امکان برقراری ارتباط محصلان با مدل‌های فیزیکی LEGO از داخل مرورگر، میاناهای برنامه‌سازی کاربردی Web Serial و Web Bluetooth دنیایی از امکانات را برای برنامه‌های آموزشی، خلاقانه، و سرگرمی فراهم می‌کنند. دانشجویان همیشه جدیدترین نسخه برنامه را بدون نیاز به به‌روزرسانی آن خواهند داشت.

توسعه‌دهندگان LEGO در درازمدت برنامه‌های کمتری برای نگهداری خواهند داشت، که به معنای کاهش هزینه و تلاش کمتر برای توسعه است و زمان بیشتری برای انجام کاری که LEGO بهترین در آن است باقی می‌گذارد: شکوفا کردن خلاقیت.