Ho ancora bisogno di voi !!
In breve
Non riesco a far funzionare il modulo wi-fy "rn-xv roving networks".
Costa sto utilizzando
Hardware
- Arduino uno r2
- Shield "Wireless Proto Shield" (l'ufficiale Arduino senza SD : http://arduino.cc/en/Main/ArduinoWirelessProtoShield)
- Modulo Wireless "RN-XV Roving Networks" con firmware "2.23, 04-26-2011" (questo: https://www.sparkfun.com/products/10822)
Software
IDE ver: Arduino 1.0.2
Libreria: WiFlyHQ.h (questa: GitHub - harlequin-tech/WiFlyHQ: WiFly RN-XV Arduino Library)
Sketch: WiFlyHQ/examples/httpserver at master · harlequin-tech/WiFlyHQ · GitHub
Topic di riferimento da cui sono partito : http://arduino.cc/forum/index.php/topic,99362.0.html
L'errore
Sul monitor seriale continuo ad avere questo risultato:
Starting
Free memory: 1297
setPrompt failed
Failed to enter command mode
Failed to start wifly
Terminal ready
Ora, per completezza, tramite Fing (senza entrare nei dettagli, scansiona la LAN) vedo che esiste un device "WiFly-EZX Roving Networks", quindi è visibile, con IP: 192.168.0.10, e quindi la configurazione del modulo WiFi è stata fatta correttamente (ma questo modulo l'avevo abbandonato un po di tempo fa, quindi potrei aver configurato tutto tramite telnet prima di utilizzare questo sketch) e la porta disponibile è la 2000 con cui infatti riesco a collegarmi in telenet ed apportare le modifiche che voglio, compreso verificare le attuali impostazioni del modulo, che riporto qui sotto (oscurando ovviamente SSID e PSW).
Questa la "comunicazione" in telnet:
*HELLO*$$
CMD
<2.23> get everything
get everything
WiFly Ver 2.23, 04-26-2011 on RN-171
Beacon=100
Probe=5
OPEN=*OPEN*
CLOSE=*CLOS*
REMOTE=*HELLO*
FlushSize=64
MatchChar=0
FlushTimer=10
IdleTimer=0
CmdChar=$
IF=UP
DHCP=ON
IP=192.168.0.10:2000
NM=255.255.255.0
GW=192.168.0.1
HOST=0.0.0.0:2000
PROTO=TCP,
MTU=1524
FLAGS=0x7
BACKUP=0.0.0.0
DNS=192.168.0.1
Name=server1
Backup=backup2
FTP=208.109.78.34:21
File=wifly-EZX.img
User=roving
Pass=Pass123
Dir=public
Timeout=40
FTP_mode=0x0
SSID=[MIO_SSID]
Chan=0
ExtAnt=0
Join=1
Auth=OPEN
Mask=0x1fff
Rate=12, 24 Mb
Linkmon=0
Passphrase=[MIA_PSW]
TxPower=0
SleepTmr=0
WakeTmr=0
Trigger=0x1
Autoconn=0
IoFunc=0x0
IoMask=0x21f0
IoValu=0x0
PrintLvl=0x1
TimeEna=0
TIMEADR=129.6.15.28:123
Zone=7
[b]Baudrate=9600[/b]
Flow=0x0
Mode=0x0
JoinTmr=1000
Replace=0x24
DeviceId=WiFly-EZX
Password=
Format=0x0
Signal=0
Average=5
BCAST=255.255.255.255:55555
Interval=0x7
Sensor=0x0
SensePwr=0x0
<2.23>
La parte di codice che interessa di più è questa, perchè credo che contenga gli elementi fondamentali su cui immagino di sbagliare (la comunicazione seriale e quindi il baud rate):
#include <WiFlyHQ.h>
#include <SoftwareSerial.h>
SoftwareSerial wifiSerial(8,9);
//#include <AltSoftSerial.h>
//AltSoftSerial wifiSerial(8,9);
WiFly wifly;
/* Change these to match your WiFi network */
const char mySSID[] = "[MIO_SSID]";
const char myPassword[] = "[MIA_PSW]";
void sendIndex();
void sendGreeting(char *name);
void send404();
char buf[80];
void setup()
{
Serial.begin(115200);
Serial.println(F("Starting"));
Serial.print(F("Free memory: "));
Serial.println(wifly.getFreeMemory(),DEC);
wifiSerial.begin(9600);
if (!wifly.begin(&wifiSerial, &Serial)) {
Serial.println(F("Failed to start wifly"));
wifly.terminal();
}
Le domande sono due in realtà, una per capire, l'altra per risolvere.
Il "Wireless Proto Shield" replica i pin del modulo wireless ? o meglio, il TX e RX del modulo wireless (che dovrebbero essere i pin 2 e 3) vengono replicati sulle uscite dello shield ? oppure devo collegarmi sulla mille fori per prendere le due uscite ? (ci sono dei fori sullo shield in corrispondenza dei 20 pin del modulo wireless)
E soprattutto !! Come risolvo il problema che non riesco a far comunicare arduino con il modulo wireless ? Ho letto il topic postato più su, e molte altre discussioni, ma non sono riuscito a risolvere e (sbagliando! perchè potevo fare danni) ho provato tutte le combinazioni possibili di aggancio tra "seriale di debug" e i pin 8 e 9, quelli del "SoftwareSerial".
Probabilmente mi manca qualche conoscenza per fare queste cose, per questo ho riportato veramente tutto !!! Grazie in anticipo