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

LEGO'dan yapılmış break dansçı modeli.

LEGO® Education SPIKE™ Prime Seti, 6-8. sınıflardaki (yaklaşık 11-13 yaş) öğrenciler için bir STEAM (bilim, teknoloji, mühendislik, sanat ve matematik) öğrenme aracıdır.

Renkli LEGO yapı elemanlarını, kullanımı kolay donanımı ve Scratch ile Python'a dayalı sezgisel bir sürükle ve bırak kodlama dilini bir araya getiren SPIKE Prime, öğrencileri öğrenme seviyelerinden bağımsız olarak eğlenceli öğrenme etkinlikleriyle sürekli olarak meşgul ederek eleştirel düşünmeye ve karmaşık sorunları çözmeye teşvik eder.

Programlama deneyimi

Öğrenciler, modellerini programlamak için simge bloklarını, kelime bloklarını (varsayılan) veya Python kodunu kullanır. Programlama ortamı, okuldaki erken dönem STEAM eğitiminden birçok öğrencinin aşina olduğu Scratch düzenleyicisinden uyarlanmıştır.

İki görsel modda öğrenciler, blokları sürükleyip programlama tuvaline bırakarak birbirine bağlar. Çeşitli blokları birbirine bağlayarak birleştirirler.

Kelime bloklu program içeren LEGO programlama ortamı.

Daha ileri seviyedeki öğrenciler, doğrudan gerçek Python kodu kullanmayı tercih edebilir. Bu kod, öğrencileri kod yazarken desteklemek için entegre bir bilgi tabanıyla birlikte gelir.

Python programı içeren LEGO programlama ortamı.

LEGO Education SPIKE uygulamasında bir program oluşturduktan sonra öğrenciler, programı Bluetooth veya USB bağlantısı üzerinden LEGO Education Spike Prime hub'ına gönderir. Hub, programı çalıştırır ve LEGO modelini kontrol eder.

Dahil edilen donanım

SPIKE Education setinin beyni olan hub, sensörler ve motorlar gibi çeşitli donanımları kontrol etmeye yarar. Kitte renk sensörü, mesafe sensörü ve kuvvet sensörü bulunur. Ayrıca biri büyük, biri orta olmak üzere iki motor vardır. Hub, Bluetooth veya USB ile bilgisayara bağlanır.

LEGO SPIKE Education setinin programlanabilir parçaları.
Büyük göbek, renk, mesafe ve kuvvet için üç sensör ve iki motor.

Desteklenen uygulamalar

LEGO, platforma özel uygulamaların yanı sıra spike.legoeducation.com adresinden erişilebilen SPIKE web uygulamasını da sunar. Uygulama, tarayıcıda önbelleğe alınmaz. Bu nedenle, web uygulamasının çalışması için kullanıcıların her zaman internete bağlı olması gerekir.

LEGO, Windows 10 ve 11'de Chrome tarayıcıları, MacBook'ları ve Chromebook'ları resmi olarak destekler. Önbelleğe alma iyileştirmeleri ve uygulamanın yüklenebilir hâle getirilmesi, gelecekte planlanan özellikler arasındadır.

SPIKE Hub'a bağlanma

SPIKE Prime ve SPIKE Essential hub'ları Bluetooth veya USB kullanarak bilgisayara bağlanabilir. Web uygulaması varsayılan olarak 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 bağlantı akışı, USB kablosu dışında neredeyse aynıdır.

USB bağlantı talimatlarını içeren LEGO Education SPIKE uygulaması.

Bağlantı kurulduktan sonra öğrenciler programlarını büyük hub'ın 20 depolama alanından birine yükler.

LEGO Education SPIKE "Download to Hub" kullanıcı arayüzü.

Merkezle iletişim kurmak için Web Bluetooth ve Web Serial API'nin sırasıyla BluetoothDevice veya SerialPort gerekir. Bunlar, canlı uygulamadan alınan kod snippet'lerinde 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
});

Önce web'i kullanmanın 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ına ek olarak platforma özel uygulamaların eski sürümlerini kullanıma sunmaktadır. LEGO geliştiricileri, Chrome'daki temel web donanımı API'lerini destekleyen platformlarda (macOS, Windows ve ChromeOS) web uygulamasını kullanıma sunarak uygulama bakım yüklerini önemli ölçüde azaltabilir.

Bir diğer neden ise indirme boyutudur. Web uygulaması toplamda 20 MB'tan daha az yer kaplarken macOS ve iPadOS uygulaması 115 MB, Android uygulaması 178 MB ve Windows uygulaması 292 MB boyutundadır. Ancak ilk yükleme, sınıflarda ihtiyaç duyulan ders materyallerini içermez. Bu materyal indirildikten sonra boyut yaklaşık 1 GB artar. Web uygulamasında ders içeriği yayınlanır. Bu sayede kullanıcılar her zaman en yeni sürüme sahip olur ve yalnızca baktıkları dersi indirir.

Bu teknik nedenlerin yanı sıra, sınıf kullanımının basitliği de web'e öncelik vermenin bir diğer önemli nedenidir. Öğrencilerin bir uygulama yüklemesi ve güncel tutması gerekmez. Bunun yerine, yalnızca bir bağlantıyı takip ederler ve her zaman en son sürümle çalışırlar. LEGO tarafında, uygulama mağazası inceleme süreçlerinden bağımsız olarak içerik güncellemeleri her zaman mümkündür.

Web'de LEGO ile oynama

LEGO her zaman yaratıcı bir şekilde parçaları bir araya getirmekle ilgili olmuştur. LEGO Education SPIKE'ın web tarayıcılarından erişilebilir olması, bu kitin de bu kuralın dışında olmadığını gösteriyor.

Geliştirici topluluğu, SPIKE ile iletişim kuran kodlar oluşturmaya başladı. Örneğin, PyREPL-JS, Tufts Üniversitesi'nde Gabriel Sessions tarafından başlatıldı. PyREPL-JS, web sayfalarının SPIKE hub ile iletişim kurması için bir MicroPython REPL (okuma-değerlendirme-yazdırma döngüsü) sağlar. Yine Tufts'tan Ethan Danahy, bu REPL'yi SPIKE Prime için bir dizi web arayüzünde kullanıyor. Bu arayüzlerden biri de ses dosyasıyla senkronize edilmiş break dansçı.

Üniversite, SPIKE ile Makine Öğrenimi konulu bir atölye çalışması düzenledi ve talimatlar ile kod örneklerinin yer aldığı bir Robotik Oyun Alanı oluşturdu. Başlamak için Hello SPIKE (Merhaba SPIKE) adlı makaleyi inceleyebilirsiniz.

Break dansçı LEGO modeli, bir ses dosyasıyla senkronize edildi.

Web Serial ve Web Bluetooth API'leri, öğrencilerin tarayıcıdan fiziksel LEGO modelleriyle iletişim kurmasına olanak tanıyarak eğitim, yaratıcılık ve eğlence uygulamaları için bir dizi olasılık sunar. Öğrenciler, uygulamayı güncellemeye gerek kalmadan her zaman en yeni sürümünü kullanabilir.

LEGO geliştiriciler uzun vadede daha az uygulama bakımı yapacak. Bu da maliyetin düşmesi ve daha az geliştirme çabası anlamına geliyor. Böylece LEGO'nun en iyi yaptığı iş olan yaratıcılığı ortaya çıkarmak için daha fazla zaman kalacak.