Skip to content

Software2

Nikolai Radke edited this page Jul 13, 2020 · 52 revisions

Nokos Software 2 - optionale Erweiterungen

Soll Noko Hörspiele und ein externes EEPROM für weitere Textausgaben bekommen, müssen diese Elemente vorbereitet werden.

Hinweis: Diese Schritte können auch zu einem späteren Zeitpunkt nachgeholt werden.

Hörspiele

Bis zu 95 Hörspiele können mit Titel- und Autorenbeschreibung sowie der Spieldauer individuell ausgewählt und eingebunden werden. Mehr Kapazität hat das AH24C32-EEPROM auf der Platine der Echtzeituhr nicht. Wem das nicht reicht, der kann weitere Hörspiele in den Ordner MP3 kopieren und unter Eigenes hören (siehe Anleitung) hören. Dabei muss auf die korrekte Beschreibung dieser Hörspiele verzichtet werden.

In diesem Repository sind die Texte für 40 vorgeschlagene Freeware-Hörspiele vorhanden, die, wie im Kapitel vorher vorgeschlagen, hier heruntergeladen werden können. Wer sich mit dieser ganz erlesenen Auswahl der Hörspiele zufrieden gibt, braucht nichts weiter zu verändern. Eine Liste der vorgeschlagenen Hörspiele befindet sich am Ende dieses Kapitels.

Die Angaben zu den Hörspielen sind als 2x20 Zeichen-Blöcke in der Datei Disk0 im Verzeichnis Noko > write_eeprom untergebracht.

Disk0, Noko_EEPROM_Disk0.ino und write_Disk0

Jedem Hörspiel stehen nun 20 Zeichen für den Titel und weitere 20 Zeichen für den Autoren zur Verfügung. Es müssen genau 20 sein, nicht benötigte Zeichen werden durch Leerzeichen ersetzt. Nach den 20 Zeichen folgt sogleich der nächste Eintrag, ohne Return. Die Datei ist sozusagen eine einzige lange Zeichenkette.

Die Datei kann nun mit weiteren Einträgen ergänzt oder auch komplett ersetzt werden. Dazu wird ein (vernünftiger!) Editor benötigt. Immer abwechselnd Titel und Autoren eintragen und die Anzahl der Hörspiele mitzählen. Speichern.

Disk0 ist somit vorbereitet. Um die Texte in das EEPROM zu brennen, muss zunächst der Sketch Noko_EEPROM_Disk0.ino auf den Arduino geladen werden. Diese Datei muss, sofern die Anzahl der Hörspiele geändert wurde, in folgender Weise angepasst werden:

// Number of Stories
#define stories 40 // Max 95

Hinweis: Seit Firmware 230218 muss die Spieldauer nicht mehr mit angegeben werden. Noko kann das jetzt von alleine auslesen.

Wer lieber gleich eigene Hörspiele verwenden will, sollte nun im Kapitel Eigene Hörspiele vorbei schauen.

Der Datentransfer erfolgt plattformabhängig. Die Hilfsprogramme wurden für x86_64-Systeme kompiliert. der Quellcode ist im selben Verzeichnis zu finden.

Linux (64Bit):

  1. Ein Terminal öffnen.

  2. Um mit dem Arduino über eine serielle USB-Verbindung zu kommunizieren, muss der Benutzer in der Gruppe Dialout sein. Das muss einmalig mit folgendem Befehl festgelegt werden:
    sudo usermod -aG dialout $(whoami)

  3. Für die Verbindung müssen noch Parameter wie folgt gesetzt werden:
    stty -F /dev/ttyUSB0 cs8 9600 ignbrk -brkint -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
    Möglicherweise ist Noko an einem anderen USB-Port verbunden. Das kann leicht unter Werkzeuge > Ports herausgefunden werden. Ggf. muss also /dev/ttyUSB0 durch /dev/ttyUSB1 o.ä. ersetzt werden.

  4. In das Verzeichnis /Noko/write_eeprom wechseln.

  5. Die Datei Disk0 wird nun mit dem Kommando ./write_Disk0 > /dev/ttyUSB0 in das EEPROM geschrieben. Dabei sollten die RX- und TX-LED das Arduinos hektisch blinken. Nach einer kurzen Weile ist das Programm beendet und das EEPROM beschrieben.

Windows:

  1. Eine Kommandozeile öffnen. Dazu Start drücken und in das Textfeld cmd eingeben und mit Return bestätigen.

  2. In das Verzeichnis /Noko/write_eeprom wechseln.

  3. Die Datei Disk0 nun mit dem Kommando
    write_Disk0 > COM1 schreiben lassen. Möglicherweise ist Noko an einem anderen USB-Port verbunden. Das kann leicht unter Werkzeuge > Ports herausgefunden werden. Ggf. muss also COM1 durch COM2 o.ä. ersetzt werden. Wird das Programm nun gestartet, sollten die RX- und TX-LED das Arduinos hektisch blinken. Nach einer kurzen Weile ist das Programm beendet und das EEPROM beschrieben.

Windows 8:

Mehreren Berichten zufolge funktioniert das Beschrieben der EEPROMs auf diesem Wege nicht unter Windows 8. Bitte eine andere Plattform verwenden.

Windows 10:

  1. Zunächst muss die Baud-Rate eingestellt werden. Dazu muss für
    Noko_EEPROM_Disk0 die Zeile 65 und in Noko_Disk1 die Zeile 17 auskommentiert werden.

  2. Hierfür werden Administrator-Rechte benötigt. Rechtsklick Start -> Gerätemanager -> Anschlüsse -> USB Serial Port (COMX) -> Rechtsklick Eigenschaften -> Anschlusseinstellungen -> Bits pro Sekunde auf 115200 stellen.

  3. Weitere Schritte wie oben beschrieben vornehmen.

SD-Karte

Das EEPROM ist jetzt vorbereitet. Die Hörspiele müssen sich im Verzeichnis 001 befinden und die Namen 227.mp3 bis maximal 322.mp3 tragen. Kopierreihenfolge beachten!

Hinweis: Wer noch das alte Sprachset VoiceSet_111 bis Firmware 301117 verwendet, muss leider alle Dateien in 112.mp3 bis 151.mp3 umbenennen. Das klingt lästig, dauert aber tatsächlich nur etwa 2 Minuten.

Noko.ino

Zuletzt wird die eigentliche Software angepasst. Wurden die Hörspiele zuvor in der Zeile
#define def_stories // Stories on SD card?
mit // auskommentiert, müssen diese Schrägstriche nun wieder entfernt werden.

Externes EEPROM

Im 24LC256-EEPROM befinden sich Texte, die Noko ab und an auf seinem Display ausgibt. Diese nehmen etwa 20kb von 32kb in Anspruch. Hier ist also noch Luft nach oben. Noko kennt vier verschiedene Inhalte:

  • Schimpfwortgenerator mit 100 * 100 * 100 (männlich) + 100 (weiblich) = 2.000.000 Varianten.
  • 26 Alle Kinder...-Gedichte (von A-Z).
  • 100 Wusstest Du schon, dass...-Phrasen.
  • 100 Zitate. Leider ohne Quelle. Aus Platzgründen auf dem Display. Schande über mich.

Disk1, Noko_Disk1.ino und write_Disk1

Analog zu den Hörspielen liegen die Daten in der Datei Disk1. Wer mag, kann meine Texte übernehmen oder einfach neue schreiben. Auch hier gilt: Disk1 ist eine einzige lange Zeichenkette, Leerzeichen müssen gesetzt werden, die Return-Taste ist tabu. Die einzelnen Blöcke befinden sich wie folgt in der Datei:

  • 0000-3999 für den Schimpfwortgenerator:
    0000-0999 10 Zeichen für ein Adjektiv. Ist es männlich, wird ein "r" angehängt.
    1000-1999 10 Zeichen für den ersten Teil des Nomens.
    2000-2999 10 Zeichen für ein männliches Nomen.
    3000-3999 10 Zeichen für ein weibliches Nomen.

  • 4000-9999 für die Phrasen:
    Da jede Phrase mit Wusstest Du schon, dass... beginnt, sind es hier 3x20 Zeichen.

  • 10000-17999 für die Zitate:
    Noko tut intellektuell. Auf 4x20 Zeichen.

  • 18000-20079 für die Gedichte:
    Auch hier wieder 4x20 Zeichen. Seid lyrisch!

Wenn es weniger Elemente sein sollen, müssen entsprechend die Startadressen in Noko.ino angepasst werden. Momentan benötigt der Schimpfwortgenerator 4000 Zeichen, daher ist die Phrasenadresse immer bei 4000. Die Adressen für Zitate und Gedichte müssen also in Zeile 95 und 96 angepasst werden.

Um die Texte auf das EEPROM zu brennen, wird analog zu den Hörspielen vorgegangen, siehe oben. Der passende Skech ist Noko_Disk1.ino, Das Kommando für die Hilfsprogramme heißt entsprechend
./write_Disk1 > /dev/ttyUSB0 bzw. write_Disk1 > COM1.
Das Brennen dauert ca. 20 Minuten. Geduld. EEPROMs sind langsam. Wer unter Linux gerne den Fortschritt in Form der geschrieben Zeichen auf der Konsole dabei sehen möchte, kann beim Brennen dieses Kommando verwenden:
./write_Disk1 | tee /dev/ttyUSB0.

Noko.ino

Auch hier wird die eigentliche Software angepasst. Wurde das EEPROM zuvor in der Zeile
#define def_external_eeprom // Using external EEPROM?
mit // auskommentiert, müssen diese Schrägstriche nun wieder entfernt werden.

Die Software ist fertig

Nun kann Noko.ino auf den Arduino aufgespielt werden. Nun empfiehlt sich ein umfangreicher Test. Dazu hilft der Sketch Noko Diagnostics, um die einzelnen Funktionen zu testen und Fehler zu finden. Keine gefunden? Der Bau kann beginnen! Weiter geht es mit der Bauanleitung.

Liste der Hörspiele

Diese Hörspiele sind Freeware und können frei in meinem Google Drive heruntergeladen werden (1.7 GB).

Datei Autor Titel
227.mp3 Tatort 13
228.mp3 Tatort Anatomie des Todes
229.mp3 Tatort Autsystem
230.mp3 Tatort Calibra
231.mp3 Tatort Currykill
232.mp3 Tatort Dancing Queen
233.mp3 Tatort Das grüne Zimmer
234.mp3 Tatort Die Katze des Libanesen
235.mp3 Tatort Exit
236.mp3 Tatort Geisterstunde
237.mp3 Tatort Grauzone
238.mp3 Tatort Kurschatten
239.mp3 Tatort Malina
240.mp3 Tatort Stand der Dinge
241.mp3 Tatort Totentanz
242.mp3 Tatort Wallfahrt
243.mp3 Tatort Wasser bis zum Hals
244.mp3 Tatort Wilde Tiere
245.mp3 Tatort Winterliebe
246.mp3 Tobias Steinfeld 25
247.mp3 Cornelia Funke Herr der Diebe 1
248.mp3 Cornelia Funke Herr der Diebe 2
249.mp3 Cornelia Funke Herr der Diebe 3
250.mp3 Christoph Buggert Der blaue Vogel
251.mp3 Claudia Weber Der Schneekugelmacher
252.mp3 Die Fallers Junggesellenabschied
253.mp3 Eugen Egner Olga La Fong
254.mp3 Frederico Jeanmaire Leichter als Luft
255.mp3 Herbert Beckmann Kickback
256.mp3 Holger Boehme Der Kormoran
257.mp3 Jens Rachut Da oben ist es voll
258.mp3 Mariann Kaiser Ferienwohnungen für Vögel
259.mp3 Paul Barz Bombenrolle
260.mp3 Rainer Puchert Mondgelichter
261.mp3 Rainer Schildberger Ich bin Du
262.mp3 Rainer Schildberger Nervenkostüm
263.mp3 Richard Faber Dracula und der Nerd
264.mp3 Schröppel/Karau Conan Baby
265.mp3 Stefan Ripplinger Die Gräber leeren sich
266.mp3 Stuart Kummer 300% und die Scheiße mit dem Schulgarten