You are here: Startseite Medienlabor IG Serial Proxy (Arduino an Flash)

IG Serial Proxy (Arduino an Flash)

Tags
Backlinks
» Tags: "IG Serial Proxy (Arduino an Flash)" is tagged as » Backlinks: These Wikipages link to "IG Serial Proxy (Arduino an Flash)"

IG SerialProxy ist dazu da, Daten von der Seriellen Schnittstelle an Flash weiterzuleiten.

Wegen Sicherheitrestriktionen (Sandbox Prinzip) kann Flash nicht wie Processing oder VVVV auf die Serielle Schnittstelle zugreifen. Damit soll verhindert werden, dass ein Flashfilm der in eine Webseite eingebettet ist, für Schadsoftware missbraucht werden kann. Mit Flash hat man daher prinzipiell nur drei Möglichkeiten externe "Daten" zu übermitteln: Keyboard, Maus und Netzwerk.

Mit dem Programm IG SerialProxy kann allerdings Flash um die Fähigkeit erweitert werden mit der Seriellen Schnittstelle zusammenzuarbeiten. Damit kann Flash jetzt auch beispielsweise mit einem Arduino Board benutzt werden.

Zuerst muss dafür gesorgt werden, dass Arduino Werte an die Serielle Schnittstelle sendet. Das Beispiel "example_arduino" sendet z.B. immer zwei Werte von Pin 0 und 1 an den Computer. Das Datenpacket hat dabei die Strukur: Wert potPinA ; Wert potPinB NewLine also z.B. "423;678\n". Zu Wissen mit welchem Zeichen das Datenpacket beendet (terminiert) wird und mit welcher Baudrate (hier 9600), ist später wichtig für die Konfiguration des IG SerialProxys.

// example_arduino.pde

// this example assumes that you have to potis connected to pin 0 and 1
// select the input pin for the potentiometer

int potPinA = 0;
int potPinB = 1;

void setup() {
  // openserial port to send data to computer
  Serial.begin(9600);
}

void loop(){
  // send potis values (from 0 to 1023)
  Serial.print(analogRead(potPinA));
  Serial.print(';');
  Serial.println(analogRead(potPinB));
  delay(50); // stop for a while
}


Im Idealfall muss jetzt nur noch ig_serialproxy.pde gestartet werden und die entsprechenden Parameter eingestellt werden, in diesem Beispiel: Serial Port (dort wo Arduino angeschlossen ist), Baudrate (9600) und mit welchen Zeichen das Datenpacket (10 new line) terminiert ist. Ist alle richtig eingestellt werden die Linien grün ... im rechten Bild ist beispielsweise nicht der richtige Serial Port gewählt.

proxyproxy2

Bei Bedarf kann ig_serialproxy.pde auch um neue Terminatoren, Baudrates erweitert werden bzw. der Netzwerk Port verändert werden.

...
// ig_serialproxy.pde
int networkPort = 5331;

// baud rate to use for serial communication
// this needs to match the speed used by your external device

int[] serialBaudRates = {
  9600, 14400, 19200};
 
// data package terminators 
String[] terminatorNames = {
  "0 null", "10 new line", "11 tab", "13 carriage return"};
int[] terminatorsASCII = {
  0, 10, 11, 13};
...


Jetzt muss nur noch Flash gestartet werden und in Flash die Werte aus (4) in die Beispieldatei eingetragen werden. Befindet sich die Flash Datei auf dem gleichen Rechner  an dem auch Arduino angeschlossen ist, empfiehlt sich die IP 127.0.0.1 (local host) zu benutzten ansonsten kann mit der IP-Adresse (ip lan) auch von allen anderen Rechner im Netz auf die Werte zugegriffen werden. Dann aber nicht vergessen die Firewall entsprechend einzustellen.

// serial_test.fla

// accumulates data coming from arduino
var sensorData:String = "";

// connects to arduino board
var arduino:SerialPort = new SerialPort();
arduino.addEventListener(DataEvent.DATA, onArduinoData );
arduino.connect( "127.0.0.1", 5331 );

function onArduinoData( event:DataEvent ):void
{
    trace( "onArduinoData", event.data );
    mcDebug.debug.text = event.data
}


Dann ig_serialproxy.pde starten und danach die Flash Datei, ist alles richtig eigestellt, kommen die Werte von Arduino auch in Flash an.

flash

Das Flashbeispiel ist original von http://www.tinker.it/en/Projects/TinkerProxy

(0 Words, 0 Weblinks, 0 Pictures and 0 Video) - Seite Drucken
Page created by benedikt_gross. Last modification on 03.08.2009 08:21
© 2008 Hochschule für Gestaltung, Schwäbisch Gmünd. Impressum
0
» Post-it
10:37, 28.07.2010

some more history: Brief history of data visualization [link] (via. flowingdata)

17:08, 26.07.2010

Design Is History [link]

09:37, 26.07.2010

IDEO Method Card iPhone Application
[link]

10:07, 12.07.2010

Interactiondesign in Seattle (Washington State) - vielleicht eine Möglichkeit fürs Auslandsemester
[link]

00:12, 09.07.2010

mouse-less?
intelligenter einsatz von infrarot.
[link]

10:21, 07.07.2010

bilderkennung in der küche

[link]

21:08, 03.07.2010

Ich bin begeistert von der Wireframing Software Balsamiq: [link]

Wäre schön wenn wir dafür Hochschul-Lizenzen bekommen könnten.

11:19, 03.07.2010

Der beste Artikel über Usability den ich bisher gelesen habe: [link]

20:15, 02.07.2010

Sprachsteuerung erschreckend gut. Siri iPhone App (US only) [link]

17:52, 02.07.2010

Baushaus Interaktiv
[link]

jb
09:39, 02.07.2010

Von .cn zu .中国
[link]

07:15, 01.07.2010

Orginal...[link]

07:14, 01.07.2010

Nachgemacht...[link]

07:13, 01.07.2010

UI ressources on the web...[link]

06:59, 01.07.2010

Restaurant: Ipad Integration...[link]

06:57, 01.07.2010

Restaurant: Ipad und Social Integration...[link]

06:55, 01.07.2010

sollte man im Auge behalten...[link]

06:47, 01.07.2010

How great leaders inspire action: Simon Sinek on TED.com...[link]

06:46, 01.07.2010

off-topic: Usabilities bei der Arbeit: [link]

06:43, 01.07.2010

Mediengeschichte: historische Wireframes...[link]

 
» Inhaltliche Nähe zu "IG Serial Proxy (Arduino an Flash)"