Go Down

Topic: Hilfe oder Tips mit WiFly? (Read 1 time) previous topic - next topic

Joran

Hallo Community,

Ich habe gestern mein WiFly Modul geliefert bekommen und wollte dieses heute testen. Modul: http://www.watterott.com/de/Roving-Networks-RN-XV-WiFly-Module
Zusätzlich habe ich das Protoshield mit XBee Adapter geholt damit ich die Biene auch betreiben kann.

Natürlich habe ich gleich Google bemüht um die passenden Libs zu bekommen.
Dabei tauchten verschiedene auf. WiFlyHQ, WiFly_Shield und WiFlySerial.

Ich mächte meinen Arduino Mega dafür nutzen. Es hat wohl schon bei einigen geklappt aber leider komme ich keinen Schritt weiter.
Channel gesetzt, SSID gesetzt, Passphrase gesetzt usw.

Hat jemand einen Tip oder eine bessere lib die ich mal versuchen kann?

pylon

Uns fehlen leider noch der Link zum eingesetzten Shield (mit solchen Bezeichnungen existieren etliche) und auch welche der Libs Du schlussendlich eingesetzt hast (Link) und mit welchem Beispielcode (posten, Code-Tags nicht vergessen!).

Ich habe den RN-XV bei mir im Einsatz und habe festgestellt, dass er mit SoftwareSerial nicht funktioniert (ist sehr heikel beim Timing), mit der Hardware-Variante hingegen problemlos.

Joran

Der eingesetzte Shield: http://arduino.cc/en/Main/ArduinoWirelessShield

Quellen für den Test:
http://cairohackerspace.blogspot.de/2011/05/beginners-guide-to-connecting-and.html Diese habe ich schlussendlich versucht

http://sourceforge.net/projects/arduinowifly/
und
http://harlequin-tech.github.io/WiFlyHQ/

Die letzte Quelle finde ich nicht mehr. WiFly Serial hatte wenigstens überhaupt eine Reaktion gezeigt Ich habe das im Blog benannte Beispiel versucht
Leider lässt der sich hier nicht posten

pylon

Der erste Link zeigt auf das WiFlySerial, was aber leider SoftwareSerial verwendet und deshalb nicht zu empfehlen ist, da Dein Shield glücklicherweise die Hardware-Schnittstelle auf den XBee-Socket durchschaltet.

Der zweite Link ist in dieser Hinsicht viel flexibler, da man den Serial-Stream selbst übergeben kann.

Dein Test verwendet aber die erste Library, Du solltest es mit dem zweiten Link versuchen, dort existieren auch Beispiele, auch wenn die leider auch auf SoftwareSerial aufbauen, Du kannst dort ja einfach Serial als Objekt übergeben.

Dein Shield hat einen Schalter, welcher zwischen Arduino- und PC-Kontrolle über den XBee-Sockel umschalten. Im einen Fall werden die seriellen Pins so geschaltet, dass alles, was vom PC kommt, direkt auf dem XBee landet und nicht auf dem Arduino, während im anderen Fall der Arduino dem XBee sagt, was er zu tun hat. Egal, welche Stellung der Schalter hat, Du solltest den RN-XV immer rausziehen, wenn Du einen Sketch auf den Arduino lädst, Beschädigungen kann ich sonst nicht ausschliessen.

Joran

Oh gut zu wissen. Bin noch anfänger und habe mir schon ein paar sachen gebaut. Das Wifly soll mein nächster schritt zum PC gesteuerten Roboter sein. Dann versuche ich das mal.

Joran

So mal ich habe es mal soweit versucht, komme aber zu keinem Ergebnis
Code: [Select]
#include <Arduino.h>
#include "WiFlySerial.h"
#include <SoftwareSerial.h>
char passphrase[] = "*********";
char ssid[] = "Dlink******";
char ntp_server[] = "nist1-la.ustiming.org";

WiFlySerial WiFly(50,51);
#define REQUEST_BUFFER_SIZE 120
#define HEADER_BUFFER_SIZE 150
#define BODY_BUFFER_SIZE 100

void setup()
{
  Serial.begin(9600);
  Serial.println(F("Starting WiFly Test." ) );
  WiFly.begin();
  WiFly.setSSID(ssid);
  WiFly.setPassphrase(passphrase);
  WiFly.setNTP( ntp_server ); // use your favorite NTP server
  WiFly.setDebugChannel( (Print*) &Serial);
  WiFly.setAuthMode( WIFLY_AUTH_WPA2_PSK);
  WiFly.setJoinMode(  WIFLY_JOIN_AUTO );
  WiFly.setDHCPMode( WIFLY_DHCP_ON );

}

void loop() {
  // put your main code here, to run repeatedly:
 

pylon

Wie bereits erwähnt, ich rate dringend von der Verwendung von SoftwareSerial ab. Wenn Du Debugging brauchst, kaufe Dir einen USB2Serial-Adapter (Arduino führt auch einen im Angebot) und baue SoftwareSerial dafür ein, aber der RN-XV ist relativ heikel was das Timing der seriellen Schnittstelle angeht und da ist die Hardware mit dem adaptiven Timing um Längen zuverlässiger.

Bei mir läuft ein RN-XV seit Jahren zuverlässig über die Hardware-Schnittstelle, über SoftwareSerial hatte ich bei 9600 zwar manchmal Erfolg, aber wenn Zuverlässigkeit auch nur am Rande eine Rolle spielt, würde ich SoftwareSerial sofort vergessen.

Wenn Du den USB-Anschluss zum Debuggen behalten willst, verwende einen Leonardo, der hat den USB im Prozessor und somit die serielle Schnittstelle für solche Sachen frei.

Go Up