2021-03-29

Beschreibung

So, jetzt habt ihr es geschafft mit eurer ewigen Nachfragerei - jetzt habe ich wieder eine "Bombe" gebastelt:
alte und neue Bombe
Alter und neuer Bombenwecker
Zigmal haben mich Leute angeschrieben, ob ich ihnen auch so einen Bombenwecker bauen könnte, wie ich mir mal vor ein paar Jahren gebastelt hatte.
Und zigmal habe ich abgelehnt. Macht ja auch keinen Spaß, genau das Gleiche nochmal zu bauen. Auch wenn das vielleicht ein Bombengeschäft werden könnte 😆
Abgesehen davon: Wie stellt man sich das denn vor? Soll ich das dann vielleicht als "Paketbombe" zu euch schicken? Tsss.

Trotzdem haben die Nachfragen bis heute nie nachgelassen und darum habe ich mich entschieden, doch nochmal einen Bombenwecker zu basteln und als "Bombenbauanleitung" hier zu dokumentieren. Damit ihr das bei euch zuhause selber leichter nachbauen könnt.
Und damit das für mich auch einen Reiz hat, dieses Mal etwas fortschrittlicher: mit einem Handy statt µC-Platine und mit Plastiksprengstoff statt TNT.

Allen, die das hier von Amts wegen lesen und jetzt erhöhten Puls bekommen haben, sei an dieser Stelle erklärt, dass es hier lediglich um einen Wecker für den privaten Gebrauch geht - Amtsdeutsch: eine Uhr, die zu einer zuvor einstellbaren Zeit aus dem Schlaf wecken soll.
Zum Zwecke außergewöhnlichem Designs (wie erklärt man Beamten "cool"?) ist dieser Wecker zwar in Erscheinung eines Sprengsatzes gestaltet, funktionell jedoch zur Detonationsanwendung gänzlich untauglich.
Also nur Show, kein Bumm. Kapiert? Wenn nicht: bis zum Ende weiterlesen - etwaige Sorgen werden sich auflösen.

Was man braucht

  1. Ein Nokia 6300
  2. Eine Mikro-SD-Karte bis max. 2GB
  3. Ein 5V-Netzteil (z.B. ausrangiertes Handy-Netzteil)
  4. Kleine Torx-Schraubendreher zur Handyreparatur
  5. Einen "Zünder" - ich habe hierfür einen Temperaursensor mit Kabel genommen
  6. Eine Diode
  7. Knete, Ton, sonstige Modelliermasse - Hauptsache es sieht entfernt nach Plastiksprengstoff aus
  8. Isolierband
  9. Frischhaltefolie

Nokia 6300

Damit das Nachbauen leichter wird (und weil ich selber auch keine Lust auf ein ausuferndes Löt-Massaker hatte) basiert dieser Bombenwecker auf einem alten Handy. Das macht einiges einfacher, denn das Handy hat ja bereits Display, Lautsprecher, Tastatur zum Weckzeiten eingeben und eventuell noch eine Batterie zum Weiterlaufen bei Stromausfall.
Ich habe mal ein bisschen meine Kisten mit den alten Handys durchstöbert und habe mich letztlich für ein gutes altes Nokia 6300 von 2007 entschieden.
Das war mal ein echt schickes Gerät; heute jedoch läuft niemand mehr ernsthaft damit herum und man bekommt die Teile auf eBay für ca. 10 bis 15€.

Das Tolle am Nokia 6300 ist, dass man eigene Java-Programme darauf von der SD-Karte laufen lassen kann. Gedacht war das für kleine Spielchen wie Tetris oder Snake - wir werden es zum Anzeigen des Bomben-Countdowns verwenden. Mehr dazu weiter unten.
Prinzipiell würde auch ein anderes, vergleichbares Handy gehen, aber das Bombenwecker-Programm läuft dann eventuell nicht korrekt.

Netzteil

Bei meinem Handy war nach mehr als zehn Jahren Herumliegen im Keller der Akku natürlich mausetot. Nicht mehr zu retten. Bei den gebrauchten Handys über eBay oder dem Flohmarkt wird es auch nicht anders sein. Das ist ein bisschen schade, weil ein Akku natürlich das Handy auch weiterlaufen ließe, wenn mal kein Netzstrom da sein sollte. Aber man kann dem Nokia mit einem externen Netzteil auch einen Akku vortäuschen. Dazu geht folgendermaßen vor:
  1. Das Ende vom USB-Kabel abschneiden und abisolieren. Minus ist immer blau oder schwarz; Plus ist immer rot. Die beiden anderen Leitungen sind für Daten, die brauchen wir nicht. An die Plusleitung löten wir eine Diode. Die Diode hat an einer Seite eine Markierung mit einem umlaufenden Strich. Diese Seite muss vom Netzteil weg zeigen:
    Verdrahtung
    Die Diode fungiert als Verpolschutz und sorgt dafür, dass die Spannung nicht zu hoch für das Handy ist. Mehr als ein paar hundert mA muss sie nicht aushalten.
  2. Um es noch ein bisschen mehr nach Bombengebastel aussehen zu lassen, kann man das Kabel noch mit etwas isoliertem Draht zum Handy hin verlängern. Ich habe einfaches rot/schwarzes Lautsprecherkabel genommen.
    Außerdem sollte man noch die Kontakte der Diode mit Isolierband oder Schrumpfschlauch isolieren.
  3. Die Rückseite des Nokia 6300 abmontieren, bis die Anschlüsse für den Akku gut zugänglich sind.
  4. Der Pluspol ist an der Außenseite (zum Rand der Platine hin), Minus wird an die beiden anderen Pins angeschlossen:
    Nokia 6300 Batterie
  5. Das Ganze dann an ein ausgedientes 5V-USB-Netzteil anschließen.

Habt ihr ein Nokia 6300 mit noch funktionierendem Akku und original Netzteil, dann entfällt dieser Abschnitt natürlich komplett.

Sprengstoff

So, nun brauchen wir noch Plastiksprengstoff. Eine Google-Bildersuche oder Wikipedia helfen dabei, einen Eindruck zu bekommen, wie das ungefähr aussehen sollte. Gut möglich, dass ihr im Haushalt Knete, Ton oder irgendwas habt, dass dem Gesuchten bereits ähnelt.

Ich: <mit suchendem Blick durch das Haus streifend>
Sie: Suchst du was?
Ich: Ich brauche ganz viel Knete. Oder Plastiksprengstoff.
Sie: ^^

Da mir am liebsten sowas Knete gewesen wäre, mir aber von höchster Stelle untersagt wurde von den Kindern zu plündern, habe ich mich mal im Baumarkt umgesehen. Da findet man ja traditionell eh alles zum Bombenbau.
In der Abteilung für Künstlerbedarf gab es eine hellgraue Modelliermasse, die von der Optik und Haptik sehr nahe an das kommt, was ich mir als Laie so unter Plastiksprengstoff vorstelle:
Modelliermasse
Mit Modelliermasse und Phantasie ist alles möglich

So ein Brocken Plastepampe sieht jetzt allerdings noch nicht gerade gefährlich aus. Also holen wir ihn erstmal aus seiner Verpackung und peppen ihn mit selbstgedruckten Labels auf, die ihn als Plastiksprengstoff ausweisen. Die Bildersuche im Netz zu "Plastiksprengstoff" liefert da sicher gute Ideen.

Anschließend verpackt ihr das in straff gewickelter Frischhaltefolie und könnt es dann noch nach Belieben mit Barcode-Aufklebern o.ä. dekorieren (die von den Ferrero Rocher lassen sich gut ablösen und man hat gleich auch noch was zum Naschen).

Zusammenbau

  1. Den "Zünder" durch die Folie in die Modelliermasse stecken und das andere Ende vom Kabel irgendwo an die Rückseite des Handys kleben.
  2. Das Handy mit Isolierband an die Sprengladung kleben. Darauf achten, dass Display und Tasten benutzbar bleiben.
    Eventuell ist es sinnvoll ein flaches Stück Holzleiste zwischen Handy und Sprengladung zu platzieren, damit man den Lautsprecher auf der Rückseite des Nokia weiterhin gut hören kann.
  3. Den Kabelsalat von Netzteil und Zünder mit Isolierband au der Rückseite der Sprengladung fixieren.
  4. Fertig!
Fertiger Bombenwecker
Serviervorschlag

Bedienung

Der Hauptbildschirm zeigt Wochentag, Datum, Uhrzeit und die verbleibende Zeit bis zur nächsten Detonation an. Wenn für gar keinen Wochentag ein Alarm aktiviert ist, dann entfällt Letzteres.
Steht ein Alarm unmittelbar bevor (default: 30s) wird in den AlarmScreen gewechselt, der einen Countdown herunterzählt. Hier kann man durch Eingabe von "007" den Countdown abbrechen und zurück zum Hauptbildschirm kehren. Oder man wählt über die Menütasten die Snooze-Funktion und hat dann noch 5 Minuten mehr.
Bei Eingabe eines falschen Codes verringert sich die Restzeit um 5 Sekunden! Ja, das ist gemein. Ja, ich will das so. 😈
Läuft der Countdown ab, wird in den BoomScreen gewechselt. Der sieht so aus, wie er heißt und spielt fürchterliche Musik über den Handylautsprecher ab. Spätestens dann sind alle wach.
Der BoomScreen kann über die Menütaste beendet werden, bietet aber ebenfalls die Snooze-Funktion an.
Mein alter Bombenwecker hat nach Ende des Countdowns endlos Terror gemacht. Das ist etwas ungeschickt, wenn ihr in Urlaub fahrt und vergesst den Wecker vorher auszumachen und der Nachbar euch bei eurer Rückkehr dann konstatiert, dass es bei euch wohl piept. Der neue Wecker geht darum nach 5 Minuten wieder zurück in den Hauptbildschirm und ist still.
Über den Hauptbildschirm gelangt man auch in ein Konfigurationsmenü, wo man für jeden Wochentag einstellen kann ob und wann geweckt werden soll.

Uhrzeit und Datum Countdown Boom!
Anzeige von Uhrzeit, Datum und Zeit bis zur Sprengung; Countdown mit Code-Eingabe; Bildschirm bei abgelaufenem Countdown

Demo-Video

Heute will ja jeder zu allem Kram lieber ein Video sehen, also hier ein kleiner Demofilm:
Nicht wundern, das Video zeigt teils noch eine alte Version der App auf dem Nokia, die sich von den Screenshots oben unterscheidet.
Außerdem ist es ein Stummfilm, wg. Urheberkram der verwendeten Sounds (siehe unten).

Software

Als 2007 das Nokia 6300 auf den Markt kam, waren Android und iOS noch in den Kinderschuhen. Genaugenommen eher noch in den Babywindeln. Smartphones und Apps, so wie man sie heute kennt, waren noch unbekannt, aber man konnte auf manchen Handys zumindest kleine Java-Programme mit eingeschränktem Funktionsumfang laufen lassen.
Genau dies habe ich genutzt, um Datum/Uhrzeit und einen schönen Bomben-Countdown auf dem Display anzuzeigen.
Und folgend erkläre ich euch, wie ihr das ebenfalls könnt.

Entwicklungsumgebung

14 Jahre Fortschritt sind bei Handytechnik allerdings eine enorme Zeitreise und darum war die erste Hürde, eine überhaupt noch funktionierende Entwicklungsumgebung wieder zusammenzustellen.

Das wird benötigt:
  1. Java ME SDK 3.0 for Windows
  2. Sun Java Wireless Toolkit for CLDC 2.5.2 ML
  3. Lieblingseditor
  4. Der Sourcecode natürlich

Installiert euch das SDK und das Toolkit. Letzteres verortet die Projekte unter C:\Users\DeinWindowsUsername\j2mewtk\2.5.2\apps\Projektname\
Entpackt dort also das o.g. Zip-File:
Installationsverzeichnis
Anschließend könnt ihr das LaBomba-Projekt im Wireless Toolkit öffnen und auch schon direkt über Menü Project > Run im Emulator starten: LaBomba-App im Emulator

Die LaBomba-App

Das LaBomba-Programm besteht nur aus wenigen Java-Klassen und ist daher eigentlich schnell zu verstehen:
BombUtil.javaEnthält ein paar allgemeine Hilfsfunktionen.
BombConfig.javaVerwaltet sämtliche Parameter. Die Alarmzeiten werden im nicht-flüchtigen Speicher der App gesichert und bleiben auch nach Neustart erhalten. Der Rest (beispielsweise der Entschärfungs-Code 007) ist hardcoded.
AlarmTime.javaRepräsentiert eine Alarmzeit, wie sie von BombConfig.java für jeden Wochentag verwaltet wird.
BombTimerTask.javaIst nur ein Wrapper für den Aktualisierungstimer-Callback.
BoomScreen.javaZeichnet den Bildschirm bei Ablauf des Countdown.
AlarmScreen.javaZeichnet den Countdown-Bildschirm. Wird innerhalb des Timer-Task regelmäßig neu gezeichnet.
ClockScreen.javaZeichnet Digitaluhr und Datum auf den Bildschirm. Wird ebenfalls innerhalb des Timer-Task regelmäßig neu gezeichnet.
TimeEditForm.javaZeichnet ein einfaches Formular zum Stellen einer Weckzeit.
ConfigurationForm.javaZeigt ein Formular zur Auswahl, an welchen Wochentagen geweckt werden soll und ermöglicht das Einstellen der Weckzeiten über TimeEditForm.java.
LaBomba.javaEnthält die eigentliche Programmlogik und den Timer und steuert die Übergänge zwischen den verschiedenen Screens.

Ich weise allerdings dezent darauf hin, dass die ganze Bombenbastelaktion größtenteils an einem Wochenende entstanden ist und ich zuvor jahrelang kein Java mehr geschrieben habe. Wer da also etwas optimieren möchte: nur zu!

Kompilieren und Aufspielen

Nachdem ihr den Code ggf. angepasst habt, klickt im Wireless Toolkit auf Build und dann im Menu Project > Package > Create Package
LaBomba.jar, LaBomba.jad, MANIFEST.MFIm Unterordner bin findet ihr dann die abgebildeten Dateien und kopiert diese auf eine SD-Karte mit max. 2GB (größere kann das Handy nicht).
Vergesst nicht vorher die Sounddateien im Unterordner res durch eigene zu ersetzen (siehe Erklärung unten).

App anpassen

In BombConfig.java könnt ihr die App nach eigenen Vorstellungen noch anpassen - z.B. die Dauer des Countdown oder den Code zum Entschärfen:
BombConfig.java

Zudem gibt es im Unterordner res ein paar Sounddateien, die man ganz sicher dem persönlichen Geschmack anpassen möchte:
defused.mp3Wird abgespielt, wenn der korrekte Entschärfungscode eingegeben wurde.
laBomba.mp3Wird abgespielt, wenn der CountDown abgelaufen ist.
timeout.mp3Wird abgespielt, wenn der BoomScreen automatisch wieder verlassen wird.
wrongcode.wavWird abgespielt, wenn ein falscher Entschärfungscode eingegeben wird.
Die Dateinamen müssen genau so beibehalten werden, es sei denn, ihr ändert den Code entsprechend. Achtet also auch auf die Groß-/Kleinschreibung.

defused.mp3 ist bei meinem eigenen Wecker "Bomb has been defused" und timeout.mp3 ist "Terrorists win" aus Counter-Strike.
Und da so ein Bombenwecker meiner Meinung nach die primäre Aufgabe hat, den Anwender mit allen Mitteln zu motivieren aufzustehen und rechtzeiting den richtigen Code einzugeben, ist laBomba.mp3 bei mir "La Bomba" von King Africa - das ist so unglaublich, damit möchte nun wirklich NIEMAND montagmorgens um halb sieben aus dem Schlaf gerissen werden 😂

Aber da das natürlich alles urheberrechtlich geschützt ist, kann ich euch hier nur sagen, was ich gewählt habe und dass ihr das nach eigenem Gusto austauschen könnt - bzw. müsst, denn der LaBomba-Download hier enthält nur leere Sounddateien.
Leider habe ich auf die Schnelle auch keine überzeugende Möglichkeit gefunden die Sounds direkt von SD-Karte abzuspielen, sondern sie müssen in die LaBomba.jar hineingelinkt werden. Daher übrigens auch der ganze Aufwand mit Entwicklungsumgebung einrichten und selbst kompilieren. Wenn da irgendwo ein J2ME-Programmierer der alten Schule einen guten Weg weiß, dann bitte mich wissen lassen.

Gut zu wissen

mp3-Dateigröße

Die maximale Größe für mp3-Dateien ist auf 1.5 MB limitiert. Wenn ihr mit eurem Lieblingslied geweckt werden wollt, dann müsst ihr entweder die mp3-Bitrate deutlich reduzieren (der Handylautsprecher hat eh nicht die Qualität, dass das ins Gewicht fällt) oder euer Lied kürzen. Ich nehme für sowas immer den Wave Editor. Der ist nicht so mit zig Features überladen.
Auch grundsätzlich ist darauf zu achten, dass das Jar-File nicht zu groß wird. Lasst also keine ungenutzten Bilder und Sounddateien im res-Unterordner herumliegen.

Mehrton

Das Nokia 6300 scheint mir nicht mehrtonfähig zu sein, kann also nicht zwei Sounds gleichzeitig abspielen. Ich habe das Abspielen des wrongcode.wav bei Eingabe eines falschen Entschärfungscodes auskommentiert, da das sonst mit den Countdown-Tönen in Konflikt gerät.

Nokia UI API

Die LaBomba-App verwendet die Nokia UI API um die Displayhelligkeit konstant auf 100% zu halten. Andernfalls wird es nämlich nach kurzer Zeit abgedunkelt zum Energiesparen. Einfach mal nach DeviceControl.setLights suchen, um die Stelle im Quelltext zu finden.

Links und Dateien

Und last but not least

Wichtige Hinweise

Leute, ich hoffe ja es ist überflüssig darauf hinzuweisen, dass so ein Bombenwecker ausschließlich auf euren ganz privaten Nachttisch gehört, wo ihn keine fremden Blicke erfassen können.
Ganz definitiv solltet ihr mit sowas nicht in der Öffentlichkeit herumlaufen. Ganz definitiv solltet ihr das nicht als Urlaubsgepäck mitführen, per Post herumschicken, im Rucksack irgendwo liegen lassen oder sonst wie für Aufruhr sorgen.
Seht euch die Bilder oben nochmal aus anderer Perspektive an. Aus Nerd-Sicht mag das vielleicht ein bisschen ironisch wie der Stereotyp einer typischen Aktionfilmbombe wirken. Aber es sieht nicht nur aus wie ein Terroristensprengsatz, es würde gerade darum auch mit vollem Ernst dafür gehalten werden und dann seid ihr in massiven Schwierigkeiten. Ganz ohne Ironie.

Mein alter TNT-Bombenwecker steht bei uns oben im Dachgeschoss wo ihn eigentlich niemand sehen kann. Der Polizist, der mal da war (nein, nur zur Einbruchsschutzberatung), hat sich überraschenderweise nicht dafür interessiert - bei Schornsteinfeger und Handwerkern hingegen hat der Wecker bereits für "gewisse Irritationen" gesorgt.
Passt also bitte gut auf und sorgt dafür, dass niemand damit erschreckt wird.