Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:wifly

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
techniken:wifly [2015/02/12 16:44]
fbonowski
techniken:wifly [2016/02/03 12:27] (aktuell)
fbonowski [Direkte Datenverbindung zwischen Processing und Arduino]
Zeile 41: Zeile 41:
   * Welche Daten zu einem Paket gehören, ist (bestenfalls) dadurch erkennbar, dass davor oder danach keine Daten kamen - wenn zwei Pakete schnell hintereinander ankommen garnicht.   * Welche Daten zu einem Paket gehören, ist (bestenfalls) dadurch erkennbar, dass davor oder danach keine Daten kamen - wenn zwei Pakete schnell hintereinander ankommen garnicht.
  
-Das bedeutet+...Woraus wiederum folgt
-  * Wenn ihr mehrere Absender unterscheiden wollt, müsst ihr euch dazu etwas eigenes ​einfallen lassen +  * Wenn ihr mehrere Absender unterscheiden wollt, müsst ihr euch dazu etwas Eigenes ​einfallen lassen. 
-  * Ihr habt keine Garantie, dass keine Daten verloren gehen, während ​ihr "nicht hinhört"​. Insbesondere müsst ihr dafür sorgen, dass das sendende Programm nicht schneller sendet, als ihr abholen könnt.+  * Ihr habt keine Garantie, dass keine Daten verloren gehen, während ​euer Programm ​"nicht hinhört"​. Insbesondere müsst ihr dafür sorgen, dass das sendende Programm nicht schneller sendet, als ihr abholen könnt.
   * Protokolle, die ein UDP-paket als eine abgeschlossene Einheit verwenden (wie das gleich beschriebene OSC) funktionieren nur dann einigermaßen zuverlässig,​ wenn das sendende Programm zwischen zwei gesendeten Paketen eine Pause von einigen 10 Millisekunden einlegt.   * Protokolle, die ein UDP-paket als eine abgeschlossene Einheit verwenden (wie das gleich beschriebene OSC) funktionieren nur dann einigermaßen zuverlässig,​ wenn das sendende Programm zwischen zwei gesendeten Paketen eine Pause von einigen 10 Millisekunden einlegt.
  
 Da eine einfache Serielle Verbindung im Grunde die gleichen Einschränkungen hat, ist es trotzdem sehr gut möglich (auf der Arduino Seite nach der ersten Konfiguration der Wifly sogar ohne irgendwelche Anpassungen des Programms), eine direkte Kommunikation über eine Serielle Schnittstelle durch eine WLAN-Verbindung zu ersetzen. Da eine einfache Serielle Verbindung im Grunde die gleichen Einschränkungen hat, ist es trotzdem sehr gut möglich (auf der Arduino Seite nach der ersten Konfiguration der Wifly sogar ohne irgendwelche Anpassungen des Programms), eine direkte Kommunikation über eine Serielle Schnittstelle durch eine WLAN-Verbindung zu ersetzen.
  
-===== Daten schicken aus Processing ===== +===== Direkte Datenverbindung zwischen ​Processing ​und Arduino ​===== 
-Eine sehr bequeme MöglichkeitDaten mit dem Arduino ​auszutauschen ist das OSC-Protokoll,​ welches ursprünglich für die Steuerung von elektronischen Musikinstrumenten entwickelt wurde.+Java bringt schon alles mitwas nötig ist, um mit wenigen Zeilen Code eine TCP-Verbindung ​mit der WiFly/dem Arduino ​herzustellen.
  
-Eine Library zum verschicken von OSC-Nachrichten (über WLAN oder Netzwerk) unter Processing gibt es hier: +Beispielcode für Processing ​mit Kommentaren ​gibt es hier: [[https://github.com/​Zapalot/​simpleTcp/​blob/​master/​simpleTcp.pde]] 
-[[http://www.sojamo.de/libraries/oscP5/]]+ 
 +Das passende Arduino Programm (für eine fertig Konfigutierte Wifly) hier: [[https://github.com/Zapalot/​SoftSerialRelay]] 
 +===== OpenSoundControl (OSC) ===== 
 +Eine sehr bequeme Möglichkeit,​ Daten mit dem Arduino auszutauschen ist das OSC-Protokoll,​ welches ursprünglich für die Steuerung von elektronischen Musikinstrumenten entwickelt wurde.
  
-Damit der Code aus den Beispielen funktioniert,​ müssend dort noch die IP Adresse ​und der Port der Wifly eingetragen werdendamit die Nachrichten auch an den richtigen Empfänger kommen...+Wie ihr OSC in Processing ​und Arduino nutzen könnterfahrt ihr in einem [[techniken:​osc|separaten Artikel]]...
  
  
techniken/wifly.1423755891.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)