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 [2016/01/21 12:45]
127.0.0.1 Externe Bearbeitung
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.
  
-In dieser Quelle ist die Kommunikation ​zwischen ​zwei Java-Programmen über TCP/​IP ​mit ein paar Zeilen Code realisiert: [[https://​systembash.com/​a-simple-java-tcp-server-and-tcp-client/​]]. Eine der Seite kann genau so gut eine für TCP/IP configurierte WiFly übernehmen. Ein Beispielprogramm dazu schreibe ich mit euch zusammen bei Bedarf.+===== Direkte Datenverbindung ​zwischen ​Processing und Arduino ===== 
 +Java bringt schon alles mit, was nötig ist, um mit wenigen ​Zeilen Code eine TCP-Verbindung mit der WiFly/dem Arduino herzustellen.
  
 +Beispielcode für Processing mit Kommentaren gibt es hier: [[https://​github.com/​Zapalot/​simpleTcp/​blob/​master/​simpleTcp.pde]]
 +
 +Das passende Arduino Programm (für eine fertig Konfigutierte Wifly) hier: [[https://​github.com/​Zapalot/​SoftSerialRelay]]
 ===== OpenSoundControl (OSC) ===== ===== 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. 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.
  
 Wie ihr OSC in Processing und Arduino nutzen könnt, erfahrt ihr in einem [[techniken:​osc|separaten Artikel]]... Wie ihr OSC in Processing und Arduino nutzen könnt, erfahrt ihr in einem [[techniken:​osc|separaten Artikel]]...
-===== Daten schicken aus Processing ===== 
- 
- 
-Eine Library zum verschicken von OSC-Nachrichten (über WLAN oder Netzwerk) unter Processing gibt es hier: 
-[[http://​www.sojamo.de/​libraries/​oscP5/​]] 
- 
-Damit der Code aus den Beispielen funktioniert,​ müssend dort noch die IP Adresse und der Port der Wifly eingetragen werden, damit die Nachrichten auch an den richtigen Empfänger kommen... 
  
  
techniken/wifly.1453376744.txt.gz · Zuletzt geändert: 2016/02/03 12:04 (Externe Bearbeitung)