Skip to content

Commit

Permalink
Doku Update für Verlinkung auf Lehrer-Online; GUI für Linux hinzugefü…
Browse files Browse the repository at this point in the history
…gt; requirements.txt für Python Code hinzugefügt.
  • Loading branch information
c-a-schiller committed Oct 25, 2023
1 parent 55744f3 commit d63503a
Show file tree
Hide file tree
Showing 17 changed files with 344 additions and 42 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,23 @@ Pro Schüler wird 1 "Rennspiel-Calliope" benötigt, der direkt per USB an den Re

Diesen Schritt muss jeder Schüler durchführen.

Hierzu muss ein Calliope Mini per USB an den Schülerrechner anschließen
Hierzu muss ein Calliope mini per USB an den Schülerrechner anschließen

*MakeCode-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/rennspiel-funkgruppe1-makecode.hex` auf den per USB angeschlossenen Calliope Mini kopieren. (Die Funkgruppe ist im Einzelspielmodus egal)
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/rennspiel-funkgruppe1-makecode.hex` auf den per USB angeschlossenen Calliope mini kopieren. (Die Funkgruppe ist im Einzelspielmodus egal)

*OpenRoberta-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/rennspiel-openroberta.hex` auf den per USB angeschlossenen Calliope Mini kopieren. (Die Funkgruppe __muss__ beim Start auf __0__ gewählt bleiben, damit das USB-Logging aktiv ist)
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/rennspiel-openroberta.hex` auf den per USB angeschlossenen Calliope mini kopieren. (Die Funkgruppe __muss__ beim Start auf __0__ gewählt bleiben, damit das USB-Logging aktiv ist)

#### Schritt 2 - COM-Port des per USB angeschlossenen "Rennspiel-Calliopes" herausfinden

* Windows: via Gerätemanager, wird als "USB Serial Device" angezeigt

* Linux: `ls -al /dev/ttyACM*`

ggf. Nutzer zur `dialout` Nutzergruppe hinzufügen, damit dieser auf den Calliope Mini auch zugreifen darf.
ggf. Nutzer zur `dialout` Nutzergruppe hinzufügen, damit dieser auf den Calliope mini auch zugreifen darf.

`sudo usermod -aG <username> dialout`

Expand Down Expand Up @@ -107,15 +107,15 @@ Hierzu muss ein Calliope Mini per USB an den Schülerrechner anschließen
* 50 Episoden werden durch die KI gespielt
* Medianwert der erreichten Punktzahl wird angezeigt.

*Variante B: IQ-Test auf Calliope Mini*
*Variante B: IQ-Test auf Calliope mini*

Das trainierte neuronale Netzwerk kann auch direkt auf dem Calliope Mini getestet werden. Dies erfordert jedoch die Durchführung der optionalen letzten Teilschritte im Schritt 4, die Nutzung des Python-Skript-Knotens. Ein Nutzung der weiteren KI-Algorithmen, die mit Orange möglich sind (beispielsweise kNN, AdaBoost etc.) ist auf dem Calliope Mini nicht umgesetzt.
Das trainierte neuronale Netzwerk kann auch direkt auf dem Calliope mini getestet werden. Dies erfordert jedoch die Durchführung der optionalen letzten Teilschritte im Schritt 4, die Nutzung des Python-Skript-Knotens. Ein Nutzung der weiteren KI-Algorithmen, die mit Orange möglich sind (beispielsweise kNN, AdaBoost etc.) ist auf dem Calliope mini nicht umgesetzt.

Projektziel ist es, die "Hirntransplantation" des trainierten KI-Modells für die SuS über die Oberfläche auf https://makecode.calliope.cc nachvollziehbar zu machen; Stand März 2021 verhinderte jedoch ein Bug in Makecode diese Variante.

Daher wurde im Projekt ein temporärer Behelfsmechanismus implementiert:

* Auf dem Schülergruppenrechner ins Verzeichnis wechseln: `ki-in-schulen-master/Calliope-Rennspiel/Python/iq-test-calliope/`
* Auf dem Schülergruppenrechner ausführen: `python iq-test-erstellen.py -r <JSON-Modelldatei>` (Die JSON-Modelldatei ist eine in Schritt 4 erzeugte Modelldatei, bspw. `sklearn-ows-modell-20210302221649.json`)
* Die erzeugte Calliope Hex-Datei `iq-test-calliope.hex` kann auf einen Calliope Mini kopiert werden
* Die erzeugte Calliope Hex-Datei `iq-test-calliope.hex` kann auf einen Calliope mini kopiert werden
* Die trainierte KI übernimmt die Steuerung im Rennspiel (manuelle Steuerung ist zusätzlich möglich)
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,23 @@ Die unten beschriebenen Schritte sind dann entsprechend über die Menüpunkte de

Diesen Schritt muss jeder Schüler durchführen.

Hierzu muss ein Calliope Mini per USB an den Schülerrechner angeschlossen werden.
Hierzu muss ein Calliope mini per USB an den Schülerrechner angeschlossen werden.

*MakeCode-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/rennspiel-funkgruppe1-makecode.hex` auf den per USB angeschlossenen Calliope Mini kopieren. (Die Funkgruppe ist im Einzelspielmodus egal, da die Datensammlung über USB funktioniert)
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/rennspiel-funkgruppe1-makecode.hex` auf den per USB angeschlossenen Calliope mini kopieren. (Die Funkgruppe ist im Einzelspielmodus egal, da die Datensammlung über USB funktioniert)

*OpenRoberta-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/rennspiel-openroberta.hex` auf den per USB angeschlossenen Calliope Mini kopieren. (Die Funkgruppe __muss__ beim Start auf __0__ gewählt bleiben, damit das USB-Logging aktiv ist)
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/rennspiel-openroberta.hex` auf den per USB angeschlossenen Calliope mini kopieren. (Die Funkgruppe __muss__ beim Start auf __0__ gewählt bleiben, damit das USB-Logging aktiv ist)

#### Schritt 2 - COM-Port des per USB angeschlossenen "Rennspiel-Calliopes" herausfinden

* Windows: via Gerätemanager, wird als "USB Serial Device" angezeigt

* Linux: `ls -al /dev/ttyACM*`

ggf. Nutzer zur `dialout` Nutzergruppe hinzufügen, damit dieser auf den Calliope Mini auch zugreifen darf.
ggf. Nutzer zur `dialout` Nutzergruppe hinzufügen, damit dieser auf den Calliope mini auch zugreifen darf.

`sudo usermod -aG <username> dialout`

Expand Down Expand Up @@ -87,15 +87,15 @@ Hierzu muss ein Calliope Mini per USB an den Schülerrechner angeschlossen werde
* 50 Episoden werden durch die KI gespielt
* Medianwert der erreichten Punktzahl wird angezeigt.

*Variante B: IQ-Test auf Calliope Mini*
*Variante B: IQ-Test auf Calliope mini*

Das trainierte neuronale Netzwerk kann auch direkt auf dem Calliope Mini getestet werden.
Das trainierte neuronale Netzwerk kann auch direkt auf dem Calliope mini getestet werden.

Projektziel ist es, die "Hirntransplantation" des trainierten KI-Modells für die SuS über die Oberfläche auf https://makecode.calliope.cc nachvollziehbar zu machen; Stand März 2021 verhinderte jedoch ein Bug in Makecode diese Variante.

Daher wurde im Projekt ein temporärer Behelfsmechanismus implementiert:

* Auf dem Schülergruppenrechner ins Verzeichnis wechseln: `ki-in-schulen-master/Calliope-Rennspiel/Python/iq-test-calliope/`
* Auf dem Schülergruppenrechner ausführen: `python iq-test-erstellen.py -r <JSON-Modelldatei>` (Die JSON-Modelldatei ist eine in Schritt 4 erzeugte Modelldatei, bspw. `sklearn-py-modell-20210302220807.json`)
* Die erzeugte Calliope Hex-Datei `iq-test-calliope.hex` kann auf einen Calliope Mini kopiert werden
* Die erzeugte Calliope Hex-Datei `iq-test-calliope.hex` kann auf einen Calliope mini kopiert werden
* Die trainierte KI übernimmt die Steuerung im Rennspiel (manuelle Steuerung ist zusätzlich möglich)
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,25 @@ Pro Schülergruppe wird 1 "Datensammler-Calliope" benötigt, zu dem mehrere "Ren

#### GUI (Grafische Nutzeroberfläche)

Seit Release "Speedy" (19.12.2022) können die Schritte 1 bis 6A statt manuell bzw. via Kommandozeile auch via einer komfortablen grafischen Nutzeroberfläche (GUI) durchgeführt werden (Stand 19.12.2022 nur für Windows verfügbar).
Seit Release "Speedy" (19.12.2022) können die Schritte 1 bis 6A statt manuell bzw. via Kommandozeile auch via einer komfortablen grafischen Nutzeroberfläche (GUI) durchgeführt werden (Stand Oktober 2023 nur für Windows und Linux verfügbar).

Dazu im Unterverzeichnis `/ki-in-schulen-master/Calliope-Rennspiel/Python/` folgenden Befehl ausführen: `python ki-gui-win.py`
Dazu im Unterverzeichnis `/ki-in-schulen-master/Calliope-Rennspiel/Python/` folgenden Befehl ausführen: `python ki-gui-win.py` oder `python ki-gui-lin.py`

Die unten beschriebenen Schritte sind dann entsprechend über die Menüpunkte des erscheinenden Fenster nutzbar.

#### Schritt 1 - Rennspiel auf den Calliope Minis der Schüler installieren
#### Schritt 1 - Rennspiel auf den Calliope minis der Schüler installieren

Diesen Schritt mit angepasster Funkgruppe (__funkgruppe1__, __funkgruppe2__, ...) wiederholen, bis alle "Rennspiel-Calliopes" für alle Schüler aller Schülergruppen installiert sind.

Für die Installation wird pro Schüler der Schülergruppe jeweils ein Calliope Mini per USB an den Schülergruppenrechner angeschlossen und dann das Rennspiel installiert:
Für die Installation wird pro Schüler der Schülergruppe jeweils ein Calliope mini per USB an den Schülergruppenrechner angeschlossen und dann das Rennspiel installiert:

*MakeCode-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/rennspiel-funkgruppe1-makecode.hex` auf den per USB angeschlossenen Calliope Mini kopieren
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/rennspiel-funkgruppe1-makecode.hex` auf den per USB angeschlossenen Calliope mini kopieren

*OpenRoberta-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/rennspiel-openroberta.hex` auf den per USB angeschlossenen Calliope Mini kopieren
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/rennspiel-openroberta.hex` auf den per USB angeschlossenen Calliope mini kopieren


#### Schritt 2 - Datensammler pro Schülergruppe installieren
Expand All @@ -45,19 +45,19 @@ Der "Datensammler-Calliope" wird nun an einen USB-Port des Schülergruppenrechne

*MakeCode-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/datensammler-funkgruppe<x>-makecode.hex` auf den per USB angeschlossenen Calliope Mini kopieren
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/Makecode/datensammler-funkgruppe<x>-makecode.hex` auf den per USB angeschlossenen Calliope mini kopieren

*OpenRoberta-Variante*

* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/datensammler-openroberta.hex` auf den per USB angeschlossenen Calliope Mini kopieren
* Die Datei `/ki-in-schulen-master/Calliope-Rennspiel/OpenRoberta/datensammler-openroberta.hex` auf den per USB angeschlossenen Calliope mini kopieren

#### Schritt 3 - COM-Ports der per USB angeschlossenen "Datensammler-Calliopes" herausfinden

* Windows: via Gerätemanager, wird als "USB Serial Device" angezeigt

* Linux: `ls -al /dev/ttyACM*`

Unter Linux ist ggf. der Projektnutzer zur `dialout` Nutzergruppe hinzufügen, damit dieser auf den Calliope Mini auch zugreifen darf.
Unter Linux ist ggf. der Projektnutzer zur `dialout` Nutzergruppe hinzufügen, damit dieser auf den Calliope mini auch zugreifen darf.

`sudo usermod -aG <username> dialout`

Expand Down Expand Up @@ -95,15 +95,15 @@ Der "Datensammler-Calliope" wird nun an einen USB-Port des Schülergruppenrechne
* 50 Episoden werden durch die KI gespielt
* Medianwert der erreichten Punktzahl wird angezeigt.

*Variante B: IQ-Test auf Calliope Mini*
*Variante B: IQ-Test auf Calliope mini*

Das trainierte neuronale Netzwerk kann auch direkt auf dem Calliope Mini getestet werden.
Das trainierte neuronale Netzwerk kann auch direkt auf dem Calliope mini getestet werden.

Projektziel ist es, dies für die SuS über die Oberfläche auf https://makecode.calliope.cc nachvollziehbar zu machen; Stand März 2021 verhinderte jedoch ein Bug in Makecode diese Variante.

Daher wurde im Projekt ein temporärer Behelfsmechanismus implementiert:

* Auf dem Schülergruppenrechner ins Verzeichnis wechseln: `ki-in-schulen-master/Calliope-Rennspiel/Python/iq-test-calliope/`
* Auf dem Schülergruppenrechner ausführen: `python iq-test-erstellen.py -r <JSON-Modelldatei>` (Die JSON-Modelldatei ist eine in Schritt 5 erzeugte Modelldatei, bspw. `sklearn-py-modell-20210302220807.json`)
* Die erzeugte Calliope Hex-Datei `iq-test-calliope.hex` kann auf einen Calliope Mini kopiert werden
* Die erzeugte Calliope Hex-Datei `iq-test-calliope.hex` kann auf einen Calliope mini kopiert werden
* Die trainierte KI übernimmt die Steuerung im Rennspiel (manuelle Steuerung ist zusätzlich möglich)
2 changes: 1 addition & 1 deletion Calliope-Rennspiel/Makecode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ In diesem Verzeichnis sind die Calliope mini Codeanteile für Microsoft Makecode
* funkgruppe1 ... funkgruppe5 sind vorkonfiguriert auf die entsprechenden Funkkanäle des Calliope
* Verzeichnis `KI-Erweiterung`
* siehe separate README.md
* Diese Dateien stellen den Entwicklungsstand für die Projektvarianten 1A und 2- "IQ-Test auf dem Calliope Mini" dar, die aktuell aufgrund eines Bugs in Makecode nicht fortgeführt werden kann.
* Diese Dateien stellen den Entwicklungsstand für die Projektvarianten 1A und 2- "IQ-Test auf dem Calliope mini" dar, die aktuell aufgrund eines Bugs in Makecode nicht fortgeführt werden kann.
2 changes: 1 addition & 1 deletion Calliope-Rennspiel/Python/iq-test-calliope/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Erläuterung des Verzeichnisses und Verzeichnisinhalts

Dieses Verzeichnis enthält eine temporäre Lösung, um einen "IQ-Test" mit einem fertig trainierten künstlichen neuronalen Netzwerk direkt auf einem Calliope Mini durchzuführen. Detaillierte Erläuterung siehe Schritt "IQ-Test" in den Nutzeranleitungen im Bereich Dokumentation.
Dieses Verzeichnis enthält eine temporäre Lösung, um einen "IQ-Test" mit einem fertig trainierten künstlichen neuronalen Netzwerk direkt auf einem Calliope mini durchzuführen. Detaillierte Erläuterung siehe Schritt "IQ-Test" in den Nutzeranleitungen im Bereich Dokumentation.
Loading

0 comments on commit d63503a

Please sign in to comment.