boxtec Forum
Microcontroller => Micrcontroller Network => : SeviT March 12, 2013, 08:37:09 PM
-
Hallo
Ich habe ein Problem und zwar bringe ich keine Verbindung zu meinem Arduino mit wifi shield.
Ich habe es mit folgendem code versucht jedoch krieg ich nie eine Verbindung.
#include <WiFi.h>
//SSID of your network
char ssid[] = "yourNetwork";
//password of your WPA Network
char pass[] = "secretPassword";
void setup()
{
WiFi.begin(ssid, pass);
}
void loop () {}
kann mir da Jemand helfen ??
Lg
-
Das Seeed Wifi Shield ist nicht kompatibel mit dem Arduino Wifi Shield, aber für dieses ist die WiFi-Bibliothek, die Du verwendest. Die RN-XXX Module sind unter dem Begriff WiFly bekannt und die entsprechende Bibliothek heisst auch so. Auf der Produktseite von Boxtec findest Du die notwendige Bibliothek verlinkt.
-
Danke für die Antwort wusste ich ned ^^
probiere es mal mit dieser
thx
-
Da es im Prinzip dasselbe Modul wie auf dem WiFly ist, hilft Dir vielleicht dieser Artikel noch weiter für den Anfang:
RN-XV WiFly Modul (http://playground.boxtec.ch/doku.php/wireless/wifi#rn-xv_wifly_modul)
-
Danke für die Info
-
Hab jetzt alles supper kann die Programme drauf laden.
jedoch jetzt kann er keine verbindung zu dem wlan machen
mein programm
===============================================================================
#include "Wifly.h"
#include <SoftwareSerial.h>
WiflyClass Wifly(2,3);
void setup()
{
Serial.begin(9600);
Wifly.init();//Initialize the wifishield
Wifly.setConfig("SSID","Password");
Wifly.join("SSID");
Wifly.checkAssociated();
while(!Wifly.connect("192.168.1.164","90"));//
Wifly.writeToSocket("Connected!");
}
void loop()
{
if(Wifly.canReadFromSocket())
{
Serial.print(Wifly.readFromSocket());
}
if(Serial.available())
{
Wifly.print((char)Serial.read());
}
}
=================================================================================
auf dem serial monitor geht am anfang alles problemlos doch dann kommt immer
ERR connection FAILED
kann mir da einer weiter helfen ??
lg
-
Dumme Frage: Besteht im Netz denn einen TCP Server irgendwelcher Art mit Adresse 192.168.1.164 ?
Ist mir nur aufgefallen, dass dies die genau gleiche Adresse wie im Beispiel Code ist und das würde die Fehlermeldung erklären.
Kannst Du sonst feststellen an welchem Punkt im Code etwa die Fehlermeldung auftritt, oder was ist die letzte Meldung vor dem Fehler ?
-
danke für die antwort
Ne es ist kein anderer server im netz mit dieser adresse.
Das ganze läuft dan im serial monitoring so ab ziemlich kurios.
ERR: ?-Cmd
<2.32> exitexkÖLX4ko
$$$CMDopen 192.168.1.164 90AyY
ERR: ?-Cmd
<2.32> exitexköLX4ko
$$$CMDopen 192.168.1.164:90
Connect to 192.168.1.164:90
<2.32> exitayoy
EXIT$$$SpCMDopen 192.168.1.164 90) öy y b1ep. 168sb
connect Failed
exitexi
lg
-
Da scheint seriell einiges verhustet zu werden, offenbar kommen nicht alle Steuerkommandos beim RN171 an. Ganz sicher, dass die Jumper auf dem Board auf 2,3 stehen ?
Auch kann das so nicht funktionieren, die Idee des Sketch ist, dass ein TCP Server auf der IP Adresse 192.168.1.164 auf TCP Port 90 läuft und dieser Zeichen vom Netzwerk ausgibt resp. eingegebene Zeichen übers Netzwerk ans WiFi Shield sendet. Dieses wiederum soll das gleiche machen, Zeichen vom Server auf 192.168.1.164:90 ausgeben über seriell oder über serielle erhaltene Zeichen an den Server senden (die gibt diese wieder aus - siehe oben).
Gegen die seriellen Probleme würde es helfen mal mit Pin 0 und 1 zu testen, dann steht aber natürlich Serial. nicht mehr zur Verfügung, d.h. die Serial.* Statements im Code müssen für diesen Test auskommentiert werden.
D.h. der Code müsste dann so aussehen:
#include "Wifly.h"
// Wird bereits in Wifly.h inkludiert:
// #include <SoftwareSerial.h>
WiflyClass Wifly(0,1);
void setup()
{
Wifly.init();//Initialize the wifishield
Wifly.setConfig("SSID","Password");
Wifly.join("SSID");
Wifly.checkAssociated();
digitalWrite(13, HIGH);
delay(1000);
}
void loop()
{
digitalWrite(13, HIGH);
delay(200);
digitalWrite(13, LOW);
delay(200);
}
Damit wird mal getestet ob das WiFi Shield an den Access Point rankommt, sich mit dem Passwort anmelden und eine IP per DHCP erhalten kann. Die onboard LED auf Pin 13 geht an für 1s wenn die Initialisierung durchlaufen ist, dann müsste dann müsste die AP Status Indikator LED auf dem Wifi Shield blinken. Wenn die onboard LED dann schnell blinkt läuft der main-loop. Spätestens hier müssten die LEDs eine erfolgreiche Verbindung mit dem Access Point anzeigen.
-
Hi vielen dank für die antworten
ich denke langsam, dass ich etwas grundlegendes falsch mache.
ich wollte dein program laden und dann kam "Wifly was not declared in this scope"
lg
sevi
-
Versuch mal sicherheitshalber die Zeile
// #include <SoftwareSerial.h>
in
#include <SoftwareSerial.h>
zu ändern. Wenn die Wifly Lib vorher lief, kanns nur das sein eigentlich.
Achja, und wenn auf (1,2) umgestellt ist muss natürlich auch der Jumper für Softwareserial anders gesetzt sein.
-
danke für die antwort
wenn ich nur diese zeile herunterladen will
// #include <SoftwareSerial.h> kommt fehler beim kompillieren
wenn ich diese zeile oben bei dem programm einfüge kommt wieder wifly was not declared in this scope
lg
-
Ich meinte die Zeile ersetzen in dem Sketch den ich weiter oben eingefügt habe.
-
wenn ich sie ersetze kommt
$$$set w join 0
set comm remote 0
set w linkmon 5
set wlan auth 4
set comm idle 0
set w ssid SSID
set w phrase Password
set ip dhcp 1
save
exit
$$$reboot
im serial monitoring
doch wenn ich
#include <SoftwareSerial.h>
#include "Wifly.h"
#include <SoftwareSerial.h>
WiflyClass Wifly(2,3);
void setup()
{
Serial.begin(9600);
Wifly.init();
Wifly.setConfig("******","*******");
Wifly.join("******");
Wifly.checkAssociated();
while(!Wifly.connect("10.0.0.3","2000"));
Wifly.writeToSocket("Connected!");
}
void loop()
{
if(Wifly.canReadFromSocket())
{
Wifly.readFromSocket();
}
if(Serial.available())
{
Wifly.print((char)Serial.read());
}
}
herunterlade kommt im monitoring *Ready*
-
Das scheint soweit zu klappen, kannst Du die IP des Wifi Shield pingen, resp. siehst Du auf 10.0.0.3 eine Verbindung ?