Go Down

Topic: [Résolu] Qui utilise ce shield wifi ? Wizfi210 (Read 2 times) previous topic - next topic

elriri

Salut !

Je reviens vers vous car j'ai reçu le shield aujourd'hui.

La configuration en suivant le tuto c'est déroulé sans problème.

Mais après minimum 4h de recherche impossible de communiquer avec le shield.

Je souhaiterais lui envoyer des commandes mais aucune réaction de sa part à toute mes tentatives, alors que le manuel indique que dans tout les cas il devrait au moins me retourner un message d'erreur.

Pour initialiser une commande je dois la précéder de la chaîne "+++", mais comment lui envoyer ?

Serial.print("+++") ou Serial.print('+++') ou alors Serial.write("+++") ?


skywodd

Salut,


Pour initialiser une commande je dois la précéder de la chaîne "+++", mais comment lui envoyer ?

Serial.print("+++") ou Serial.print('+++') ou alors Serial.write("+++") ?

Serial.print("+++")
ou si il faut un retour ligne (surement le cas) :
Serial.println("+++")

Moment culturel ;) :
"+++" -> chaine de caractére ASCIIZ (le Z n'est PAS une faute de frappe ;)) = { '+', '+', '+', '\0' }
'+++' -> erreur de syntaxe, quelque chose entre simple quote (exemple 'x') = un caractére ASCII
Serial.print() affiche une chaine de caractére ASCIIZ exemple "xxxx"
Serial.write() envoi un octet brute ou par extension un caractére seul exemple 'x'
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

elriri

Merci, mais toujours aucun résultat et je trouve zéro exemple sur le net.

La seule chose que j'arrive à faire, utiliser putty pour envoyer des données vers l'arduino, là aucun problème les caractères sont lisible avec un simple Serial.read().

Mais quand je veux démarrer une connexion TCP par exemple ou plus simplement dissocier le module wifi de mon réseau là aucune commande ne fonctionne ni ne retourne aucun message d'erreur, j'ai l'impression qu'un
Serial.println("+++") ne suffit pas à activer le système de commande.


elriri

#8
Jul 13, 2012, 07:54 pm Last Edit: Jul 13, 2012, 09:23 pm by elriri Reason: 1
Enfin une commande qui passe !

Le script :


void setup()  
{
 // Open serial communications and wait for port to open:
 Serial.begin(115200);
 delay( 10000 );


 Serial.print("+"); //put in command mode
 delay(300);
 Serial.print("+");
 delay(300);
 Serial.print("+");

 delay( 5000 ); //hang round on command mode for a bit - no reason
 Serial.println("ATH");   // dissocier wifi
 Serial.flush();
}

void loop() // run over and over
{


}

ouf ! J'en suis à 5h de recherche ^^

Benvenuto

S'ils se sont inspirés de l'API de Roving Networks, il y a peut-être un piège du genre : si il y a un autre caractère que '+' 250ms avant ou 250ms après, il ignore le "+++", du coup le '\n' de ton Serial.println("+++") empêche ta commande de fonctionner.

Go Up