lehrkraefte:blc:informatik:glf19:oxocard:oxohack

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.

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()

Im Menü Datei → Einstellungen → Bibliotheken den Punkt “ESP32” auswählen und den COM-Port eintragen (z.B. COM4).

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()

Laden Sie dazu folgenden Code mit TigerJython auf die OxoCard: mainorig.py

  • lehrkraefte/blc/informatik/glf19/oxocard/oxohack.1572553431.txt.gz
  • Last modified: 2019/10/31 21:23
  • by Ivo Blöchliger