====== 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. [System.IO.Ports.SerialPort]::getportnames() Write-Host -NoNewLine 'Press any key to continue...'; $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'); ==== In TigerJython Gerät "ESP32" und COM-Port setzen ==== In TigerJython, im Menü (oben links) wählen Sie Datei -> Einstellungen -> Bibliotheken und dann unten den Punkt "ESP32" auswählen und den COM-Port eintragen (z.B. COM4). ==== Beispiel-Code ==== # Nur weil wir mit verrammelter Hard- und Software # arbeiten müssen, heisst das noch nicht, dass wir # uns nicht amüsieren können ;-) # # Initialisierung der Oxocard try: 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 __np.set(37, 0xffff00, update = True) # Möglichkeit zum Ausschalten... for i in range(50): if Pin(13, Pin.IN, Pin.PULL_DOWN).value() == 1 and Pin(27, Pin.IN, Pin.PULL_DOWN).value() == 1: print("Power off") for k in [250, 100, 50, 20, 10, 5, 1, 0]: for i in range(8): __np.set(9*i+1, k << 16, update = False) __np.set(7*i+8, 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() time.sleep(0.02) except ImportError: pass ################################### # Start vom eigentlichen Programm # ################################### from oxocard import * bigTextScroll("Hello Hack!", BLUE) ==== OxoCard wieder in Originalzustand setzen ==== Laden Sie dazu folgenden Code mit TigerJython auf die OxoCard: {{ :lehrkraefte:blc:informatik:glf19:oxocard:mainorig.py |}}