Micro-Python auf dem Calliope mini - wie?

Hallo Zusammen,

Ich würde gerne Python-Programme auf dem Mini ausführen. Grundsätzlich soll es dank des microbit-Editors kein Problem sein. Wenn ich die Hex Datei, die aus dem Download resultiert, auf den Mini kopiere gibt es offenbar eine Fehlermeldung und die Anzeige geht in den Dauer-Blinkmodus über.

Ich vermute, dass mein Mini (es ist die erste Generation aus der Kickstart-Kampagne) noch kein Python versteht.

Kann mir jemand weiterhelfen? Muss ich die Firmware aktualisieren? Ich habe eine Datei mit dem Namen kl26z_calliope_if_crc.bin im Maintancance-Modus auf den Mini übertragen, aber offenbar ohne Erfolg.

Danke und viele Grüße,
Peter

Hallo Peter,

das sollte eigentlich nicht am mini liegen.
Kannst du uns deine Hex-Datei hier hochstellen und evtl. dein Programm-Code posten?
Dann könnte man das zumindest ausprobieren.

Beste Grüße
Jörn

Hallo Jörn,

Das Programm ist nur ein simples Hallo,Welt-Programm.

Meine Fragen waren eher grundsätzlicher Natur:

Welche Voraussetzungen müssen erfüllt sein, dass der Mini Python-Code ausführen kann?

Gibt es eine aktuellere Firmware-Version, wenn man noch den Mini aus dem Kickstarter-Projekt hat?

Ich habe dazu leider trotz längere Suche nichts gefunden. Andere User dürfte das ja auch interesieren.

Durch das Kopieren der Hex-Datei habe ich mir offenbar mein Gerät lahmgelegt - es blinkt nur noch "S O X " (?) im Dauerbetrieb.

Ich wollte eigentlich die Hex-Datei beigefügen, aber als neuer Benutzer darf ich das offenbar noch nicht.

Ich habe die Befehle direkt aus einem Blog kopiert:

Der Autor hat inzwischen auf meine Frage auch geantwortet (hatte ich gerade erst entdeckt).

Eventuell hat sich meine Frage damit auch bereits geklärt. Ein allgemeiner Hinweis wäre aber hilfreich, da Micro Python aus meiner Sicht eine attraktive Alternative zu den rein visuellen Editoren darstellt.

VIele Grüße,
Peter

Hallo Peter,

ich hatte im Blog ja schon die URL zur Erklärung gepostet. MicroPython kann direkt interpretiert werden.
Es hat nichts mit der Version des mini zu tun. Ich habe bei dem Online-Editor allerdings Probleme mit der Datei. Der ist aber auch schon länger nicht mehr gewartet worden, deshalb liegt es vermutlich auch daran. Am einfachsten ist es, wenn du den kostenlosen Mu Editor nimmst.

Grüße
Jörn

Hallo Peter,

wir erstellen noch eine Seite mit Anleitungen und weiteren Infos, hier findest du aber die angepasste MicroPython Version:

Grüße
Jörn

1 „Gefällt mir“

Hallo zusammen,
ich will auch mit MicroPython arbeiten… verstehe aber nicht so ganz wie ich mit den Dateien von GitHub umgehen soll. Kann ich mit Windows überhaupt arbeiten oder geht das nur auf Linux?
Freue mich sehr über Hilfe!
Danke und viele Grüße
Marie

1 „Gefällt mir“

Daraus kannst du dir die nötige Runtime erstellen (und ggf. für dich individuell anpassen).
Letztlich benötigst du aber nur die Runtime, ich habe eine beispielsweise angehängt
Die kannst du in einen Editor z.B. Mu nehmen, um daraus dann dein Programm zusammenstellen zu lassen…
calliope-micropython.hex (581,4 KB)
In der kommenden Version (1.1) vom Mu soll diese direkt als Modul integriert sein.
Um sie dann nutzen zu können, musst du “from calliope_mini import *” dann als erstes aufrufen.
Grüße
Jörn

1 „Gefällt mir“

Ok, super, danke! Ich habe jetzt noch Probleme, die Pins mit MicroPython anzusprechen… Geht das evtl gar nicht?
Danke und viele Grüße!

Doch, das geht. Pin 0 - Pin 30 sind drin. Es ist aber wichtig, dass du “from calliope_mini import *” nutzt.
Grüße
Jörn

Ich verwende jetzt die portable Version des Mu-Editors… Wenn ich eingebe “import calliope_mini *” bekomme ich einen Syntax error für Zeile 1.
“from calliope_mini import *” hingegen funktioniert. Mache ich was falsch? Die Pins funktionieren so nicht…

from calliope_mini import *
while True:
if button_a.is_pressed():
display.show(Image.SAD)
elif pin0.is_touched():
display.show(Image.HAPPY)

Um alle Module aus der Calliope mini Bibliothek zu importieren:
from calliope_mini import *
Die Pins funktionieren auch schon, jedoch gibt es zur Zeit noch ein Problem mit der is_touched Funktion.
Die pins können digital und analog ausgelesen werden:

from calliope_mini import *
while True:
    print(pin1.read_digital())
    print(pin1.read_analog())
    sleep(500)
1 „Gefällt mir“

Hallo zusammen,
noch eine Frage zu MicroPython: kann ich mit Bluetooth arbeiten? Wenn ja, wie funktioniert das Senden und Empfangen? Gibt es irgendwo eine Doku?
Freue mich über jede Hilfe, Danke und viele Grüße,
Marie

Hallo C_R,

das geht so richtig leider nicht.
Es gibt aber Bestrebungen, du findest etliche Kommentare dazu im MU GitHub Repository.
Übrigens gibt es jetzt TigerJython und unterstützt den Calliope mini:
http://www.tigerjython4kids.ch

Beste Grüße
Jörn

1 „Gefällt mir“

Hi Jörn,
Klasse besten Dank für den Link… da gehts dann bald los.
VG Dirk

Perfekt, danke für den Link!! Das hilft sehr!

Hallo, …

Die Alpha 1.1 Version des Mu - MicroPython Editors
(https://github.com/mu-editor/mu/releases/download/1.1.0-alpha.1/mu-editor_1.1.0-alpha.1_win64.exe)

Kennt noch kein “from calliope_mini import *” und
der Preload mit der angegebenen calliope-micropython.hex
Datei führt zu einem nicht reagierendem Mini.

Da kann noch was verbessert werden :slight_smile:

Grüße

 Andreas B.

Hallo Andreas,

die musst du leider selbst kompilieren.
Mu hat das Calliope mini Modul bislang nicht spendiert bekommen. Das liegt allerdings nicht an uns…

Grüße
Jörn

Das sagst Du so leicht. Ist denn Euer git repository


mit korrekten Informationen dazu ausgestattet?
Das „target bbc-microbit-classic-gcc-nosd“ kommt mir dabei
irgendwie falsch vor.
Sind denn dort auch die Dateien „module.json“ und „config.json“
korrekt konfiguriert?
Oder steht das mit dem compilieren an anderer Stelle beschrieben?
Die Configfiles auf: „https://github.com/pekoli/calliope-codebeispiel.git
sind da auf das anscheinend neuere „target calliope-mini-classic-gcc“
angepasst und benutzen dabei die anscheinend aktuelleren
„dependencies“: {
„microbit“: „calliope-mini/microbit#v2.0.0-rc7-calliope-1.0.1“
},
Nun ja das „selbst compilieren“ macht Ihr einem glaube ich
nicht unbedingt leicht.

Und wenn ich rein nach der Anleitung eures repositories gehe
erhalte ich auf einem Windows 10 System auf dem das
compilieren des pekoli Beispiels gelingt, folgendes:

C:/calliope/calliope-mini-micropython/source/microbit/main.cpp:7:29: fatal error: _newlib_version.h: No such file or directory
#include "newlib_version.h"
^
compilation terminated.
[276/316] Building C object source/CMakeFiles/calliope-micropython.dir/C
/calliope/calliope-mini-micropython/source/py/objtype.c.o
ninja: build stopped: subcommand failed.
error: command [‘ninja’] failed

Hallo Andreas,

um den Mini mit dem Mu editor zu Programmieren haben wir einen „Calliope Mode“ in Mu eingebaut. Dieser ist jedoch noch nicht in dem originalen Mu aufgenommen worden. Du kannst ihn jedoch hier finden:

Die Anleitung für die Kompilierung:

Eine Kompilierte version gibt es hier (Nur OSX):

Grüße
Moritz Heine