Inhaltsverzeichnis

Datenübertragung mit Schall

1. Entstehung des Projekts

1.1 Die Idee

Die Idee zu diesem Projekt entstand als ich einen Artikel über die Chrome-Erweiterung Google Tone gelesen habe. Diese Erweiterung ermöglicht es Links mit anderen Computern in Hörweite zu teilen. So weit so unspektakulär, allerdings nutzt Google Tone zur Übertragung akustische Signale und das ist in der Datenübertragung eher ungewöhnlich. Ich war allerdings fasziniert von dieser ungewöhnlichen Art der Kommunikation von Computern untereinander, die sonst eher der menschlichen Verständigung durch Sprache ähnelt. Mein Interesse war also geweckt und ich fand auch schnell ebenso begeisterte Mitstreiter für mein Projekt. Besonders interessant ist auch wo akustische Datenübertragung sonst noch angewendet wird, z.B. unter Wasser und angeblich auch in dem Supertrojaner BadBIOS.

1.2 Quellen, Literatur, Vorbilder

1.3 Benötigte Soft- und Hardware

2. Ziel des Projekts

2.1 Hauptziel

Entwicklung eines Programmes, dass es ermöglicht Daten (URLs etc.) per Schall von einem Computer zu einem anderen zu übertragen.

2.2 Etappenziele

Erledigt

Noch zu machen

3. Code

3.1 Überblick

Programm-Übersicht

3.2 Komponenten

3.3 Tips zum Testen des Codes

Wir fanden es sehr hilfreich für das eigene Verständnis und zum Debuggen unseren Code oft zu testen. Besonders anschaulich geht das grafisch mit matplotlib.pyplot. Damit wir ein Signal nicht immer wieder neu aufzunehmen brauchen hat uns Stefan das Modul pickle gezeigt. Damit lassen sich Daten abspeichern und wieder einlesen.

Hier ist ein Grundgerüst zum aufnehmen und wieder einlesen von Ton. Über AUFNEHMEN lässt sich steuern ob neu aufgenommen werden soll oder eine alte Aufnahme verwendet wird.

from pickle import Pickler, Unpickler
AUFNEHMEN=True
if AUFNEHMEN:
	y = sw.recordsnd(None, 5)
	with open("beispielaufnahme.dump","wb") as f:
		p=Pickler(f)
		p.dump(y)
else:
	with open("beispielaufnahme.dump","rb") as f:
		p=Unpickler(f)
		y=p.load()

Sonstiges

Danksagung

Wir möchten uns herzlich bei Stefan für seine tolle Unterstützung bedanken! Wir hatten eine spannende und lehrreiche Zeit im MATHESIS-Labor.

Teilnehmer

Protokoll 28/05
Protokoll 04/06
Protokoll 11/06
Protokoll 18/06
Protokoll 25/06
Protokoll 02/06