RedFly AdHoc Netzwerk

Martin Fröhner 2011-12-06 21:53:31 Link
Hallo,

ich besitze einen Arduino Uno R2, eine BlinkM MaxM und ein RedFly Shield.
Die BlinkM Beispiele funktionieren unter Arduino 0023. In der Version 1.0
nicht mehr, aus diesem Grund hab ich mir ebenfalls die ältere Version der
RedFly Shield Software heruntergeladen. Ich habe das Wlan Scan Beispiel
gestartet und dieses funktionierte problemlos. Als nächstes wollte ich den
Webserver starten. Da ich momentan nicht das bereits bestehende Wlan Netz
hier nutzen kann, wollte ich eine AdHoc Verbindung aufbauen.

Ich habe mit den join-network Befehlen herumexperimentiert und als ich dann
am Netbook das Netzwerk gesehen habe, konnte ich mich verbinden. Allerdings
funktionierte die Conn_test Seite nicht. Es erscheint:
Start HTTP GET http://192.168.0.30/
und dann passiert nichts mehr, kein Error. Der Text bleibt einfach stehen.
Muss ich noch andere Einstellungen treffen? Ich nutze Win7, und auf dem
RedFly ist Version 445 installiert.

Ziel ist es per WebServer Daten in Empfang zu nehmen, beispielsweise eine
Farbe und diese dann an den BlinkM zu übergeben.

Martin Fröhner 2011-12-06 22:13:43 Link
Hier mal noch der Bericht der seriellen Schnittstelle

Un
AT+RSI_FWVERSION?
AT+RSI_BAND=0
AT+RSI_INIT
AT+RSI_NUMSCAN=0
AT+RSI_SCAN=0
AT+RSI_NETWORK=IBSS_SEC,1,1
AT+RSI_PSK=12345
AT+RSI_JOIN=test123,0,2
AT+RSI_IPCONF=0,192.168.178.30,255.255.255.0
AT+RSI_LTCP=80

Andreas Watterott 2011-12-06 22:18:21 Link
Hallo,

Man kann die RedFly-WebServer-Seite auch direkt im Browser aufrufen:
http://192.168.178.30
Die conn_test.htm ist nur ein Beispiel um Daten vom RedFly in eine
bestehende HTML-Seite einzubinden und den Cross-Site-Schutz zu umgehen.
Möglicherweise funktioniert dies nicht auf Grund von
Sicherheitseinstellungen oder besteht vielleicht keine Internetverbindung?

Gruß
Andreas

Martin Fröhner 2011-12-06 22:39:34 Link
Ich hab mal im Netzwerk auf Status geklickt. Es besteht keine
Internetverbindung während ich mit dem RedFly Shield verbunden bin.
Außerdem ist mir aufgefallen, dass bei Empfangenen Bytes eine 0
steht....also scheint die Verbindung doch noch nicht richtig hergestellt zu
sein. Ich hab ebenfalls versucht ein AdHoc Netzwerk vom Netbook aus
aufzubauen und dann mit dem Shield zu joinen, aber auch danach hat sich
nichts geändert.

Andreas Watterott 2011-12-06 22:59:32 Link
Hast du schon mal eine normale Verbindung ohne WEP-Verschlüsselung
getestet? Was mir gerade auch noch auffällt, bei WEP muss die Passwortlänge
genau stimmen. WEP-64bit: 10 Hex-Zeichen und bei WEP-128bit: 26 Hex-Zeichen

Welche IP und Netzmaske hat der Netbook?

Gruß
Andreas

Martin Fröhner 2011-12-06 23:12:47 Link
Huhu,

danke für den Tipp ;)
Ich hab gerade vom Netbook aus eine unverschlüsseltes Netzwerk aufgebaut,
per
ret = RedFly.join("Micro", IBSS_JOINER);
konnte ich mich verbinden, dann habe ich im Browser
http://192.168.178.30 eingegeben
und bekam die passende Antwort:
Hello, World!

analog input 0 is 407
analog input 1 is 312
analog input 2 is 272
analog input 3 is 278
analog input 4 is 1023
analog input 5 is 294 

Aus wievielen Buchstaben muss das Passwort bestehen um auf 10, oder 26
Hex-Zeichen zu kommen? Ich würde die Verbindung lieber per PW sichern, als
diese offen zu lassen, aber es funktioniert zumindest erstmal.

Vielen Dank,

Martin

Andreas Watterott 2011-12-06 23:19:50 Link
Aus 10 bzw. 26 Zeichen im Bereich von 0-9 und A-F, z.B.
  1234567890
oder
  1234567890ABCDEF1234567890

http://de.wikipedia.org/wiki/Hexadezimalsystem

Gruß
Andreas

Martin Fröhner 2011-12-07 09:08:50 Link
Leider funktioniert das ganze nicht immer konstant.
Ich habe es mehrfach wie oben(in meinem letzten Post) beschrieben versucht.
Aber nicht immer erscheint die Hello World Seite. Auch wenn diese erscheint
und ich auf Tab neu laden klicke, bekomme ich das Problem das auf der
Adresse nichts mehr gefunden wird. Es ist dabei egal ob ich ein offenes
Netzwerk, oder ein verschlüsseltes nutze.

Andreas Watterott 2011-12-07 10:47:03 Link
Das kann passieren wenn man zu viele Anfragen kurz hintereinander sendet
und diese nicht vollständig abgearbeitet wurden.
Probiere mal die Baudrate höher zusetzen:
  RedFly.init(115200, HIGH_POWER)

Gruß
Andreas

Martin Fröhner 2011-12-07 21:35:54 Link
So,

ich bin jetzt im hausinternen WLAN, es hat gut geklappt das RedFly ins Wlan
einzubinden. Allerdings hat das RedFly 2 IP Adressen und es scheint sich
mit diesen abzuwechseln. 

Ich habe daraufhin das Webserver Beispiel gestartet:
hier der Text der seriellen Schnittstelle(Netzwerkname und PW habe ich hier
geändert).

Un
AT+RSI_FWVERSION?
AT+RSI_BAND=0
AT+RSI_INIT
AT+RSI_NUMSCAN=0
AT+RSI_SCAN=0
AT+RSI_NETWORK=INFRASTRUCTURE
AT+RSI_PSK=pw
AT+RSI_JOIN=name,0,2
AT+RSI_IPCONF=1,0,0
AT+RSI_LTCP=80

Soweit funktioniert alles, aber ich kann mich nicht über den Browser
verbinden und auch der Wechsel der IP Adressen wundert mich.

Andreas Watterott 2011-12-07 23:05:26 Link
Dann scheint etwas mit dem DHCP nicht richtig zu funktionieren. Vielleicht
bekommt das Shield bei einem Verbindungsverlust oder beim DHCP Renewal eine
neue IP vom DHCP-Server zugewiesen.
Bei einigen DHCP-Servern kann man einstellen, dass bestimmte MAC-Adressen
immer die selbe IP bekommen...

Gruß
Andreas

Martin Fröhner 2011-12-16 01:34:06 Link
Hi,

ich habe das RedFly mit dem Heimnetz verbunden. Jetzt ist mein Problem,
dass das RedFly automatisch eine IP Adresse bekommt, diese muss ich wissen,
um per Telnet auf das Shield zugreifen zu können, ist es möglich die IP
über die serielle Schnittstelle auszugeben, falls ja, welcher Befehl führt
dies aus?

Gruß,

Martin Fröhner

Andreas Watterott 2011-12-16 11:04:02 Link
Ich habe eine neue Funktion getlocalip(uint8_t *ip) zum Abfragen der IP mit
in die Lib v0.10 Beta eingebaut. 

Gruß
Andreas

Martin Fröhner 2011-12-24 16:04:47 Link
Hi,

ich habe mal noch eine kurze Verständnis-Frage.
Ich habe eben den WebServer Socket Sketch geladen, immer wenn ich den
Serial Monitor starte, bzw. beende erlöschen die beiden LEDs auf dem
RedFly, ist dieses Verhalten normal?

Gruß,

Martin Fröhner

Ich wünsche dir Andreas ein frohes und besinnliches Weihnachtsfest.

Andreas Watterott 2011-12-24 18:56:20 Link
Beim Öffnen des Serial Monitors in der Arduino Software, wird der Arduino
automatisch resettet und dadurch wird das RedFly ebenfalls neugestartet.

Gruß
Andreas

Martin Fröhner 2011-12-24 19:49:38 Link
Danke.

Heute hat auch endlich das RedFly vollständig funktioniert. Ich hatte
vorher einfach eine falsche IP-Adresse eingestellt. Der WLAN Scan, sowie
der Server laufen super.

Ich hab folgenden Code hinzugefügt:
[code]
        server.println_P(PSTR("<form action=\"input_text.htm\">"));
        server.println_P(PSTR("<p>Vorname:<br><input name=\"vorname\"
type=\"text\" size=\"30\" maxlength=\"30\"></p>"));
        server.println_P(PSTR("<p>Zuname:<br><input name=\"zuname\"
type=\"text\" size=\"30\" maxlength=\"40\"></p>"));
        server.println_P(PSTR("</form>"));
[\code]

Als Ergebnis bekomme ich 2 Textfelder, die ich mit Vor und Zuname füllen
kann. Nur wie kann ich das ganze auslesen? Bin gerade in der Doku am
suchen, hab aber noch nichts gefunden.

P.S.: Das RedFly ist ein tolles Produkt und ich freue mich das es jetzt
endlich so gut funktioniert.

Martin Fröhner 2011-12-25 18:27:23 Link
So,

hab nochmal bisschen was geändert:
[code]
server.println_P(PSTR("<form action=\"/cgi-bin/comments.pl\" method=\"get\"
accept-charset=\"ISO-8859-1\">"));
        server.println_P(PSTR("<textarea name=\"Text\" rows=\"5\"
cols=\"50\"></textarea></p>"));
        server.println_P(PSTR("<p><input type=\"submit\"
value=\"Senden\"></p>"));
        server.println_P(PSTR("</form>"));
[\code]
Jetzt hab ich ein Eingabefeld mit Knopf um die Daten zu senden, dass kann
ich per GET oder POST tun. Das Problem wo die Daten genau hingehen, bzw.
wie ich heran komme, besteht weiterhin.

Gruß,

Martin

Reply

Name
eMail (not visible)
Subject (no text only in upper case; no HELP, URGENT...)
Text
HTML tags are not supported and links are generated automatically if they start with http or ftp.
Please submit long source code or log files as attachment (only registered users).
Please enter the number 4375