Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:wifly:hardwareinstallation

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:hardwareinstallation [2015/01/15 14:00]
fbonowski
techniken:wifly:hardwareinstallation [2017/12/04 18:35] (aktuell)
d.golovko [Hardware anschließen]
Zeile 3: Zeile 3:
 Die WiFlys haben ein etwas unglückliches Format und laufen mit 3.3V, so dass man eine Adapterplatine braucht, um sie an irgendetwas anszuschließen. Wir haben dazu die [[http://​www.exp-tech.de/​Shields/​MotoMama-Motortreiber-L298N.html|Motomama Module]] und zwei [[http://​www.seeedstudio.com/​depot/​grove-bee-socket-p-1449.html|Adapterplatinen von SEED]]. Die WiFlys haben ein etwas unglückliches Format und laufen mit 3.3V, so dass man eine Adapterplatine braucht, um sie an irgendetwas anszuschließen. Wir haben dazu die [[http://​www.exp-tech.de/​Shields/​MotoMama-Motortreiber-L298N.html|Motomama Module]] und zwei [[http://​www.seeedstudio.com/​depot/​grove-bee-socket-p-1449.html|Adapterplatinen von SEED]].
  
-Die Adapterplatinen haben Anschlüsse für Masse (GND), +5V, Seriell Daten senden (TX, transmit) und Seriell Daten Empfangen (RX, receive). Die "​senden"​ Seite des Arduino muss dabei mit der "​empfangen"​ Seite des WLAN-Moduls verbunden werden und umgekehrt. Um zusätzliche Verwirrung zu stiften schreiben manche Hersteller von Adapterplatinen an die Pins, welche Funktion sie haben (so beim SEED-Adapter),​ während andere Hersteller draufschreiben,​ mit was man sie verbinden muss (MotoMama).+Die Adapterplatinen haben Anschlüsse für Masse (GND), +5V, Seriell Daten senden (TX, transmit) und Seriell Daten Empfangen (RX, receive). Die "​senden"​ Seite des Arduino muss dabei mit der "​empfangen"​ Seite des WLAN-Moduls verbunden werden und umgekehrt. Um zusätzliche Verwirrung zu stiftenschreiben manche Hersteller von Adapterplatinen an die Pins, welche Funktion sie haben (so beim SEED-Adapter),​ während andere Hersteller draufschreiben,​ mit was man sie verbinden muss (MotoMama).
  
 ==== Welche Serielle Schnittstelle ?==== ==== Welche Serielle Schnittstelle ?====
Zeile 13: Zeile 13:
 Falls Ihr auf Testausgaben auf der seriellen Schnittstelle nicht verzichten wollt, könnt Ihr zwei beliebige andere Pins des Arduinos verwenden. Die bereits vorinstallierte Arduino-Bibliothek [[http://​arduino.cc/​de/​Reference/​SoftwareSerial|SoftwareSerial]] schaltet diese Pins dann im richtigen Takt an- und aus-, um die Daten zu übertragen. Eines der Beispiele der ArduPar Library zeigt die Verwendung der Software-Serial. Falls Ihr auf Testausgaben auf der seriellen Schnittstelle nicht verzichten wollt, könnt Ihr zwei beliebige andere Pins des Arduinos verwenden. Die bereits vorinstallierte Arduino-Bibliothek [[http://​arduino.cc/​de/​Reference/​SoftwareSerial|SoftwareSerial]] schaltet diese Pins dann im richtigen Takt an- und aus-, um die Daten zu übertragen. Eines der Beispiele der ArduPar Library zeigt die Verwendung der Software-Serial.
 Die Software-Serial verbraucht im Gegensatz zur Hardware-Serial CPU-Leistung und funktioniert in einigen wenigen Situationen nicht besonders zuverlässig. Die Software-Serial verbraucht im Gegensatz zur Hardware-Serial CPU-Leistung und funktioniert in einigen wenigen Situationen nicht besonders zuverlässig.
-So ist z.B. die Baudrate für die Kommunikation zwischen Arduino und Wifly bei Verwendung der SoftwareSerial Library auf 19200Baud beschränkt und die die automatische [[http://​en.wikipedia.org/​wiki/​Baud|Baudraten]]erkennung des Setup-Skripts funktioniert nicht.+So ist z.B. die Baudrate für die Kommunikation zwischen Arduino und Wifly bei Verwendung der SoftwareSerial Library auf 19200Baud beschränkt und die die automatische [[http://​en.wikipedia.org/​wiki/​Baud|Baudraten]]erkennung des Setup-Skripts funktioniert ​manchmal ​nicht.
  
 === Alternative 2: Zusätzliche Hardware-Serials des Arduino MEGA === === Alternative 2: Zusätzliche Hardware-Serials des Arduino MEGA ===
 Die etwas größeren Arduino MEGA Boards haben mehrere Serielle Schnittstellen eingebaut. Sie sind mit **RX1/TX1** **RX2/TX2** und **RX3/TX3** gekennzeichnet und machen mit Hardwareunterstützung genau das gleiche Wie die Schnittstelle an Pin 0 und 1. Die etwas größeren Arduino MEGA Boards haben mehrere Serielle Schnittstellen eingebaut. Sie sind mit **RX1/TX1** **RX2/TX2** und **RX3/TX3** gekennzeichnet und machen mit Hardwareunterstützung genau das gleiche Wie die Schnittstelle an Pin 0 und 1.
  
-===== Software für den Arduino ===== +===== Konfiguration der WiFly / Software für den Arduino ===== 
-Damit die WiFly das tut, was ihr wollt, muss sie zuerst konfiguriert werden (also z.B. das richtige WLAN und Passwort eingestellt werden). +Damit die WiFly das tut, was ihr wollt, muss sie zuerst konfiguriert werden (also z.B. das richtige WLAN und Passwort eingestellt werden). ​Dazu muss die Wifly zuerst in einen Konfigurationsmodus versetzt werden, in dem sie auf in der [[http://ww1.microchip.com/downloads/en/DeviceDoc/​50002230A.pdf|Anleitung]] beschriebene Befehle (z.B. "set wlan ssid WLAN-Name"​) reagiert. Das ist alles keine Zaubereiaber doch ein bisschen Arbeit, um alle nötigen ​die Befehle rauszusuchenDeshalb hat Felix eine Arduino-Library geschrieben,​ die den Prozess für eine "​standard"​ Konfiguration übernimmt:
-Für den Arduino gibt es eine [[http://arduino.cc/de/Guide/Libraries|Library]], die diesen Prozess sehr vereinfacht.+
  
 +Diese müsst Ihr zuerst **herunterladen**:​ Link "​Download .zip" auf der rechten Seite von [[https://​github.com/​Zapalot/​MinimalWiflyConfig]]
  
-Diese müsst Ihr zuerst **herunterladen**:​ Link "​Download .zip" auf der rechten Seite von [[https://​github.com/​Zapalot/​WiFlyHQ]] +Dann **Entpacken** ...
- +
-Dann **Entpacken**...+
  
 Danach **Umbenennen**:​\\ Danach **Umbenennen**:​\\
-Die der Ordner aus den .zip Dateien, die Ihr von GitHub bekommt, haben immer noch ein ''​-master''​ im Dateinamen, den ihr duch Umbenennen entfernen müsst. Also z.B. den Ordner ''​WiFlyHQ-master''​ in ''​WiFlyHQ''​ umbenennen.+Die der Ordner aus den .zip Dateien, die Ihr von GitHub bekommt, haben immer noch ein ''​-master''​ im Dateinamen, den ihr duch Umbenennen entfernen müsst. Also den Ordner ''​MinimalWiflyConfig-master''​ in ''​MinimalWiflyConfig''​ umbenennen. 
 + 
 +Und schließlich **ins Arduino library Verzeichnis verschieben**:​ (das liegt bei den meisten unter ''​Dokumente/​Arduino/​libraries''​)\\
  
-Und schließlich **ins Arduino library Verzeichnis verschieben**:​\\ 
-Den fertigen Ordner verschiebt ihr in die library-Sammlung von Arduino (Bei den meisten Leuten liegt die unter ''​Dokumente/​Arduino/​libraries''​) 
 ===== Ein erster Test ===== ===== Ein erster Test =====
-Schließt nun alle offenen Arduino Programme (Arduino erkennt neu installierte Libraries sonst nicht) und öffnet das Beispiel ''​WilfyHQ/WilfySetupSoftSerial'' ​(Wenn ihr die Wifly ihr eine Software-Serial verwendet) bzw''​WilfyHQ/​WilfySetupHardSerial''​ (Wenn ihr einen Arduino ​Mega mit einer Hardware-Serial ​verwendet). Passt im Setup ggf die WLAN-Zugangsdaten ​an, ladet das Programm hoch und schaut euch die Ausgaben im Serial Monitor an.+Schließt nun alle offenen Arduino Programme (Arduino erkennt neu installierte Libraries sonst nicht) und öffnet das Beispiel ''​MinimalWiflyConfig/WiflySetup''​. 
 + 
 +Je nachdem, ob ihr das Modul an einem Arduino ​Nano mit einer Sodtware-Serial oder einem MEGA an einer Hardware-Serial ​betreibt, müsst ihr noch die entsprechend Zeilen im Programm anpassen (ist alles in den Kommentaren beschrieben). Der Code in der Library versucht selbstständig, ​die Wifly auf die gewünschte Baudrate einzustellen,​ wenn keine Kommunikation zu stande kommt. 
 + 
 +Lest euch danach die Kommentare im Programm aufmerksam durch und passt an, was offensichtlich noch geändert werden muss. 
 +Ladet das Programm hoch und schaut euch Ausgaben im Serial Monitor an, an denen ihr erkennen könnt, ob die Kommunikation mit dem Modul funktioniert,​ ob das WLAN gefunden wurde und welche IP das Modul vom Accesspoint zugewiesen bekommen hat.
  
-Wenn die Kommunikation zwischen ​Wifly und Arduino ​nicht klappt ("​Setprompt failed..."), liegt das in 90% der Fälle ​daran, dass TX und RX Pins vertauscht bzw. falsch angeschlossen sind.+**Und jetzt die Gute Nachricht: Die Wifly merkt sich die vorgenommenen Einstellungen,​ so dass ihr sie in Zukunft auch ohne dieses Programm verwenden könnt!** 
 +===== Wenn'​s ​nicht funktioniert... ===== 
 +Wenn keine Kommunikation zwischen Wifly und Arduino zustande kommt, liegt das häufig ​daran, dass TX und RX Pins vertauscht bzw. falsch angeschlossen sind. Dreht die einfach mal um...
  
techniken/wifly/hardwareinstallation.1421326853.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)