Pages: [1] 2 3 ... 6   Go Down
Author Topic: RedFly WiFi (neues Layout) an Mega  (Read 5768 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi!

Hat irgendjmd eine Idee wie man das RedFly WLAN Modul auf einen Mega steckt (also wieherum das drauf muss)?
Kann da keine Anleitung dazu finden; hab das neue Layout des RedFly!

Anbei mal Bilder wie ich die Headerpins verlötet habe (dazu gabs Bilder im Netz)...

https://www.dropbox.com/sh/l5q98e79lm6s54m/zNIwno-gQQ

Danke!
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Habs nun so angeschlossen wie auf dem letzten Bild ersichtlich.

Outcome:

AT+RSI_FWVERSION?
AT+RSI_FWVERSION?
AT+RSI_FWVERSION?
INIT ERR

Irgendjmd einen Rat?
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Habe die Position des Reset-Pins markiert, als Orientierung.


* Redfly_Shield_2.bmp (1284.43 KB, 730x600 - viewed 22 times.)
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Germany
Offline Offline
Full Member
***
Karma: 8
Posts: 117
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Das RedFly muss ganz links aufgesteckt werden und die ersten 2 Pins an beiden Seiten stehen bei älteren Boards über.

Gruß
Andreas


* redfly.jpg (92.76 KB, 1440x500 - viewed 33 times.)
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi!

Perfekt, jetzt tut es.
Vermutich wäre es aber besser gewesen ich hätte statt so:


RESETSCHALTER   6ER-BRÜCKE   8ER-BRÜCKE

                8ER-BRÜCKE   6ER-BRÜCKE


so gelötet:


RESETSCHALTER   8ER-BRÜCKE   8ER-BRÜCKE

                6ER-BRÜCKE   6ER-BRÜCKE


Naja, nicht so schlimm (hoffe ich).

Wer sehen will wie nun alles korrekt aussieht:
https://www.dropbox.com/sh/l5q98e79lm6s54m/zNIwno-gQQ

Samples funktionieren auch.
« Last Edit: August 21, 2012, 03:24:36 am by AnNaAF79 » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich versuche nun gerade HTTP GET/POST Requests zu empfangen.

Code:

Code:
#include <RedFly.h>
#include <RedFlyServer.h>


byte ip[4]; // set via DHCP
byte netmask[4]; // set via DH

//initialize the server library with the port
//you want to use (port 80 is default for HTTP)
RedFlyServer server(80);


//serial format: 9600 Baud, 8N2
void debugout(char *s)  {
  RedFly.disable();
  Serial.print(s);  
  RedFly.enable();
}
void debugoutln(char *s){
  RedFly.disable();
  Serial.println(s);
  RedFly.enable();
}


void setup()
{
  uint8_t ret;

  //init the WiFi module on the shield
  ret = RedFly.init();

  if(ret)
  {
    debugoutln("INIT ERR"); //there are problems with the communication between the Arduino and the RedFly
  }
  else
  {
    //scan for wireless networks (must be run before join command)
    RedFly.scan();

    //join network
    ret = RedFly.join("x", "x", INFRASTRUCTURE);
    //debugoutln(ret);

    if(ret)
    {
      debugoutln("JOIN ERR");
      for(;;); //do nothing forevermore
    }
    else
    {
      //set ip config
      ret = RedFly.begin(); //DHCP

      if(ret)
      {
        debugoutln("BEGIN ERR");
        RedFly.disconnect();
        for(;;); //do nothing forevermore
      }
      else
      {
        RedFly.getlocalip(ip); //receive shield IP in case of DHCP/Auto-IP
        server.begin();
      }
    }
  }
}


void loop()
{
  //listen for incoming clients
  if(int len = server.available())
  {
    debugoutln("Received data...");      

    char command[len];

    uint8_t *buffer;
    int ret = server.read(buffer, len);
    
    debugoutln("Printing received data...");
    sprintf_P(command, PSTR("%s\n"), buffer);
    debugoutln(command);

    server.flush();
  }
  else if(!server.connected()) //listening port still open?
  {
    server.stop(); //stop and reset server
    server.begin(); //start server
  }
}

Der Scan und das Join funktionieren.
Man sieht auch dass Daten die per HTTP verschickt werden ankommen, denn ich sehe die Ausgabe "Received data..." und in der n. Zeile "Printing received data...".
Doch danach kommt nicht der GET/POST Request wie ich es erwarten würde, sondern eine Leerzeile; nada...

Tipps?
Logged

Germany
Offline Offline
Full Member
***
Karma: 8
Posts: 117
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Funktion server.read() muss ein Pointer, der auf ein Array zeigt, übergeben werden. Folgendes geht daher nicht:
Code:
uint8_t *buffer;
int ret = server.read(buffer, len);
Richtig wäre z.B.
Code:
uint8_t buffer[256];
int ret = server.read(buffer, len);

Gruß
Andreas
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay,  das macht Sinn.
Zu lange kein C mehr programmiert smiley

Aber viel geändert hat sich nicht:

Code:
void loop()
{
  //listen for incoming clients
  if(int len = server.available())
  {
    debugoutln("Received data...");     
   
    uint8_t buffer[256];
    int ret = server.read(buffer, len);
    buffer[len] = 0;
   
    char command[len];
    debugoutln("Printing received data...");
    sprintf_P(command, PSTR("%s\n"), buffer);
    command[len] = 0;
   
    debugoutln(command);

    server.flush();
  }
  else if(!server.connected()) //listening port still open?
  {
    server.stop(); //stop and reset server
    server.begin(); //start server
  }
}

Also Ausgabe erhalte ich nun 2-3 kryptische Zeichen und das wars... *bahnhof*
Mein Request ist ein GET Request.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay, jetzt geht garnichts mehr.
Am Scan & join Code habe ich nicht verändert; auch nicht an meinen WLAN Einstellungen...

Nur noch JOIN ERR Meldungen:

Code:
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=xxx
AT+RSI_JOIN=xxx,0,2
JOIN ERR

Dieses Bauteil fängt an mich zu nerven smiley-sad
Reset, Neustart vom Router, etc., alles probiert - keine Abhilfe...
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ohne was geändert zu haben (nur etwas gewartet und paar mal neu hochgeladen) wirs nun noch schlimmer:
Ausgabe wie oben; das ganze hängt sich nun aber in er Zeile vor JOIN ERR auf; das JOIN ERR kommt nichtmal mehr.
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du benutzt die Arduino Lib V0.15 für das Redfly Shield ?
https://github.com/downloads/watterott/RedFly-Shield/src_v015.zip
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Version 014.
Nachdem ich nun alle Stecker mal gezogen und eine Weile gewartet habe bekomme ich zumindest wieder eine Connection; aber Daten auslesen immer noch Fehlanzeige.
Kryptische Zeichen oder garnichts smiley-sad
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hast Du schon die Example-Programme der Library ausprobiert ?
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, die tun (sofern es nicht wieder dieses JOIN ERR Problem gibt bei dem dann garnichts mehr geht).
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vielleicht solltest Du eines dieser Example-Programme als Grundgerüst für dein eigenes benutzen, also entsprechend modifizieren !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Pages: [1] 2 3 ... 6   Go Up
Jump to: