Scratch 3.0 - Microbit Erweiterung nicht kompatibel mit Calliope

Auf Imoox hat Mirek eine Anleitung mit Umweg über den seriellen Port veröffentlicht. Oh, leider lassen sich keine pdfs hochladen.

1 „Gefällt mir“

Ich habe auf github mal nach den Sources für die Hex gefragt, weil ich leider dazu nichts finden konnte.
So wie sich die Scratch-Extension liest, nutzen die den UART-Bluetooth-Dienst. Ich kann mal versuchen, das zu replizieren, falls niemand auf die Anfrage nach dem Source antwortet.
Ich sehe aber große Chancen, dass der Mini 100% mit der aktuellen Microbit-Extension von Scratch funktioniert.

Wenn du das passenden hex-file hast garantiert. Mini und microbit können sich ja auch untereinander unterhalten.

Gibt es Neuigkeiten? Wo findet man die Anleitung für einen Umweg via seriellem Port?

1 „Gefällt mir“

Gibt es inzwischen eine Möglichkeit, mit Scratch den Calliope Mini zu programmieren?

Hier ist die Anleitung von Mirek Hancl @infchem - momentan noch auf unserem Coding & Making MOOC- aber bald werden alle Inhalte auf einer zentralen Seite frei verfügbar gemacht - für einen einfachen Zugriff (auch der MOOC steht natürlich unter einer CC Lizenz - und lohnt sich echt :smile:

Scratch mit Calliope mini steuern

https://imoox.at/mooc/pluginfile.php/155981/mod_resource/content/2/CMU_Calliope_Scratch.pdf

Autor: Mirek Hancl
Dieses Werk ist lizenziert unter einer
Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.
Making-Level: individuell Coding-Level: mittel
Material
Calliope, USB-Kabel, Windows-Rechner,
mbed-Teiber ( https://os.mbed.com/docs/mbedos/v5.12/tutorials/windows-serial-driver.html ), Serial2Keyboard ( nur Windows,
https://sourceforge.net/projects/serialporttokey/files/Executables/Beta/0.1.2.0/ )

1 Lade den mbed-Treiber auf der oben angegebenen Adresse unter 1. herunter. Verbinde den Calliope mini per USB mit dem WindowsRechner! Installiere den heruntergeladenen Treiber

2 Öffne nach der Installation den Geräte-Manager (Windows-Taste+X) und klappe den Zweig „Anschlüsse“ auf. Merke dir die Zahl in den Klammern hinter „mbed Serial Port“.

3 Lade dir Serial2Key herunter über die oben angegebene Adresse.

4 Programmiere den Calliope. In MakeCode findest du unter „Fortgeschritten“, „Serielle“ die Blöcke zum Übertragen von Daten über die serielle Verbindung. Verwende „serielle Zeile ausgeben“, um einzelne Buchstaben zu übertragen. Verwende nur einzelne Kleinbuchstaben!

5 Starte Serial2Keyboard. Wähle links den COM-Port aus, den du in Schritt 2 ermittelt hast. Wähle rechts „115200“ aus. Klicke auf „Enable“.

6 Erstelle in Scratch ein Projekt, das auf das Ereignis „Wenn Taste gedrückt wird“ reagiert. Stelle die Taste entsprechend der vom Calliope übertragenen Zeichen ein. Erstelle für jedes übermittelte Zeichen ein Ereignis in Scratch.

7 Tipp: Die Steuerung muss nicht auf die Buttons A und B beschränkt sein. Es kann jederzeit vom Calliope ein Zeichen seriell übertragen werden!

Konstruktionsideen Verrückte Gamecontroller mit selbstgebauten Schaltern. Quizshow für das Klassenzimmer: 4 Buzzer und Scratch über den Beamer. Interaktive Schnittstellen-Artefakte: Helligkeitssensor als Näherungssensor und die Sonne geht in Scratch unter :slight_smile:

Jetzt haben wir ja 2020. Wann kommt denn nun endlich die Calliope Erweiterung?

Sobald das Scratch Team dieses erlaubt – und die versprochene Schnittstelle freigibt…
Die MakeCode Hex ist z.B. closed source. Das wäre zwar kein wirkliches Problem, da die nicht so komplex ist, der Link ist aber bislang nicht so richtig verständlich und es gibt nur microbit Assets.

Vielleicht also direkt dort nachfragen? Je mehr denen der Bedarf klar wird, desto schneller wird es da ein Update geben.

Bis dahin ansonsten einfach mal mit der Anleitung von Mirek spielen. Die ist ja nur ein Stück weiter oben beschrieben.

Es ist doch schon lange möglich eigene Extensions zu programmieren. Auf welche Schnittstelle wartet Ihr da denn noch? Würde mich sehr überraschen, wenn das Scratch-Team eine deutsche Insellösung wie den Calliope aus Eigeninitiative einbindet. Darauf zu warten erscheint mir wenig zielführend.
Wenn ich als Fortbildner den Calliope Grundschulkolleg:innen vermitteln soll, hilft mir die Workaround-Lösung weiter oben leider überhaupt nicht weiter. Stand jetzt muss ich den Kolleg:innen aufgrund der besseren Einbidung in bestehende Öko-Systeme immer den Microbit empfehlen. Das finde ich schade.
Da könnte das Calliope Team ansetzen und mit einer eigenen Scratch-Extension zumindest in diesem Bereich Abhilfe schaffen und es Multiplikator:innen erleichtern guten Gewissens den Calliope zu empfehlen.

Mein Stand dazu ist folgender:

Distributing Extensions An extension distribution strategy is still being worked out. The Scratch team will probably host a small library of „supported“ extensions. Users will be able to browse and select extensions from this library from within the Scratch editor. Supported extensions would be checked for quality and safety by the Scratch team. There are likely be strict criteria for including an extension in the Scratch-team supported extensions library, such as command set clarity and ease of use, size of the potential audience, widespread availability of any associated hardware, and a long-term commitment to support the extension. …

Eben von der Webseite kopiert. Aktuellere Infos liegen mir auch nicht vor und darauf warten wir.
Ein anderes Vorgehen wäre für mich das vorantreiben einer Insellösung…

Was spricht dagegen einen eigenen Scratch build vorzuhalten und dort eine Calliope extension zur Verfügung zu stellen?
Zumal Ihr ja scheinbar seit geraumer Zeit keinerlei Signale vom MIT erhaltet, dass Calliope in absehbarer Zukunft vom MIT selbst integriert wird.
Ich würde ja wirklich gern den Calliope empfehlen, aber wenn der Microbit für den halben Preis deutlich besser integrierte Microcontrollerarbeit an Schulen erlaubt, kann ich das nicht reinen Gewissens tun.

Naja, ein eigener Build, mit eigener Extension. Das ist ja leider eben die Insellösung, die doch eigentlich niemand möchte. Wir gehen an einigen Stellen unseren eigenen Weg und werden dies sicherlich auch bei Scratch nicht völlig außer Acht lassen, aber das ist einfach nicht unerheblich vom Aufwand her und dann ist die Frage, wie stark eine eigene Lösung angenommen werden würde (bzw. wie stark überhaupt der Bedarf nach einer Scratch-Lösung ist). Für dich ist Scratch wichtig, für andere Python, für die nächsten Swift und alle hätten natürlich gern die Perfekte Lösung für den eigenen Unterricht… Wir sind an sehr vielem dran, aber es dauert und in diesem Fall müssen sich irgendwie auch erstmal die von Scratch klarwerden, wie das alles laufen soll.

Sobald wir ein paar andere Themen bearbeitet haben, steht auch bestimmt wieder Scratch an, manchmal geht es durch einen solchen Austausch ja aber auch schneller als gedacht (unsere Prioritäten setzen wir durchaus abhängig von Nachfragen)…

1 „Gefällt mir“

Du kannst dir aber auch mal MicroBlocks oder Snap! anschauen. Für beide gibt es Calliope Unterstützung und das sind Scratch Alternativen. Teile vom ursprünglichen Entwicklerteam von Scratch sind beim MicroBlocks und Snap! Team dabei…

Hallo. Gibt es Neuigkeiten zu Scratch und Calliope?
Leider ist aus meiner Sicht Calliope eine Insel. In unseren Medienpädagogik Projekten haben wir neben Raspberries, Arduinos, Makeys auch noch Calliope in unseren Materialpaketen. Wir versuchen desöfteren Installationen zu bauen bei denen alle Geräte als Controller für Spiele (von Scratch platformern bis Bewegungsspiele, escape rooms) verwendet werden sollen. Leider sehe ich auch so wenig Schnittstellen Möglichkeiten den Calliope als zB Gamecontroller mit den anderen Systemen kommunizieren lassen. Leider ist der Calliope bis jetzt eine Insel und wird ggf bald aus unseren Materialpaketen gestrichen.
Ich hoffe ehrlich neben Scratch für Schnittstellen…

Kann man zB dieses micobit project auf den Calliope übertragen ??

@morez naja du kannst beim Calliope über die serielle UART Schnittstelle oder i2c auch mit nem rpi, arduino oder PC kommunizieren. Als Editoren hast du eben eher makecode oder openroberta
mit denen ja auch Spiele, Lego EV3 oder Arduino’s (ähnliche) programmiert werden können.

Kann man zB dieses micobit project auf den Calliope übertragen ??

Kannst du bei scratch sowas wie:
wenn seriell lesen =A bewege nach links
wenn seriell lesen =B bewege nach rechts

Der Calliope mini ist, wie @RoBiN auch schon geschrieben hat, keine Insel, sondern durchaus (relativ einfach) seriell nutzbar (und wird übrigens in tausenden Schulen in Deutschland eingesetzt).
Thomas Kimmeskamp hat die Anpassung bei Hackster (https://www.hackster.io/thorsten-kimmeskamp/calliope-mini-als-motorrad-controller-50a10d) schon gezeigt (der Link ist übrigens auch in deinem Beispiel zu finden).
Das hat aber gar nichts mit Scratch zu tun (und ist somit hier eigentlich falsch platziert)!
Leider hat sich (zumindest aktuell) keine weitere Zusammenarbeit mit dem Scratch Team entwickelt. Die Anbindung habe ich mir deshalb auch schon länger nicht mehr angeschaut. Allerdings geht ja auch MicroBlocks (Nachfolger von Scratch im Zusammenspiel mit Hardware).

Der mini ist aber im Gegensatz zu Raspberry Pi und Arduino wirklich für Kinder entwickelt worden. Deshalb macht der für mich in der medienpädagogischen Arbeit extrem viel Sinn. Es kommt aber natürlich darauf an, was man da machen möchte und welche Vorraussetzungen vorhanden sind.

Inzwischen gibt es eine Lösung: Mind+ von dfrobot

Bisher allerdings nur mit der App und noch nicht mit der Onlineversion.

1 „Gefällt mir“

Es gibt jetzt auch noch eine Seite von uns mit den wichtigsten Informationen:
https://calliope.cc/programmieren/editoren/mindplus

1 „Gefällt mir“

Ist es möglich über die genannten Schnittstellen den Calliope als eine Art MakeyMakey-Ersatz zu nehmen? Also könnte ich den Calliope als Tastatur für einen PC verwenden? Oder sogar einen Mac? Im Serial-Dokument konnte ich nicht fündig werden.