Pages: [1]   Go Down
Author Topic: Problema con Wifi Shield TinySine  (Read 372 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola a todos,

Tengo mi Arduino UNO R3 + WIFI SHIELD TinySine, he configurado el shield wifi con los comandos de consola siguiendo los pasos del manual y perfecto, ya me responde a los pings.

El problema es que no consigo utilizar el wifi shield desde el IDE, si pongo el cargo el ejemplo WifiWebClient de wifi.h me salta el error "WiFi shield not present", igual con la librería Wifly y no he encontrado ningún ejemplo con este shield TinySine en concreto.

Este shield tiene 3 interruptores:
  • MCU / PC
  • UART / Soft Serial
  • Normal / AP
No me queda claro, la función de estos interruptores por mucho que investigo, he probado todas las combinaciones y el resultado es el mismo.

¿Sabeis la función de estos interruptores o la forma de utilizar este shield desde el IDE para hacer mi script?

Saludos.
Logged

Cordoba
Offline Offline
God Member
*****
Karma: 41
Posts: 718
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

El manual es claro, si usas para enviar los comando el serial del arduino usas las posiciones de las llaves:
S1: Normal
S2: MCU
S3: UART

sigue el manual y has todo lo que dice primero y prebas desde arduino despues/
Logged

El que pregunta aprende, el que responde aprende a responder.

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tras configurar correctamente mi wifi desde el Monitor Serial con los comandos del manual, ya tiene IP, responde a los pings...etc.

He puesto los interruptores como indicas:
S1: Normal
S2: MCU
S3: UART

Cargo cualquier ejemplo en el IDE y al cargar me da este error:

avrdude: stk500_getsync(): not in sync: resp=0x73

Este error siempre me lo da al poner el S2 a MCU, si lo pongo a PC ya carga bien.

Pero si cargo el ejemplo WifiWebClient de wifi.h me pone WiFi shield not present, y si cargo el ejemplo websocketclient de WiflyHQ.h salen caracteres raros sin sentido en el monitor serial.

No encuentro información pero ¿no podría ser que hay que poner algún jumper en el Arduino?

« Last Edit: August 12, 2014, 11:12:50 am by salvatron » Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 151
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Caracteres extraños en el terminal serie? Tiene toda la pinta a que la velocidad del serial y la de la consola serie son distintas.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La librería WiflyHQ debería funcionar con cualquier shield? y wifi.h tambien? o son sólo para ciertos shields wifis?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Por fín lo conseguí!  smiley-lol

He puesto los swich en NORMAL/PC/Soft Serial.

He encontrado el siguiente ejemplo de WiflyHQ, parece ser que en este shield el truco es poner SoftwareSerial wifiSerial(2,3); en lugar de SoftwareSerial wifiSerial(8,9);

Aparte he tenido que utilizar la versión 1.0.2 del IDE porque la última da un error, que parece ser un bug con los wifi shield segun he leido en foros.
 
Code:
/*
 * WiFlyHQ Example httpclient.ino
 *
 * This sketch implements a simple Web client that connects to a
 * web server, sends a GET, and then sends the result to the
 * Serial monitor.
 *
 * This sketch is released to the public domain.
 *
 */

#include <WiFlyHQ.h>

#include <SoftwareSerial.h>
SoftwareSerial wifiSerial(2,3);


WiFly wifly;

/* Change these to match your WiFi network */
const char mySSID[] = "miwifi";
const char myPassword[] = "mipassword";

const char site[] = "www.google.es";

void terminal();

void setup()
{
    char buf[32];

    Serial.begin(9600);
    Serial.println("Starting");
    Serial.print("Free memory: ");
    Serial.println(wifly.getFreeMemory(),DEC);

    wifiSerial.begin(9600);
    if (!wifly.begin(&wifiSerial, &Serial)) {
        Serial.println("Failed to start wifly");
terminal();
    }
    /* Join wifi network if not already associated */
    if (!wifly.isAssociated()) {
/* Setup the WiFly to connect to a wifi network */
Serial.println("Joining network");
wifly.setSSID(mySSID);
wifly.setPassphrase(myPassword);
wifly.enableDHCP();

if (wifly.join()) {
   Serial.println("Joined wifi network");
} else {
   Serial.println("Failed to join wifi network");
   terminal();
}
    } else {
        Serial.println("Already joined network");
    }
    Serial.print("MAC: ");
    Serial.println(wifly.getMAC(buf, sizeof(buf)));
    Serial.print("IP: ");
    Serial.println(wifly.getIP(buf, sizeof(buf)));
    Serial.print("Netmask: ");
    Serial.println(wifly.getNetmask(buf, sizeof(buf)));
    Serial.print("Gateway: ");
    Serial.println(wifly.getGateway(buf, sizeof(buf)));
    wifly.setDeviceID("Wifly-WebClient");
    Serial.print("DeviceID: ");
    Serial.println(wifly.getDeviceID(buf, sizeof(buf)));
    if (wifly.isConnected()) {
        Serial.println("Old connection active. Closing");
wifly.close();
    }
    if (wifly.open(site, 80)) {
        Serial.print("Connected to ");
Serial.println(site);
/* Send the request */
wifly.println("GET / HTTP/1.0");
wifly.println();
    } else {
        Serial.println("Failed to connect");
    }
}
void loop()
{
    if (wifly.available() > 0) {
char ch = wifly.read();
Serial.write(ch);
if (ch == '\n') {
   /* add a carriage return */
   Serial.write('\r');
}
    }
    if (Serial.available() > 0) {
wifly.write(Serial.read());
    }
}
/* Connect the WiFly serial to the serial monitor. */
void terminal()
{
    while (1) {
if (wifly.available() > 0) {
   Serial.write(wifly.read());
}
if (Serial.available() > 0) {
   wifly.write(Serial.read());
}
    }
}

« Last Edit: August 12, 2014, 12:15:01 pm by salvatron » Logged

Cordoba
Offline Offline
God Member
*****
Karma: 41
Posts: 718
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Puede ser o no. si usas el serial para el wifi debes sacarlo para subir el sketch, porque estas lineas las usa para subir el programa.
Logged

El que pregunta aprende, el que responde aprende a responder.

Pages: [1]   Go Up
Jump to: