. .
CREATE OR DIE Special Downloads Shop webinale

Schauplatz

Artikel
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Juni 2010

Flash an Arduino, bitte melden!


Fortsetzung, Teil 2

Arbeiten mit Flash und alternativen Eingabegeräten

(Link zum Artikel: http://www.createordie.de/cod/artikel/3154)

Der nächste Schritt in Richtung Flash

Um jetzt Flash mit dem Arduino Board kommunizieren zu lassen, benötigen wir noch eine Software, die es Flash-Anwendungen erlaubt, sich mit seriellen Ports auf dem Computer zu verbinden. Normalerweise kann Flash das wegen seiner Sicherheitsbeschränkungen nicht. Hierfür gibt es aber kleine Helferchen. In meinem Fall habe ich mich hier für TinkerProxy entschieden.

Diese Software verbindet sich auf der einen Seite mit seriellen Ports und agiert auf der anderen Seite als TCP/IP-Server. Da es Flash-Anwendungen nicht erlaubt ist, sich direkt mit seriellen Ports zu verbinden, wohl aber Netzwerkverbindungen aufzubauen, können wir uns hierüber mit TinkerProxy verbinden. Nun haben wir auch Zugriff auf serielle Ports. Das wiederum ist essenziell wichtig, um die Signale des Arduino Boards abzufragen, die am seriellen Port ankommen.

Arduino sagt Hallo

Reden wir jetzt aber nicht länger um den heißen Brei herum, sondern schreiben eine erste kleine Anwendung. Dazu schreiben wir uns innerhalb von Flash ein kleines Skript, um damit eine Socket Connection aufzubauen, die über den TinkerProxy den Output des Arduino Boards aufsammelt.

  1. package {
  2. ///////////////////////////////////
  3. // import used classes
  4. ///////////////////////////////////
  5. import flash.net.Socket;
  6. import flash.events.Event;
  7. import flash.events.ProgressEvent;
  8. import flash.events.IOErrorEvent;
  9. ///////////////////////////////////
  10. // class
  11. ///////////////////////////////////
  12. public class CoreCanvas {
  13. private var socket:Socket;
  14. ///////////////////////////////
  15. // class constructor
  16. ///////////////////////////////
  17. public function CoreCanvas():void { openSocket(); }
  18. ///////////////////////////////////
  19. // launch
  20. ///////////////////////////////////
  21. public function openSocket():void {
  22. socket = new Socket( "localhost", 5333 );
  23. socket.addEventListener( Event.CLOSE, socketClose );
  24. socket.addEventListener( Event.CONNECT, socketConnect );
  25. socket.addEventListener( IOErrorEvent.IO_ERROR, socketError );
  26. socket.addEventListener( ProgressEvent.SOCKET_DATA, socketInput );
  27. }
  28. public function socketClose( event:Event ):void {
  29. trace( ("socket geschlossen" ) );
  30. }
  31. public function socketConnect( event:Event ):void {
  32. trace( ("socket verbunden" ) );
  33. }
  34. public function socketError( event:IOErrorEvent ):void {
  35. trace( ("socket error" ) );
  36. }
  37. public function socketInput( event:ProgressEvent ):void {
  38. trace(socket.readUTFBytes( socket.bytesAvailable ) );
  39. }
  40. }
  41. }

Jetzt noch schnell ein kleines Skript für das Board aufsetzen:

  1. ///////////////////////////////////
  2. // setup serial conversation
  3. // at 9600 bauds
  4. ///////////////////////////////////
  5. void setup() {
  6. beginSerial(9600);
  7. }
  8. void loop () {
  9. Serial.print("hallo welt");
  10. delay(400);
  11. }

Dieses kleine Skript laden wir jetzt auf das Arduino Board, schalten den TinkerProxy ein und verbinden uns via Flash mit dem Proxy – e voilà, "hallo welt" sollte nun getraced werden.

 

Kommentare
Gravatar Franklin 25.06.2010
um 12:40 Uhr
Der Arduino ist wirklich ein tolles Teil. Die Verbindung zu Flash habe ich jetzt noch nicht versucht, aber werde ich bestimmt noch machen.
Es gibt einfach zuviele Möglichkeiten, was man mit dem Teil machen kann ;-)
#zitieren
Gravatar mipu 17.12.2011
um 14:00 Uhr
bin durch zufall auf dieses gute tutorial gestossen. bei mir hackt die umsetzung leider noch. ich habe eine funktionierende tinkerproxy kommunikation hergestellt.
wenn ich den beispielcode in flash einfüge und dann das projekt veröffentliche erhalte ich jede menge fehlermeldungen. ich arbeite in flash cs5 und vermute hier das problem. wäre toll, wenn mir hier geholfen werden könnte.
#zitieren
Neuer Kommentar
  • Gute Kommentare werden belohnt.
  •   (optional)
  •   (Kommentar abonnieren/Gravatar - wird nicht veröffentlicht)
  •    Benachrichtige mich bei nachfolgenden Kommentaren per E-Mail
  • -+
Tags
Werbung
arduino