BrickUsingMultipleModules: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
(ADD Anleitung)
(Switch to english, manuals, pictures from make)
Zeile 1: Zeile 1:
BrickUsingMultipleModules (kurz: BUMM) ist ein Rätselspiel, das unter dem Theme "Bombenentschärfung" spielt. Angelehnt an [http://www.keeptalkinggame.com/ Keep talking and nobody explodes] geht es darum, unter Zeitdruck verschiedene Rätselmodule lösen, um eine Bombe rechtzeitig zu entschärfen.
+
BrickUsingMultipleModules (short: *BUMM*) is a riddle game themed around bomb defusals. After an evening of playing [http://www.keeptalkinggame.com/ Keep talking and nobody explodes] I was sure that this has to be transferred to hardware. The goal of defusing multiple modules is the same, but the hardware implementation calls for some serious changes. Cutting wires was out of the question, since nobody was found to replace them for a new round.
  
== Bilder ==
+
== Pictures ==
  
=== Frontpanels ===
+
=== Front panels ===
 
<gallery>
 
<gallery>
Image:BUMM countdown blink front.jpg |Countdown und Manipulationsdetektor (links), blink-Modul (rechts)
+
Image:BUMM countdown blink front.jpg |Countdown und manipulation detector aka life counter (left), blink-module (right)
Image:BUMM serial and gates front.jpg|Seriennummer-Anzeige (links) und gates-Modul (rechts)
+
Image:BUMM serial and gates front.jpg|Serial number display (left) und gates-module (right)
 
Image:BUMM in action countdown.jpg |Countdown
 
Image:BUMM in action countdown.jpg |Countdown
Image:BUMM in action gates.jpg |gates-Modul
+
Image:BUMM in action gates.jpg |gates-module
 
</gallery>
 
</gallery>
  
  
=== Panelrückseite ===
+
=== Backsides ===
 
<gallery>
 
<gallery>
Image:BUMM serial and gates back.jpg|Gates-Modul (links), Seriennummer-Anzeige (rechts)
+
Image:BUMM serial and gates back.jpg|Gates-module (left), serial number display (right)
Image:BUMM countdown and md.jpg|Countdown und Manipulationsdetektor
+
Image:BUMM countdown and md.jpg|Countdown und manipulation detector
Image:BUMM blink module.jpg|Blink-Modul
+
Image:BUMM blink module.jpg|Blink-module
 +
Image:BUMM module b backside.jpg|Gates-module before mounting
 
</gallery>
 
</gallery>
  
  
=== Fertiger Brick ===
+
=== Complete Brick ===
 
<gallery>
 
<gallery>
 
Image:BUMM total side.jpg|
 
Image:BUMM total side.jpg|
Zeile 29: Zeile 30:
 
=== Details ===
 
=== Details ===
 
<gallery>
 
<gallery>
Image:BUMM bus backplane.jpg|Bus Backplane. 5 Signale (GND, 5V, Tx, Rx, 12V) auf 10er-Pinheadern sorgen für bequemes Löten und Verkabeln :)
+
Image:BUMM bus backplane.jpg|Bus Backplane. Why cut the copper stripes if we only need 5 signals (GND, 5V, Tx, Rx, 12V) anyway?
Image:BUMM speaker.jpg|Lautsprecher und massiv befestigter Verstärker
+
Image:BUMM speaker.jpg|Speaker for beeping and firmly mounted audio amplifier
Image:BUMM bus ftdi.jpg|Busplatine von oben und USB<->seriell-Wandler
+
Image:BUMM bus ftdi.jpg|Bus backplane and usb-serial converter
Image:BUMM powerpack.jpg|Erfahrungsgemäß ist auf die Stromversorgung auf der Make kein Verlass...
+
Image:BUMM powerpack.jpg|On the last Make Rhein-Main, we had lots of power outages. Not stopping this device!
Image:BUMM gui.png|Fernsteuerung mit Countdown, MD-Status, Seriennummbern, Konfiguration und Status für jedes Modul
+
Image:BUMM gui.png|Remote control with countdown, life counter, serial number, configuration and status for each module
 
</gallery>
 
</gallery>
  
== Technik ==
+
== Background ==
Jedes Modul enthält einen Arduino (oder anderen Controller), der über einen gemeinsamen Bus (5V) via UART kommuniziert ([https://github.com/hackffm/BrickUsingMultipleModules/tree/master/bus_docu Protokoll]). Dabei ist jedes Modul von der Logik her eigenständig und gibt nur an, ob es entschärft wurde und ob es eine Manipulation detektiert hat.
+
Als Zentrale fungiert ein Raspberry Pi, auf dem ein Pythonscript mit der gesamten Gamelogik läuft. Neben der Buskommunikation stellt dieses auch einen TCP-Server bereit, über den der Brick ferngesteuert werden kann.
+
  
== Anleitung ==
+
[[Image:BUMM block diagram.png|200px|thumb|right]]
[[Medium:BUMMleicht.pdf|Eine Anleitung für Jünglinge]]
+
  
== TODO ==
+
Each module has its own arduino and is connected to a parallel bus backplane ([https://github.com/hackffm/BrickUsingMultipleModules/tree/master/bus_docu speaking 5V UART at 19200 baud]).
Folgendes ist noch notwendig (was noch nicht geklärt ist und noch Hilfe braucht, ist fett).
+
Each module contains its own logic and only tells the gamemaster whether it has been defused and if any manipulations (mistakes) were detected.
* WLAN (Raspi 3 coming?)
+
  
=== [[Make Rhein-Main 2017]] ===
+
The gamemaster is a Raspberry Pi running a python script.
Der Brick soll auf der [[Make Rhein-Main 2017]] in einer separaten Kammer untergebracht werden, aus der nur auf elektronischem Wege kommuniziert werden kann.  
+
Apart from the game logic and audio output, it opens a TCP socket which can be used to control the game remotely.
* Kammer: Da vermutlich kein separater Raum zur Verfügung stehen wird, wäre es cool, eine kleine Kammer aufzubauen. Vermutlich wird es ein Rahmen aus Holz mit eingespannter Folie.
+
The network protocol is based on tree structures serialized to JSON and terminated with NULL.
* Zur Kommunikation zwischen den Spielern werden Feldtelefone eingesetzt werden.
+
 
* Eine Videoübertragung nach außen, insbesondere für die Signalwirkung für potentielle neue Spieler.
+
All lookuptables and manuals are generated completely automatic from config files using python and make.
 +
 
 +
All material, be it gamemaster scripts, arduino code, *.tex for manuals or svg files for lasercutting are available on [https://github.com/hackffm/BrickUsingMultipleModules github].
 +
 
 +
== Manuals ==
 +
* [[Medium:BUMM manual en.pdf|Introduction]]
 +
* [[Medium:BUMM manual en b.pdf|Gates module]]
 +
* [[Medium:BUMM manual en d.pdf|Blink module]]
 +
* [[Medium:BUMMleicht.pdf|Eine Anleitung für Jünglinge (german)]]
 +
 
 +
 
 +
=== Make Rhein-Main 2017 ===
 +
BUMM was present on the [[Make Rhein-Main 2017]] - bringing a bomb mockup to a fair - what could possibly go wrong? There is also a short [https://streamable.com/bikcu clip].
 +
<gallery>
 +
Image:BUMM MRM2017 chamber.jpg|Chamber for the BUMM
 +
Image:BUMM MRM2017.jpg|Inside the chamber there is also a video camera with live feed to our booth and an FF-OB/ZB field telephone
 +
Image:BUMM MRM notes.jpg|Lots of notes have been taken
 +
</gallery>

Version vom 20. März 2017, 20:38 Uhr

BrickUsingMultipleModules (short: *BUMM*) is a riddle game themed around bomb defusals. After an evening of playing Keep talking and nobody explodes I was sure that this has to be transferred to hardware. The goal of defusing multiple modules is the same, but the hardware implementation calls for some serious changes. Cutting wires was out of the question, since nobody was found to replace them for a new round.

Pictures

Front panels


Backsides


Complete Brick

Details

Background

BUMM block diagram.png

Each module has its own arduino and is connected to a parallel bus backplane (speaking 5V UART at 19200 baud). Each module contains its own logic and only tells the gamemaster whether it has been defused and if any manipulations (mistakes) were detected.

The gamemaster is a Raspberry Pi running a python script. Apart from the game logic and audio output, it opens a TCP socket which can be used to control the game remotely. The network protocol is based on tree structures serialized to JSON and terminated with NULL.

All lookuptables and manuals are generated completely automatic from config files using python and make.

All material, be it gamemaster scripts, arduino code, *.tex for manuals or svg files for lasercutting are available on github.

Manuals


Make Rhein-Main 2017

BUMM was present on the Make Rhein-Main 2017 - bringing a bomb mockup to a fair - what could possibly go wrong? There is also a short clip.