This is an old revision of the document!
OxoCards mit den Schüler-Accounts
Die OxoCard wird zwar vom System korrekt erkannt und TigerJython kann auch mit der OxoCard kommunizieren. Was nicht funktioniert ist das Auflisten der COM-Ports (Serielle Kommunikation), warum der Upload direkt zur OxoCard schief geht.
Es ist aber möglich Programme direkt auf die OxoCard via das ESP32-Modul zu laden (wobei dort der korrekte COM-Port eingetragen werden muss). Allerdings überschreibt man dort das main.py, was erst die eigenen Programme startet. Mit ein bisschen Zusatz-Code funktioniert es aber trotzdem.
COM-Port ermitteln
Erst ist die Nummer vom COM-Port zu ermitteln. Diese ist nicht immer gleich, meist aber COM4 oder COM5 (aber offenbar nie COM3). Ist die Karte eingesteckt, kann folgendes Skript Auskunft geben. Es kann aber auch einfach ausprobiert werden.
- comports.ps1
[System.IO.Ports.SerialPort]::getportnames()
Gerät "ESP32" und COM-Port setzen
Im Menü Datei → Einstellungen → Bibliotheken den Punkt “ESP32” auswählen und den COM-Port eintragen (z.B. COM4).
Beispiel-Code
- oxohack.py
#Initialisierung der Oxocard from machine import Pin, deepsleep, ADC, reset from globals import __np import time Pin(2, Pin.OUT).value(1) # audio ampli on Pin(15, Pin.OUT).value(0) # neopix on time.sleep(0.5) ################################### # Start vom eigentlichen Programm # ################################### from oxocard import * bigTextScroll("Hello Hack!", BLUE) ################################################# # ENDE vom eigentlichen Programm # # OxoCard ausschalten mit beiden Knöpfen rechts # ################################################# while Pin(13, Pin.IN, Pin.PULL_DOWN).value() == 0 or Pin(27, Pin.IN, Pin.PULL_DOWN).value() == 0: time.sleep(0.1); clear(BLACK); def _toPix(x, y): return 8 * y + x + 1 for k in [250, 100, 50, 20, 10, 5, 1, 0]: for i in range(8): __np.set(_toPix(i, i), k << 16, update = False) __np.set(_toPix(7 - i, i), k << 16, update = False) __np.show() time.sleep(0.5) Pin(2, Pin.OUT).value(0) # audio ampli off Pin(15, Pin.OUT).value(1) # neopix off deepsleep()
OxoCard wieder in Originalzustand setzen
Laden Sie dazu folgenden Code mit TigerJython auf die OxoCard: mainorig.py