red fly shield am mega2560 nur AT+RSI_FWVERSION?

Hoile,

bin ein bischen verloren (arduino und Elektronikneuling)

Kann mir jemand sagen ob die "Montage" des Shields so richtig ist? Es gibt zwar ein paar Bilde rim Netz, aber das sind andere Versionen des Shields (anscheinend auch was die "Pinbänke" betrifft?)

Jede Hilfe willkommen

LieGrü
Thomas

top view

side view1

side view1

Code part:

// initialize the digital PIn as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
digitalWrite(13, LOW);

RedFly.disable();
Serial.begin(115200);
outln("VERSION 8");
sprintf(buffout, "Free: %d", freeRam());
bout();

digitalWrite(13, HIGH);

uint8_t ret;
//init the WiFi module on the shield
// ret = RedFly.init(br, pwr) //br=9600|19200|38400|57600|115200|200000|230400, pwr=LOW_POWER|MED_POWER|HIGH_POWER
// ret = RedFly.init(pwr) //9600 baud, pwr=LOW_POWER|MED_POWER|HIGH_POWER
// ret = RedFly.init() //9600 baud, HIGH_POWER
ret = RedFly.init(115200, LOW_POWER);
sprintf(buffout, "RED FLY Init %d\n", ret);
bout();

outln writes the char* via Serial
bout writes the buffout char[250] via Serial

Output is:
VERSION 8
AT+RSI_FWVERSION?
AT+RSI_FWVERSION?
AT+RSI_FWVERSION?
RED FLY Init 255

Ja, das Shield ist richtig montiert.
http://static3.watterott.com/redfly_v13_pins2.jpg
Du mußt nur aufpassen, daß das Shield nicht mit leitenden Teilen die USB Buchse berührt.

Ein anderes Problem. Die Plastiktüte die Du unter den Arduino MEGA gelegt hast ist eine metallisierte tüte um elektrostatische Aufladungen zu verhindern. Darum ist sie etwas leitend. Auch die Versuchsufbau-platine ist die falsche Wahl als Untergrund.

Bitte gib uns den ganzen Sketch.
Grüße Uwe

Anbei der Code:

/*
/*
  WLAN Scanner

  This sketch scans for WLANs using a RedFly-Shield.
 */

#include <RedFly.h>
#include <Arduino.h>

//debug output functions (9600 Baud, 8N2)
//Leonardo boards use USB for communication, so we dont need to disable the RedFly
void debugout(char *s)
{
#if defined(__AVR_ATmega32U4__)
  Serial.print(s);
#else
  RedFly.disable();
  Serial.print(s);
  RedFly.enable();
#endif
}

void debugoutln(char *s)
{
#if defined(__AVR_ATmega32U4__)
  Serial.println(s);
#else
  RedFly.disable();
  Serial.println(s);
  RedFly.enable();
#endif
}


void setup()
{
  uint8_t ret;

#if defined(__AVR_ATmega32U4__) //Leonardo boards use USB for communication
  Serial.begin(9600); //init serial port and set baudrate
  while(!Serial); //wait for serial port to connect (needed for Leonardo only)
#endif

  //init the WiFi module on the shield
  // ret = RedFly.init(br, pwr) //br=9600|19200|38400|57600|115200|200000|230400, pwr=LOW_POWER|MED_POWER|HIGH_POWER
  // ret = RedFly.init(pwr) //9600 baud, pwr=LOW_POWER|MED_POWER|HIGH_POWER
  // ret = RedFly.init() //9600 baud, HIGH_POWER
  ret = RedFly.init();
  if(ret)
  {
    debugoutln("INIT ERR");
    for(;;); //do nothing forevermore
  }

  //get firmware version
  char ver[5+1];
  if(RedFly.getversion(ver) == 0)
  {
    debugout("FW: ");
    debugoutln(ver);
  }

  //get WiFi module MAC
  uint8_t mac[6];
  if(RedFly.getmac(mac) == 0)
  {
    char tmp[32];
    sprintf_P(tmp, PSTR("MAC: %x:%x:%x:%x:%x:%x"), mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
    debugoutln(tmp);
  }

  debugoutln("-----------------");
  debugoutln("Start scanning...");
  debugoutln("-----------------");
}


void loop()
{
  uint8_t ret, mode, rssi, type, mac[6];
  char buf[64];

  //scan for wireless networks
  buf[0] = 0;
  ret = RedFly.scan(buf, &mode, &rssi);
  while((ret == 0) && (rssi != 0))
  {
    //show mode (0=Open, 1=WPA, 2=WPA2, 3=WEP) and RSSI
    debugout(buf);
    sprintf_P(buf, PSTR(", mode %i, rssi -%i dBm"), mode, rssi);
    debugoutln(buf);

    //get and show type (0=Ad-hoc, 1=Infrastructure)
    ret = RedFly.gettype(buf, &type);
    if(ret == 0)
    {
      debugout(buf);
      sprintf_P(buf, PSTR(", type %i"), type);
      debugoutln(buf);
    }

    //get and show BSSID
    ret = RedFly.getbssid(buf, mac);
    if(ret == 0)
    {
      debugout(buf);
      sprintf_P(buf, PSTR(", bssid %x:%x:%x:%x:%x:%x"), mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
      debugoutln(buf);
    }

    //next scan
    buf[0] = 0;
    ret = RedFly.nextscan(buf, &mode, &rssi);
  }

  //wait 3s
  delay(3000);
}

int main(void) {
  init();

  setup();

  for (;;) {
    loop();
  }

  Serial.end();
  return 0;
}

Hallo,

Sind die Steckverbinder am Shield auch verlötet? Auf dem einen Bild sieht es so aus als wären diese nur lose durchgesteckt.

Gruß
Andreas

Hätte ich eigentich auch sehen müssen :cold_sweat: :cold_sweat:
Uwe

Hi Andreas,

habs jetzt gemeinsam mit einem Profi verlötet. Spannungsversorgung funzt, LED leuchtet grün,

RX / TX an den letzten beiden Pins sind auf 5V

Dennoch keine Antwort... in der console kommt nur

AT + .... FWVERSION?

Any Clue what to do ?

LieGrü
Thomas

Bitte einmal per Mail support at watterott dot com melden.
Am besten mit Fotos vom RedFly mit den verlöteten Steckverbindern und welche Arduino IDE Version eingesetzt wird.

Gruß
Andreas

Lieber Andreas,

Found MY Bug :slight_smile: I am using the eclipse IDE and i had to set some additional flags to get it working... So all fine, Socket connection already established

Thanx for the support