12,275
edits
m (→VI Dank an:) |
|||
(12 intermediate revisions by 2 users not shown) | |||
Line 43: | Line 43: | ||
====II.3 Interaktion==== | ====II.3 Interaktion==== | ||
Da die | Da sich die Installation im öffentlichen Raum befand und über mehrere Tage aktiv sein sollte ergaben sich einige Rahmenbedingungen für die Suche nach dem geeigneten Interface: | ||
<br/> | <br/> | ||
* Diebstahlsicher | * Diebstahlsicher | ||
Line 94: | Line 94: | ||
* Die gesendeten Kurznachrichten werden mit einem simplen Mobiltelefon mit Bluetooth-Schnittstellle empfangen. | * Die gesendeten Kurznachrichten werden mit einem simplen Mobiltelefon mit Bluetooth-Schnittstellle empfangen. | ||
* Das Programm ''SMS-Servertools'' | * Das Programm ''SMS-Servertools'' überträgt die empfangene SMS-Nachricht von dem Handy in den Computer | ||
* Bei eingehender Nachricht wird per Eventhandler ein eigens für die Installation entwickeltes JAVA-Programm gestartet | * Bei eingehender Nachricht wird per Eventhandler ein eigens für die Installation entwickeltes JAVA-Programm gestartet | ||
* Das JAVA-Programm vergleicht das eingehende Datum mit der MySQL-Datenbank und sendet den zugehörigen Songtitel an Pure Data | * Das JAVA-Programm vergleicht das eingehende Datum mit der MySQL-Datenbank und sendet den zugehörigen Songtitel an Pure Data | ||
Line 102: | Line 102: | ||
'''Empfangshandy/SMS-Servertool''' | '''Empfangshandy/SMS-Servertool''' | ||
[[File:SMS Servertool Terminal.jpg|thumb|150px|Terminal]] | [[File:SMS Servertool Terminal.jpg|thumb|150px|Terminal mit Config-File]] | ||
Das Empfangshandy ist über die Bluetooth-Schnittstelle mit dem Installationsrechner verbunden. Das Programm SMS-Servertools Version 2 von Stefan Frings erlaubt das Auslesen der empfangenen SMS-Nachricht. Die Applikation ist Freeware und kann auf der [http://www.meinemullemaus.de/smstools Homepage] des Entwicklers herunter geladen werden (inzwischen wurde die Anwendung weiterentwickelt – | Das Empfangshandy ist über die Bluetooth-Schnittstelle mit dem Installationsrechner verbunden. Das Programm SMS-Servertools Version 2 von Stefan Frings erlaubt das Auslesen der empfangenen SMS-Nachricht. Die Applikation ist Freeware und kann auf der [http://www.meinemullemaus.de/smstools Homepage] des Entwicklers herunter geladen werden (inzwischen wurde die Anwendung weiterentwickelt – [http://smstools3.kekekasvi.com|Version 3]). | ||
Nach erfolgreicher Installation wird das Programm über das Terminal gestartet und konfiguriert. Im Config-File werden die Parameter für das Empfangen der SMS festgelegt. SMS-Servertools speichert die eingehende SMS automatisch als Text-File. Im Config-File kann zudem der Pfad zum Speicherplatz festgelegt werden. Außerdem muss das Bluetooth-Device (in diesem Fall ein Mobiltelefon) konfiguriert werden. Eine weitere wichtige Anwendung der Applikation ist die Möglichkeit einen Eventhandler zu starten. Im Config-File wird der Pfad zum Eventhandler festgelegt. | Nach erfolgreicher Installation wird das Programm über das Terminal gestartet und konfiguriert. Im Config-File werden die Parameter für das Empfangen der SMS festgelegt. SMS-Servertools speichert die eingehende SMS automatisch als Text-File. Im Config-File kann zudem der Pfad zum Speicherplatz festgelegt werden. Außerdem muss das Bluetooth-Device (in diesem Fall ein Mobiltelefon) konfiguriert werden. Eine weitere wichtige Anwendung der Applikation ist die Möglichkeit einen Eventhandler zu starten. Im Config-File wird der Pfad zum Eventhandler festgelegt. | ||
In diesem Fall ist der Eventhandler ein UNIX-Command Script, das das Datum aus dem gespeicherten Textfile ausliest und an die JAVA-Applikation übergibt. | In diesem Fall ist der Eventhandler ein UNIX-Command Script, das das Datum aus dem gespeicherten Textfile ausliest und an die JAVA-Applikation übergibt. | ||
Line 109: | Line 109: | ||
'''Schnittstelle zu Pure Data/MySQL-Server''' | '''Schnittstelle zu Pure Data/MySQL-Server''' | ||
'''[[ | '''[[/Code|Code anzeigen]]''' | ||
Die Schnittstelle zwischen der empfangenen Nachricht als .txt-Datei mit dem SMS-Servertool und dem Patch in Pure Data bildet eine JAVA-Applikation. Das eigens für die Installation geschriebene Programm hat zwei Aufgaben: | Die Schnittstelle zwischen der empfangenen Nachricht als .txt-Datei mit dem SMS-Servertool und dem Patch in Pure Data bildet eine JAVA-Applikation. Das eigens für die Installation geschriebene Programm hat zwei Aufgaben: | ||
Line 117: | Line 117: | ||
''Zu 1:'' Da es verschiedene Möglichkeiten gibt ein Datum zu senden muss das Datumsformat zunächst in den [[wikipedia:de: | ''Zu 1:'' Da es verschiedene Möglichkeiten gibt ein Datum zu senden muss das Datumsformat zunächst in den [[wikipedia:de:ISO 8601|ISO 8601-Standard]] angepasst werden (JJJJ-MM-TT).<br/> | ||
Bsp.: Ein Besucher der Installation hat am 24. September 1978 Geburtstag. Schickt er eine SMS mit seinem Geburtsdatum gibt es verschiedene Möglichkeiten, wie er das Datum formatiert z.B.: 24.09.1978, 24-9-78, 24.9.78, 24/9/1978, etc. Um jede gesendete Nachricht korrekt abzuspielen wird im ersten Schritt das Datum in ein einheitliches Format übertragen: 24.9.1978 >> 1978-09-24. | Bsp.: Ein Besucher der Installation hat am 24. September 1978 Geburtstag. Schickt er eine SMS mit seinem Geburtsdatum gibt es verschiedene Möglichkeiten, wie er das Datum formatiert z.B.: 24.09.1978, 24-9-78, 24.9.78, 24/9/1978, etc. Um jede gesendete Nachricht korrekt abzuspielen wird im ersten Schritt das Datum in ein einheitliches Format übertragen: 24.9.1978 >> 1978-09-24. | ||
Außerdem werden in diesem Programmschritt falsche Datumsformate ausgefiltert (z.B. falsche Monatsangabe, oder Textnachrichten die einen Text statt einem Datum enthalten). In diesem Fall gibt das Programm die Fehlermeldung | Außerdem werden in diesem Programmschritt falsche Datumsformate ausgefiltert (z.B. falsche Monatsangabe, oder Textnachrichten die einen Text statt einem Datum enthalten). In diesem Fall gibt das Programm die Fehlermeldung ''invalidDate'' oder ''emptyResult'' aus.<br/> | ||
''Zu 2:'' Für die Serveranwendung der MySQL-Datenbank verwendeten wir die Software MAMP. Hier wurde die Datenbank ‚charthits’ angelegt und bei eingehender Nachricht über das JAVA-Programm ausgelesen.<br/> | ''Zu 2:'' Für die Serveranwendung der MySQL-Datenbank verwendeten wir die Software [[PHP|MAMP]]. Hier wurde die Datenbank ‚charthits’ angelegt und bei eingehender Nachricht über das JAVA-Programm ausgelesen.<br/> | ||
Der ausgelesene Songtitel wird mit dem Befehl pdsend (cd /Applications/Pd-extended.app/Contents/Resources/bin/) über den Port (z.B. 8000) an Pure Data gesendet.<br/> | Der ausgelesene Songtitel wird mit dem Befehl pdsend (cd /Applications/Pd-extended.app/Contents/Resources/bin/) über den Port (z.B. 8000) an Pure Data gesendet.<br/> | ||
Line 146: | Line 146: | ||
''Zu 2:'' Das Glockenspiel des Weimarer Rathauses spielt eine kurze Melodie zu jeder viertel Stunde. Damit keine Charthits in den Viertelstundenschlag ''hineinspielen'', wurde die Installation zu dieser Zeit ausgesetzt. Zu diesem Zweck blockiert ein Teil des Programms die ausgehenden MIDI-Files ca. 1 min vor und 1 min nach dem Stundenschlag (bei besonderen, längeren Stundenschlägen, z.B. dem 12 Uhr Schlag entsprechend länger). Sämtliche Anfragen die zu dieser Zeit eingehen werden gespeichert und nach dem Glockenschlag der Reihenfolge nach abgespielt. | ''Zu 2:'' Das Glockenspiel des Weimarer Rathauses spielt eine kurze Melodie zu jeder viertel Stunde. Damit keine Charthits in den Viertelstundenschlag ''hineinspielen'', wurde die Installation zu dieser Zeit ausgesetzt. Zu diesem Zweck blockiert ein Teil des Programms die ausgehenden MIDI-Files ca. 1 min vor und 1 min nach dem Stundenschlag (bei besonderen, längeren Stundenschlägen, z.B. dem 12 Uhr Schlag entsprechend länger). Sämtliche Anfragen die zu dieser Zeit eingehen werden gespeichert und nach dem Glockenschlag der Reihenfolge nach abgespielt. | ||
''Zu 3:'' Für den Fall, dass mehrere Anfragen gleichzeitig, bzw. in kurzer Reihenfolge gesendet werden, wurde ein weiterer Filtermechanismus implementiert. Kernstück dieses Mechanismus ist das [textfile]-Objekt. Das [textfile]-Objekt funktioniert wie eine [[wikipedia: | ''Zu 3:'' Für den Fall, dass mehrere Anfragen gleichzeitig, bzw. in kurzer Reihenfolge gesendet werden, wurde ein weiterer Filtermechanismus implementiert. Kernstück dieses Mechanismus ist das [textfile]-Objekt. Das [textfile]-Objekt funktioniert wie eine [[wikipedia:Queue (abstract data type)|queue]] nach dem FIFO (First In First Out) Prinzip. Sämtliche Anfragen werden in dem Objekt gespeichert und auf einen Bang der Reihe nach ausgegeben. Zusätzlich können die Listen in einem Textfile für statistische Zwecke gespeichert werden. | ||
====III.2.4 Liste verwendeter Software==== | ====III.2.4 Liste verwendeter Software==== | ||
Line 153: | Line 153: | ||
* [http://www.meinemullemaus.de/smstools SMS-Servertool] | * [http://www.meinemullemaus.de/smstools SMS-Servertool] | ||
* [http://www.mamp.info/de/index.html MAMP] | * [http://www.mamp.info/de/index.html MAMP] | ||
* [[ | * [[Media:Zeitmelodien-Sourcecode.zip]] (Pd-Patch und Scripte zum Download) | ||
* [[ | * [[/Code|Code anzeigen]] | ||
====III.3 Präsentation auf dem Marktplatz==== | ====III.3 Präsentation auf dem Marktplatz==== | ||
Line 171: | Line 171: | ||
Insgesamt wurden vom 8.8-12.8.11 '''219 SMS-Nachrichten''' empfangen <br/>''(14 davon ergaben die Fehlermeldungen: Empty Result oder Invalis Date)''. | Insgesamt wurden vom 8.8-12.8.11 '''219 SMS-Nachrichten''' empfangen <br/>''(14 davon ergaben die Fehlermeldungen: Empty Result oder Invalis Date)''. | ||
'''[[ | '''[[/Playlist|Hier eine Liste]]''' sämtlicher gespielter Charthits in chronologischer Reihenfolge.<br/><br/> | ||
'''Gesendete SMS-Nachrichten/Stunde''' | '''Gesendete SMS-Nachrichten/Stunde''' | ||
[[File: | [[File:Statistik Carillon.jpg]] | ||