Calliope in Python programmieren

Will man den Calliope mini nicht im Schulkontext verwenden, dann bietet sich, wie beim micro:bit, die Programmierung in Micro-Python an.

Einen Editor findet man beispielsweise unter http://python.microbit.org/editor.html. In diesen Editor pastet man dann einfach den Python-Quelltext, wie z.B. das folgende Programmbeispiel zur Temperaturmessung.

# Measuring chip temperature on Calliope mini & output to console
from microbit import *
import os

uart.init()
uart.write(os.uname().machine +" measuring chip temperature\r\n")

while True:
 temp = temperature() - 3 # offset to ambient temperature
 display.scroll(str(temp)+" C")
 uart.write("Calliope mini chip temperature = "+str(temp)+" C\r\n")
 sleep(5000)

Nach dem Compilieren kann das  erstellte File microbit.hex einfach in das Laufwerk kopiert werden, als das sich der Calliope mini beim Anschluss über USB meldet.

Zum Beobachten der seriellen Ausgaben kann bspw. mit PuTTY auf das betreffende COM-Port zugegriffen werden. Die Baudrate beträgt hier 9600 Bd. Die LED-Matrix zeigt die Ausgabe als Laufschrift an.

Screenshot

Zugang zu den verschiedenen Ressourcen des eingesetzten Mikrocontrollers erhält man über die micro:bit Python API.

Advertisements

13 Gedanken zu „Calliope in Python programmieren

  1. Andreas

    Bitte auch die derzeit noch eingeschränkte MicroPython-Programmierbarkeit erwähnen,
    denn der aktuelle Hype um den Calliope mini läst die derzeit etwas
    nachhängende softwareseitige Unterstützung zu leicht unbeachtet.

    Siehe:
    „Gibt es eine Möglichkeit, das Board auch anders als mit dem Block-Editor zu programmieren?“
    http://www.calliope.cc/faq
    https://calliopemini.wordpress.com/2017/07/31/calliope-in-python-programmieren/

    Gefällt mir

    Antwort
    1. ckuehnel Autor

      Danke für den Hinweis. Die eingeschränkte MicroPython-Programmierbarkeit wurde durch eine veränderte Pinbelegung hervorgerufen. Ich bin in einem weiteren Blogbeitrag darauf eingegangen.
      Aber auch beim JavaScript Blocks Editor ist bspw. der Bluetooth-Teil noch nicht up-to-date.
      Hier gilt es im Einzelfall stets zu prüfen.

      Gefällt mir

      Antwort
      1. jørn

        Bluetooth funktioniert genau wie beim microbit – du musst aber den Bluetooth Stack aktivieren. Der ist per Default im Editor aber deaktiviert, da relativ groß. Im Gegensatz zum microbit ist Bluetooth aber bei den minis (mit der neusten Firmware) direkt aktiviert. Alle anderen können das halt im Editor oder mit dem Demo Skript (auf der Calliope Seite im Bereich FAQ) aufspielen.

        Gefällt mir

  2. Pemo

    Kurze Frage: Ist denn ein Python-Interpreter beim Calliope Mini bereits an Bord? Wenn ich den Code übertrage ist nur eine Fehlermeldung auf dem Display die Folge. Ich habe noch die erste Generation. Vielleicht brauche ich nur ein Update der Firmware. Auf alle Fälle ein guter Blog-Beitrag.

    Gefällt mir

    Antwort
    1. ckuehnel Autor

      Der Python-Interpreter war bei meinen Tests nicht on-board. Ich habe im Mu-Editor ein Hex-File erzeugt und das auf das Target geladen.
      Zu beachten ist, dass die Pinbelegung und die Sensorik der beiden Boards (leider) unterschiedlich ist. In einem Blogbeitrag bin ich darauf bereits eingegangen.
      Da das Calliope Board aus Systemsicht doch einige Schwachstellen aufweist, habe ich bislang nur mit dem BBC micro:bit weitergearbeitet.
      Bei weiteren Fragen bitte einfach melden.

      Gefällt mir

      Antwort
      1. jrnalraun

        Das ist eigentlich genau das tolle, es gibt einen Interpreter (https://tech.microbit.org/software/runtime-mbed/) – deshalb funktioniert MicroPython auch recht leicht offline, da aus dem Python Code einfach nur ein Hex gemacht werden muss und der mini dieses ausführen kann. Zu diesem Thema empfehle ich dringend direkt den Calliope mini Kanälen zu folgen! Ich habe gehört, dass dort demnächst diesbezüglich etwas Kommuniziert werden soll… 😉

        Gefällt mir

      2. Pemo

        Ok. vielen Dank. Das erklärt natürlich warum es einfach nicht funktioniert. Leider findet man auf der Calliope Mini-Webseite zum Thema Micro Python wenig bis gar nichts oder ich habe die Info bislang einfach übersehen.

        Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s