LEGO® Education, Web Bluetooth ve Web Serial API'lerini nasıl kullanır?

LEGO'dan yapılan breakdancer modeli.

LEGO® Education SPIKETM Prime Set, altıncı sınıftan sekize kadar (11-13 yaş arası) öğrenciler için tasarlanmış bir STEAM (bilim, teknoloji, mühendislik, sanat ve matematik) öğrenim aracıdır.

Renkli LEGO yapı öğelerini, kullanımı kolay donanımı ve Scratch ile Python'a dayalı sezgisel sürükle ve bırak kodlama dilini bir araya getiren SPIKE Prime, öğrenme seviyeleri ne olursa olsun, eğlenceli öğrenme etkinlikleri yaparak eleştirel düşünmek ve karmaşık sorunları çözmek için sürekli olarak öğrencilerle etkileşime geçer. Bunu eğlenirken de yapar!

Programlama deneyimi

Öğrenciler modellerini programlamak için simge blokları, kelime blokları (varsayılan) veya Python kodu kullanabilir. Programlama ortamı, okuldaki ilk STEAM eğitimine başlayan birçok öğrencinin tanıdığı Scratch düzenleyiciden uyarlanmıştır.

İki görsel modda ise öğrenciler blokları programlama zeminine sürükleyip bırakarak blokları birbirine bağlar. Farklı blokları birbirine bağlayarak birbirine bağlarlar.

Kelime engelleme programıyla LEGO programlama ortamı.

Daha ileri düzey öğrenciler doğrudan gerçek Python kodunu kullanmayı tercih edebilir. Bu uygulama, kod yazarken öğrencileri desteklemek için entegre bir bilgi tabanıyla birlikte sunulur.

Python programıyla LEGO programlama ortamı.

LEGO Education SPIKE uygulamasında bir program oluşturduktan sonra, öğrenciler programı bir Bluetooth veya USB bağlantısı üzerinden LEGO Education Spike Prime merkezine gönderir. Merkez, programı yürütür ve LEGO modelini kontrol eder.

Dahili donanım

SPIKE Education kitinin beyni, sensörler ve motorlar gibi diğer çeşitli donanım parçalarını kontrol etmeyi sağlayan merkezdir. Set bir renk sensörü, mesafe sensörü ve güç sensörü içerir. Ayrıca biri büyük, diğeri orta olmak üzere iki motor da var. Hub, bilgisayara Bluetooth veya USB aracılığıyla bağlanır.

LEGO SPIKE Education kitinin programlanabilir parçaları.
Büyük merkez, üç renk, mesafe ve güç sensörü ve iki motor.

Desteklenen uygulamalar

Platforma özgü uygulamaların yanı sıra LeGO, spike.legoeducation.com adresinden ulaşılabilen SPIKE web uygulamasını da sunar. Uygulama, tarayıcıda önbelleğe alınmadığından web uygulamasının çalışması için kullanıcıların her zaman internete bağlı olması gerekir.

LEGO, Windows 10 ve 11, MacBook ve Chromebook'larda Chrome Tarayıcıları resmi olarak desteklemektedir. Önbelleğe alma iyileştirmeleri ve uygulamayı yüklenebilir hale getirme gelecekte planlanan özelliklerdir.

SPIKE Merkezi'ne bağlanın

SPIKE Prime hub ve SPIKE Essential hub'ı Bluetooth veya USB kullanılarak bilgisayara bağlanabilir. Varsayılan olarak web uygulaması, Web Bluetooth API ile Bluetooth'u kullanır.

Alternatif olarak web uygulaması, USB ile bağlandığında Web Serial API'yi kullanır. Her iki durumda da, USB kablosu dışında bağlantı akışı neredeyse aynıdır.

USB bağlantısı talimatlarına sahip LEGO Education SPIKE uygulaması.

Bağlantı kurulduğunda, öğrenciler programlarını büyük merkezdeki 20 depolama yuvasından birine yükler.

LEGO Education SPIKE "Hub'a İndir" kullanıcı arayüzü.

Merkez ile iletişim kurmak için Web Bluetooth ve Web Serial API'nin sırasıyla bir BluetoothDevice veya SerialPort olması gerekir. Bu bilgiler, canlı uygulamadan alınan kod snippet'lerinden elde edilir.

Web Bluetooth API bağlantısı

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

Web Serial API bağlantısı

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

Web'e öncelik vermenin ve web donanımı API'lerini kullanmanın nedenleri

LEGO, şu anda Android, macOS/iPadOS ve Windows için uygulamalarının bağımsız sürümlerini, ayrıca web uygulamasının yanı sıra platforma özgü uygulamaların da eski sürümlerini sağlamaktadır. Web uygulamasını Chrome'daki temel web donanımı API'lerini destekleyen platformlara, yani macOS, Windows ve ChromeOS'e yönlendiren platformlara yayınlayarak geliştiriciler, uygulama bakım yükünü önemli ölçüde azaltabilir.

Diğer bir neden de indirme boyutudur. Web uygulaması toplam indirme boyutu 20 MB'tan azken, macOS ve iPadOS uygulaması 115 MB, Android uygulaması 178 MB ve Windows uygulaması 292 MB boyutundadır. Ancak ilk yüklemede, sınıflar için gereken ders materyalleri yer almıyor. Bu materyal indirildikten sonra boyut yaklaşık 1 GB artar. Web uygulamasında ders içeriği akış şeklinde sunulur. Bu da kullanıcının her zaman en son sürüme sahip olmasına ve yalnızca tam olarak aradığı dersi indirmesine olanak tanır.

Bu teknik nedenler dışında, sınıf kullanımının basitliği web'e öncelik vermenin önemli argümanlarından biridir. Öğrencilerin bir uygulama yükleyip güncel tutması gerekmez. Bunun yerine, bir bağlantıyı izlerler ve her zaman en yeni sürümle çalışırlar. LEGO'nun tarafında içerik güncellemeleri, uygulama mağazası inceleme süreçlerinden bağımsız olarak her zaman mümkündür.

Web'de LEGO ile kurcalama

LEGO'nun amacı her zaman tuğlaları yaratıcı bir şekilde monte etmekti ve LEGO Education SPIKE'a web tarayıcılarından erişilebildiğinden, bu set de kuraldan farklı değil.

Geliştirici topluluğu çoktan SPIKE ile iletişim kuran bir kod oluşturmaya başladı. Örneğin, PyREPL-JS, Tufts Üniversitesi'ndeki Gabriel Sessions tarafından başlatıldı. PyREPL-JS, web sayfalarının SPIKE merkeziyle iletişim kurabilmesi için bir MicroPython REPL (okuma-değerlendirme-yazdırma döngüsü) sağlar. Yine Tufts'tan Ethan Danahy de bu REPL'yi bir dizi SPIKE Prime için Web Arayüzleri için kullanıyor. Bunlardan biri, ses dosyasıyla senkronize edilen

Üniversite, SPIKE ile Makine Öğrenimi konulu bir atölye çalışması ve talimatlar ile kod örneklerinin bulunduğu bir Robotik Oyun Alanı'na ev sahipliği yaptı. Hello SPIKE, başlangıç için iyi bir yerdir.

Bir ses dosyasıyla senkronize edilmiş breakdancer LEGO modeli.

Web Serial ve Web Bluetooth API'ları, öğrencilerin tarayıcı içinden fiziksel LEGO modelleriyle iletişim kurmasına olanak tanıyarak; eğitsel, yaratıcı ve eğlence uygulamaları için çeşitli olasılıkların önünü açar. Öğrenciler, güncelleme yapmaları gerekmeden her zaman uygulamanın en son sürümüne sahip olur.

LEGO geliştiricilerinin uzun vadede bakımı daha az uygulaması olacaktır. Bu da daha az maliyet ve geliştirme çabası anlamına gelir; dolayısıyla, LEGO'nun en iyi bilinen işi olan, yaratıcılığın kilidini açmalara daha fazla zaman kalır.