Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Dieses anweisbare zeigt Ihnen, wie Sie Ihre eigene Storytelling-Box bauen. Fühlen Sie sich frei, Ihr eigenes Abenteuer zu wählen.
Die sogenannte "GrimmsBox" war ein Projekt von Studierenden der Hochschule der Medien Stuttgart. Zum Ausdrucken des ersten Teils einer Geschichte verwenden wir einen gängigen Bondrucker. Am Ende des Teils muss eine Entscheidung getroffen werden. Über Schaltflächen können Sie auswählen, wie die Geschichte weitergehen soll. Wir verwenden einen Raspberry Pi, um die Software auszuführen.
Zwei der Boxen werden in Kürze im Einsatz sein. Die Stadtbibliothek Mannheim organisiert Workshops mit Kindern. Die Kinder können ihre eigenen Geschichten kreieren und sie können ihre Geschichten mit Hilfe der GrimmsBox erleben. Das Hauptziel solcher Workshops ist die Förderung der Lese- und Schreibfähigkeiten. Die Storytelling-Boxen werden auch zu Veranstaltungen mitgenommen, damit Kinder der Klassen 3 bis 6 an ein immersives Leseerlebnis herangeführt werden.
Schritt 1: So erstellen Sie den Fall für GrimmsBox
Benötigtes Material:
- 1x 6 mm Sperrholzplatte (1200x600x6mm)
- 1x 4 mm Sperrholzplatte (1200x600x4mm)
- Holzkleber
- benötigte Geräte: Laserschneider, Computer
Die von GrimmsBox verwendeten Dateien stehen als kostenloser Download zur Verfügung. Die Dateien sind svg- und dxf-Dateien der einzelnen Komponenten von GrimmsBox. Dies ist zum einen der Unterbau, auf dem der Raspberry Pi seinen Platz findet, dann das Buch mit einem Biegescharnier und einem selbst entworfenen Buchständer.
Die 6mm Sperrholzplatte wird für die Unterkonstruktion und den Buchständer verwendet. Das Buch wurde aus 4 mm Sperrholzplatte geschnitten. Die dickere Platte wäre zu dick, um das Buch zu machen. Das Biegescharnier funktioniert nur mit 3-4 mm Sperrholzplatten. Sonst würde es kaputt gehen.
Die dxf-Dateien sind die richtige Wahl für alle, die nichts mehr ändern wollen. Diese sind gebrauchsfertig auf dem Laserschneider.
Wer der Box dennoch eine eigene Note verleihen möchte, kann SVG-Dateien in der Box verwenden. Diese können nach Belieben geändert werden. Dazu muss die Datei in einem Programm (z. B. Inkscape) geöffnet werden. Mit diesen Programmen können Sie die einzelnen Komponenten bearbeiten. Wenn Sie etwas geändert haben (z. B. die Größe der Löcher für die Knöpfe oder den Pull-Around) müssen Sie die SVG-Datei als dxf-Datei speichern.
Die dxf-Datei muss am Laserschneider geöffnet werden. Sobald die Datei auf dem PC angezeigt wird, muss ausgewählt werden, welche Linien geschnitten und welche graviert werden sollen. Der Schriftzug an der Seite der Schachtel war auf Grimms Schachtel eingraviert und der Schriftzug auf dem Buch war schwach geschnitten. Je nachdem, was Ihnen besser gefällt, können Sie das eine oder das andere verwenden. Die äußeren Linien müssen natürlich alle geschnitten werden. Die Verwendung des Laserschneiders kann jedoch vom Modell des Laserschneiders abhängen und unterschiedlich sein.
Schritt 2: So montieren Sie die Tasten für die GrimmsBox
Benötigtes Material:
- 6 normalerweise offene Taster, z. B. Tasten für Arcade-Spiele
- 8 Überbrückungsdrähte mit mindestens einem weiblichen Ende, unsere waren ca. 40 cm lang
- etwas Zopf
- Schrumpfschlauch die für Ihr Projekt verwendete Box, in unserem Fall die lasergeschnittene obere Abdeckung und die beiden seitlichen Abdeckungen mit den zusätzlichen Knöpfen
- Lötzinn und ein Lötkolben
- Multimeter
- Kabelschneider
- Abisolierzange
- Feuerzeug oder eine Heißluftpistole
- In unserem Code haben wir interne Widerstände verwendet, so dass wir nur zwei Dinge tun müssen: erstens eine weibliche Überbrückungsleitung an jede Taste anschließen, die zum jeweiligen GPIO-Pin führt und zweitens die Tasten miteinander verbinden, die dann geführt werden über ein weiteres weibliches Überbrückungskabel auf Masse legen. Wir haben die Shutdown-Taste und die Neustart-Programmtaste miteinander verbunden und einen Erdungsstift für sie verwendet. Die vier Tasten, die von der Choose-Your-Own-Adventure-Engine verwendet werden, wurden ebenfalls miteinander verbunden und teilten sich einen Erdungsstift.
- Wenn Ihre Tasten mehr als zwei Pins haben, verwenden Sie ein Multimeter, um herauszufinden, welche für die Verbindung von GPIO-Pin und Masse geeignet sind. Bei der Soundfunktion sollten Sie nur dann einen Ton hören, wenn Sie zwei Pins berühren und die Taste gerade gedrückt wird. Sie können einen Durchgangstest durchführen, eine Anleitung dazu finden Sie bei ifixit:
- Nehmen Sie einen Knopf und stecken Sie ihn in das Kastenteil. Nehmen Sie einen der Überbrückungsdrähte und schneiden Sie ein Ende ab, wodurch Sie ein Überbrückungskabel mit einem weiblichen Ende haben sollten. Verwenden Sie die Abisolierzange, um etwa 5 Millimeter der Isolierung abzuschneiden. Verdrehen Sie die losen Drähte ein wenig, damit kein einzelner Draht herausragt. Verwenden Sie ein wenig Zinn, um eine schöne Beschichtung für die Drähte zu machen. Wenn Sie neu im Löten sind, gibt es ein großartiges, kurzes Comic-Buch, das Ihnen das Löten beibringt. Es heißt Löten ist einfach und das PDF ist in mehreren Sprachen verfügbar unter https://mightyohm.com/blog/2011/04/soldering-is-e… Messen und schneiden Sie den Schrumpfschlauch, mit dem Sie den isolieren Teil, wo der Knopf und das Überbrückungskabel zusammengelötet werden. Ziehen Sie den Schrumpfschlauch über das Überbrückungskabel. Löten Sie das Überbrückungskabel an einen der Stifte auf der Taste.
- Wiederholen Sie den letzten Schritt für alle Tasten. Achten Sie immer darauf, den Schrumpfschlauch vor dem Löten über das Überbrückungskabel zu ziehen, da er möglicherweise nicht über den Stecker passt.
- Jetzt verbinden Sie den Shutdown-Button und den Neustart-Button. Wir haben Kupferlackdraht verwendet, aber da es sich als etwas fummelig erwies, würde ich vorschlagen, normales Geflecht zu verwenden. Schneiden Sie einige Zentimeter Zopf ab. Demontieren Sie es wie zuvor mit der Abisolierzange, diesmal jedoch an beiden Enden. Löten Sie dann ein Ende an den Pin des Shutdown- oder des Neustart-Knopfs. Schneiden Sie wieder ein Stück des Schrumpfschlauchs ab und ziehen Sie ihn über das Geflecht.
- Als nächstes verbinden Sie das Geflecht mit dem freien Stift des anderen Knopfes. Sie werden hier aber auch ein weiteres Überbrückungskabel anschließen, das auf Masse führt. Bereiten Sie das Überbrückungskabel wie bei den anderen vor, einschließlich des Schrumpfschlauchs. Biegen Sie nun das Geflecht so, dass Sie es an den freien Stift löten können, der vom Knopf zum freien Ende zeigt. Löten Sie dann auch den Überbrückungsdraht an den Stift. Das Anlöten des Geflechts von einer Seite und des Überbrückungsdrahts von der anderen Seite stellt sicher, dass Sie den Schrumpfschlauch über das gelötete Teil ziehen können.
- Verbinde die vier Knöpfe, die für die Spiel-Engine verwendet werden, indem du kleine Brücken baust. Achten Sie immer darauf, den Schrumpfschlauch vor dem Löten über das Geflecht zu ziehen. (Und stellen Sie auch sicher, dass Ihre Tasten in der richtigen Position sind, bevor Sie sie miteinander verbinden). Beim Anschließen des letzten Tasters sollten Sie wieder, wie bei den anderen beiden Tastern, das Geflecht von unten anschließen und ebenfalls ein Überbrückungskabel anschließen.
-
Mit der Soundfunktion des Multimeters können Sie überprüfen, ob alles richtig angeschlossen ist. Schließlich sollten Sie überprüfen, ob alle Schrumpfschläuche an der richtigen Stelle sind. Dann können Sie ein Feuerzeug oder eine Heißluftpistole verwenden, um es tatsächlich zu schrumpfen. Jetzt sind Sie mit dem Zusammenbauen der Knöpfe fertig!
Schritt 3: Einrichten der Software
Du wirst brauchen:
- ein Raspberry Pi mit installiertem Raspbian (Sie sollten auch andere Distributionen verwenden können, müssen jedoch einige Befehle anpassen) – wir haben ein Paket verwendet, bestehend aus einem Raspberry Pi 3 Model B+ mit einer vorinstallierten SD-Karte, einem Netzteil und ein Fall, andere Modelle sollten auch funktionieren
- einen Bondrucker – denken Sie daran, dass Sie den Drucker an den Raspberry Pi anschließen müssen, daher ist die Verbindung über USB möglicherweise am einfachsten
- deine Knöpfe
-
Verbinden Sie Ihren Raspberry Pi mit einem Bildschirm, einer Maus und einer Tastatur. Sie müssen es auch an den Drucker und die Tasten anschließen. Die Tasten müssen mit bestimmten GPIO-Pins verbunden werden. Wenn Sie andere Pins als wir verwenden möchten, können Sie dies im Code ändern. Im Moment erfahren Sie in dieser Liste, welcher Button mit welchem Pin verbunden werden muss. Ich werde die BCM-Nummerierung verwenden, die auch im Code verwendet wird. Unter https://www.raspberrypi.org/documentation/usage/g… gibt es eine Tabelle, die Ihnen zeigt, welcher Pin welche Nummer hat.
• Herunterfahren-Taste – 17 • Neustart-Taste – 27 • Erste Taste für Optionen in der Geschichte/Abenteuer – 5 • Zweite Taste – 6 • Dritte Taste – 13 • Vierte Taste – 19 • Die beiden Überbrückungsdrähte, die mit den Pins verbunden sind, die alle verbinden die Knöpfe müssen auf Masse gehen – in der Tabelle mit schwarzen Punkten markiert
Starten Sie den Raspberry Pi, indem Sie das Netzteil einstecken. Verbinden Sie den Raspberry Pi über ein LAN-Kabel oder ein drahtloses Netzwerk mit dem Internet.
- Wenn Sie die erforderliche Software auf dem Raspberry Pi installieren, müssen Sie zunächst die bereits installierte Software aktualisieren. Wir werden dies über das Terminal tun. Wenn Sie zum ersten Mal ein Terminal verwenden, hilft Ihnen die Raspberry Pi-Dokumentation (https://www.raspberrypi.org/documentation/usage/terminal/) sich zu bewegen und die Umgebung kennenzulernen. Öffnen Sie ein Terminal und geben Sie sudo apt update ein und drücken Sie die Eingabetaste. Dadurch wird die Liste der verfügbaren Pakete und Versionen aktualisiert. Geben Sie danach sudo apt upgrade ein. Dadurch werden tatsächlich neuere Versionen der bereits installierten Pakete installiert.
- Die Installation des Druckertreibers ist der nächste Schritt. Die Druckerverwaltung unter Linux kann mit CUPS erfolgen. Möglicherweise müssen Sie es zuerst auf Ihrem Raspberry Pi installieren. Geben Sie in einem Terminal sudo apt install cups ein. Der nächste Schritt besteht darin, die Druckertreiber zu erhalten. Vielleicht haben Sie Glück und es ist in den offiziellen Repositories enthalten. Verwenden Sie in einem Terminal apt search [Druckername oder Herstellername], um danach zu suchen. Die meisten Drucker werden wahrscheinlich nicht in den Repositorys enthalten sein, also müssen Sie sie von woanders beziehen. Möglicherweise liegt dem Drucker eine CD bei. Auf der Website des Herstellers sollen die aktuellsten Treiber zum Download bereitstehen. Einige Hersteller haben unterschiedliche Websites für verschiedene Regionen der Welt und leider enthalten nicht alle die gleichen Informationen. Wenn Sie einen Star-Drucker haben, scheint starasia.com die Website mit den neuesten herunterladbaren Treibern zu sein. Bitte überprüfen Sie, ob Sie Drucker für Linux herunterladen. Wir haben die CUPS-Treiber verwendet, nicht die JavaPOS-Treiber.
- Als nächstes müssen Sie die Treiber installieren. Bitte befolgen Sie die Anweisungen des Herstellers. Möglicherweise ist ein Softwarehandbuch für Linux verfügbar, das sich als nützlich erweisen kann. Bitte folgen Sie den Anweisungen für Debian oder Ubuntu - es gibt viele verschiedene Linux-Distributionen und nicht alle sind gleich, also prüfen Sie zuerst, ob Sie die richtigen Anweisungen zur Hand haben. In unserem Handbuch begannen die Anweisungen ohne zu erwähnen, dass sie für Red Hat-basierte Systeme sind und erst auf der nächsten Seite haben wir erfahren, dass die Anweisungen für Debian-basierte Systeme anders sind. Im Softwarehandbuch sollte auch angegeben sein, welche Pakete installiert werden müssen, zum Beispiel mussten wir „libcups2-dev“installieren. Sie müssen wahrscheinlich einige Befehle ausführen. Damit Sie unseren Fehler nicht wiederholen: Wenn Sie die Treiber mit make aus dem Quellcode kompilieren müssen, muss make install ausgeführt werden. Nur anhand der Fehlermeldung konnten wir nicht herausfinden, was schief gelaufen ist.
- Falls nicht in Ihrem Installationshandbuch enthalten, müssen Sie den Drucker in CUPS einrichten. Navigieren Sie dazu in einem Browser zu localhost:631. Klicken Sie auf „Verwaltung“und dann auf „Drucker hinzufügen“, um den Drucker einzurichten. Es gibt auch einen Hilfebereich. Sie müssen sich als Benutzer authentifizieren, siehe https://help.ubuntu.com/lts/serverguide/cups.html… (Abschnitt „Webinterface“) für Details. Wählen Sie die geeignete ppd- und Papiergröße. Sie sollten ihn auch zum Standarddrucker machen, da die Software auf dem Standarddrucker druckt. Navigieren Sie dazu zur Seite des Druckers und wählen Sie im Menü „Administration“die Option „Als Serverstandard festlegen“. Aus dem Menü „Wartung“können Sie „Testseite drucken“auswählen, um eine erste Überprüfung zu machen, ob alles richtig eingerichtet ist.
- Ein weiteres Paket, das Sie benötigen, ist python3-yaml, da die Geschichten in yaml-Dateien gespeichert werden und das Paket benötigt wird, damit der Python-Code sie interpretieren kann. Verwenden Sie sudo apt install python3-yaml, um es zu installieren.
- Jetzt beginnen wir endlich mit der Installation der Software, die tatsächlich die Geschichten druckt und auf Eingaben an den mit den Tasten verbundenen GPIO-Pins lauscht. Öffnen Sie ein Terminal und navigieren Sie zum Home-Verzeichnis, wenn Sie sich noch nicht darin befinden (dies kann durch Eingabe von cd (für Verzeichniswechsel) erreicht werden). Da sich unser Code auf GitHub befindet, können Sie ihn mit git clone https://github.com/fio-na/GrimmsKiste-1.git auf Ihren Raspberry Pi kopieren. Dadurch wird ein lokales Repository auf Ihrem Raspberry Pi unseres Codes erstellt. Wenn Sie eine Fehlermeldung erhalten, weil git nicht installiert ist, können Sie es installieren, indem Sie sudo apt install git eingeben.
- Der Code enthält einige Elemente, die Sie möglicherweise ändern müssen. Zunächst werden die Stories in yaml-Dateien gespeichert, die sich auch im Git-Repository befinden. Wenn der Pfad zu Ihrem Ordner nicht „/home/pi/GrimmsKiste-1“ist, müssen Sie diese Pfade ändern, um die Geschichten verwenden zu können. Zweitens drucken wir mit Unterprozessen und übergeben Terminalbefehle. Dazu gehören einige von unserem Druckertreiber verwendete Optionen, mit denen wir bestimmen können, ob das Papier nach dem Drucken geschnitten werden soll oder nicht. Diese werden für Sie wahrscheinlich nicht funktionieren (es sei denn, Sie verwenden auch einen Star TSP-Drucker). Sie werden auch feststellen, dass mehrere Zeilen mit nur einem Punkt gedruckt werden. Das brauchten wir, weil sonst Teile der Geschichte nicht lesbar waren, weil das Papier noch im Drucker klebte. Und schließlich verwenden wir in der Funktion format_text textwrap, um Textblöcke zu erhalten, die nicht länger als 28 Zeichen sind, denn so viele passen auf unserem 80-mm-Papier in eine Zeile. Bitte passen Sie diese Dinge an Ihr Setup an.
- Einige Dateien müssen ausführbar gemacht werden. Navigieren Sie dazu in den Ordner mit dem gerade heruntergeladenen Code. Dies sollte cd ~/GrimmsKiste-1 sein, wenn Sie dem gefolgt sind. Unter Linux werden Dateiberechtigungen von chmod verwaltet. chmod a+x Engin.py und chmod a+x shutdown-pi-and-restart-program.py macht diese beiden Dateien für alle Benutzer ausführbar.
- Jetzt können wir testen, ob der Motor richtig läuft und funktioniert und ob der Drucker und die Tasten richtig eingerichtet sind. Geben Sie dazu./Engin.py ein.
- Wenn alles gut funktioniert, besteht der nächste Schritt darin, zwei systemd-Dienste einzurichten. Weitere Informationen finden Sie auf der Wiki-Seite von archlinux (https://wiki.archlinux.org/index.php/Systemd) oder auf der Manpage von systemd.service (https://www.freedesktop.org/software/systemd/ man/systemd.service.html). Der erste systemd-Dienst überprüft alle zwei Sekunden, ob Engin.py gerade ausgeführt wird, und wenn nicht, wird er gestartet. Daher startet er das Programm auch beim Booten des Raspberry Pi. Öffnen Sie eine Datei im Ordner systemd: sudo nano /etc/systemd/system/grimmskiste-restart.service Geben Sie Folgendes ein:
-
[Einheit]
Description=startet Grimms Kiste alle zwei Sekunden neu, wenn es fehlschlägt [Service] ExecStart=/home/pi/GrimmsKiste-1/Engin.py Restart=always RestartSec=2 [Install] WantedBy=multi-user.target
- Sie müssen den Pfad bei ExecStart bearbeiten, wenn sich Ihre Engin.py an anderer Stelle befindet, z. B. wenn Ihr Benutzername anders ist. Um eine Datei in Nano zu speichern, müssen Sie Strg + x drücken, dann y (für ja) eingeben und die Eingabetaste drücken.
- Der andere Dienst startet das Skript shutdown-pi-and-restart-program.py, das auf die Schaltfläche zum Herunterfahren und Neustarten lauscht. Der Neustart-Button liest die Prozess-ID von Engin.py aus einer Datei und beendet sie, und wegen des anderen systemd-Dienstes startet Engin.py nach zwei Sekunden neu. Der Shutdown-Button sendet einfach einen Befehl an den Raspberry Pi, der jetzt heruntergefahren werden soll. Öffnen Sie eine andere Datei mit sudo nano /etc/systemd/system/grimmskiste.service und geben Sie Folgendes ein:
-
[Einheit]
Description=Steuert zwei Hardwaretasten zum Herunterfahren des Raspberry Pi oder zum Beenden des laufenden Programms Grimms Kiste [Service] ExecStart=/home/pi/GrimmsKiste-1/shutdown-pi-and-restart-program.py [Install] WantedBy= multi-user.target
- Auch hier müssen Sie den Pfad bei ExecStart bearbeiten, wenn er auf Ihrem Pi anders ist. Und wieder können Sie die Datei in Nano mit Strg + x speichern, dann y eingeben und die Eingabetaste drücken.
- Jetzt haben Sie die Unit-Dateien für die systemd-Dienste, aber sie werden noch nicht verwendet. Wann immer Sie Unit-Dateien ändern, geben Sie sudo systemctl daemon-reload ein, also tun Sie das jetzt. Starten Sie dann beide Dienste mit sudo systemctl start grimmskiste.service und sudo systemctl start grimmskiste-restart.service Damit werden die Dienste vorerst gestartet. Verwenden Sie sudo systemctl status grimmskiste.service und sudo systemctl status grimmskiste-restart.service, um zu überprüfen, ob sie ausgeführt werden. In der Ausgabe sollte eine Zeile stehen, die "active (running)" enthält, wahrscheinlich in der dritten Zeile - wenn nicht, ist etwas schief gelaufen. Journalctl kann möglicherweise mit weiteren Informationen zum Debuggen helfen.
- Mit systemctl start werden vorerst nur die Dienste gestartet, aber wenn Sie möchten, dass sie bei jedem Start des Raspberry Pi gestartet werden, müssen Sie sie aktivieren. Dies geschieht durch sudo systemctl enable grimmskiste.service und sudo systemctl enable grimmskiste-restart.service.
- Jetzt sollten Sie alle Tasten testen, ob alles richtig läuft. Testen Sie auch den Shutdown-Button und prüfen Sie, ob nach dem Neustart noch alles ordnungsgemäß läuft. In diesem Fall benötigen Sie keinen Bildschirm, keine Tastatur usw. und Ihr Programm sollte jedes Mal ausgeführt werden, wenn Sie den Raspberry Pi in die Steckdose stecken.
Schritt 4: Einführung in YAML:
Wichtig: Die lila hinterlegten Felder dürfen nicht umbenannt werden. Eine Ausnahme bilden die Namen der einzelnen Listen. Jede Story erhält ihre eigene YAML-Datei mit allen Auswahlmöglichkeiten. Der Aufbau ist der gleiche wie bei der Datei start.yaml
Doppelpunkt: Wenn Sie Doppelpunkte im Text verwenden möchten, müssen Sie eine >-Nachricht erstellen. Der Text wird dann um eine Zeile abgesenkt und mit zwei Leerzeilen eingerückt.
Tabs: Verwenden Sie keine Tabs und stellen Sie sicher, dass am Ende einer Nachricht keine Tabs stehen. Dies führt dazu, dass der Parser die Datei nicht lesen kann.
_default_question: Die hier eingetragene Frage wird übernommen, wenn in der Historie kein Feld mit „Frage“eingetragen ist.
_prompt: Dieses Feld wird ausgedruckt, wenn der Leser eine Eingabe vornehmen muss.
Beide Felder dürfen nur einmal in der Datei start.yaml vorkommen und dürfen in anderen Dateien nicht verwendet werden.
start: start ist der Name der ersten Liste der Startseite. Die Namen dürfen in allen anderen Listen nicht doppelt vorkommen. In der Vorlage heißt dieses Feld „Name der Geschichte“und muss für jede Geschichte geändert werden.
Nachricht: Dieses Feld enthält die Story und muss in einer Zeile stehen. Frage: Wird verwendet, wenn eine andere Frage als _default_question verwendet werden soll. Wird das Feld nicht verwendet, muss es gelöscht werden. (Optional)
Aktionen: Die Liste „Aktionen“enthält die Auswahlmöglichkeiten. Hier können maximal 4 Optionen eingegeben werden. Etikett: Das Etikett wird als Auswahlmöglichkeit gedruckt.
Weiter: Dies ist der Name der nächsten Auswahlmöglichkeit, die aufgerufen werden soll.
Ende: Eine Liste mit nur einer Nachricht markiert das Ende einer Story. Die Felder Aktionen, Label und Weiter müssen gelöscht werden
Weitere Geschichten hinzufügen:
Wie oben erläutert, erhält jede neue Story eine eigene.yaml-Datei. Öffnen Sie dazu den Ordner „Grimms Box“und kopieren Sie die Datei template.yaml. Sie finden diese auch in unserem GitHub-Repo (https://github.com/fio-na/GrimmsKiste-1). Benennen Sie die Datei um in den Titel der Geschichte und öffnen Sie diese. In der neuen Datei fügen Sie den Hersteller und das Datum hinzu und ändern das Feld „Der Name der Geschichte“in den Titel (siehe Abb. 4: Der Name der Geschichte ist hier HP1). Dann Nachricht, Frage, Label und weiter ausfüllen. Nachdem Sie dies getan haben, kopieren Sie die Datenstruktur (wie in Abb. 4 gezeigt) und fügen Sie sie unter die letzte nächste ein. Der Titel wird nun im ersten Teil in eine Taste geändert, die in „nächster“verwendet wird (wie in Abb. 4 gezeigt, wäre HP1 dann HP2 oder gang2, je nachdem, welche Option zuerst bearbeitet wird). Dann werden Nachricht, Frage, Label und Weiter wieder ausgefüllt. Tun Sie dies für alle Auswahlmöglichkeiten/Aktionen, bis die ganze Geschichte in der Datei ist. An allen Enden darf die letzte Liste nur eine Nachricht enthalten. Alle anderen Felder in der endgültigen Liste müssen gelöscht werden. Danach muss die Datei gespeichert werden.
Ablauf in Kürze:
- Öffne den Grimms Box Ordner
- Kopieren Sie die Vorlage.yaml und benennen Sie sie in den Titel der Story um.
- Öffnen Sie diese neue Datei.
- Datenstruktur kopieren (Abb. 4)
- Ändern Sie den Namen von Verlauf in Auswahlname
- Geben Sie den Text der Geschichte in das Nachrichtenfeld ein,
- Passendes Etikett einlegen.
- Geben Sie in next den Namen der nächsten Auswahloption ein.
- Wiederholen Sie die Schritte 4 bis 9, bis die Geschichte fertig ist.
- An allen Enden: Die letzte Liste enthält nur eine Nachricht.
- Speicher die Datei.
Fügen Sie Ihre neue Geschichte zur Startseite hinzu:
start.yaml ist die Startseite für Grimms Box. Diese Datei muss jedoch zunächst auf die neuen Storys zugreifen können. Daher müssen die neuen Storys zuerst dieser Datei hinzugefügt werden.
Pro Aktion können Sie als nächstes nur 4 Etiketten erstellen, da Grimms Box nur 4 Schaltflächen zur Auswahl hat. Wenn also, wie in der Beispieldatei start.yaml, bereits 4 Labels und nächste Felder belegt sind, muss das 4. Label „Mehr Geschichten“oder „Mehr“heißen und eine zweite Datenstruktur (hier:S2; mit Nachricht, Frage, Aktionen, Label, next) müssen angehängt und umbenannt werden. Dann fügen Sie die neue Story mit Label und next hinzu und benennen sie entsprechend. Schließlich muss es gespeichert werden.
Ablauf in Kürze:
In start.yaml:
- Öffne start.yaml
- Füllen Sie die Felder entsprechend aus.
- Die Felder Aktionen, Label und Weiter müssen kopiert und eingefügt werden.
- Speichern.
Pflegen Sie die Hauptdatei „Engin.py“:
Abschließend muss die Story noch in die Hauptdatei „Engin.py“eingefügt werden. Dazu muss lediglich der Dateipfad der neuen YAML-Datei in die Dateiliste eingetragen werden. Der Pfad wird in Anführungszeichen eingeschlossen und durch. von den anderen getrennt ein Komma.
Ablauf in Kürze:
- Öffnen Sie Engine.py.
- Kopieren Sie den Dateipfad der YAML-Datei
- Pfad zur Dateiliste kopieren
- Trennen Sie die Pfade durch Kommas.
Schritt 5: Gebrauchsanweisung
Um Grimm’s Box zu starten, schließen Sie den Drucker an den Raspberry Pi an (es ist ein kleines Loch für die Kabel), stecken Sie den Drucker und den Raspberry Pi in die Steckdose und schalten Sie den Drucker ein. Der Raspberry Pi startet beim Einstecken von selbst. Warten Sie, bis er bootet. Die Software soll von alleine starten.
Es gibt eine Schaltfläche zum Herunterfahren des Raspberry Pi und eine Schaltfläche zum Neustarten der Story-Software, falls jemand einfach die Story verlässt, ohne die Story zu beenden. Beide müssen mindestens 3 Sekunden gedrückt werden. Dies soll sicherstellen, dass sie nicht versehentlich verschoben werden, aber Sie können das Timing in der Datei shutdown-pi-and-restart-program.py ändern. Bitte benutzen Sie den Shutdown-Button, nur das Ziehen des Steckers ist für den Raspberry Pi nicht gut. Mit dem aktuellen Setup können Sie nicht sehen, ob der Raspberry Pi ein- oder ausgeschaltet ist, also müssen Sie überprüfen, ob er noch auf andere Tasten reagiert, wenn Sie sicher sein möchten.
Der Neustart des Programms dauert einige Zeit, da Sie die Taste mindestens 3 Sekunden drücken müssen und der Vorgang im Hintergrund nur alle 2 Sekunden überprüft, ob das Programm läuft, so dass der gesamte Vorgang bis zum erneuten Drucken 6 Sekunden dauern kann. Gib ihm einfach ein wenig Zeit. Die Neustart-Taste kann auch verwendet werden, wenn ein Problem auftritt. Vielleicht kann ein Neustart Abhilfe schaffen. Wenn dies nicht der Fall ist, kann das Anschließen des Raspberry Pi an einen Bildschirm usw. und das Ausführen des Programms über das Terminal zu Fehlermeldungen führen, die Sie im Internet nachschlagen können. Die für die Geschichten verwendeten Knöpfe müssen mindestens 0,1 Sekunden gedrückt werden, aber es kommt sehr selten vor, dass jemand sie weniger drückt.
Ist die Geschichte fertig, wird das Papier geschnitten und das Programm startet automatisch wieder. Aber um dem Leser etwas Zeit zu geben, das Ende zu lesen, wartet es 3,5 Sekunden plus die 2 Sekunden, die benötigt werden, um zu bemerken, dass das Programm nicht läuft und neu gestartet wird. Die 3,5 Sekunden können in der Datei Engin.py bearbeitet werden.
Tasten, die weniger als 1,7 Sekunden nach dem letzten Drücken gedrückt werden, werden nicht akzeptiert. Wir haben dies implementiert, weil der Raspberry Pi viel schneller ist als der Drucker und das Drücken von zwei Tasten dazu führen würde, dass eine Aktion ausgewählt wird, bevor der Leser die Optionen sehen kann.