Go Down

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

elriri

Jul 10, 2012, 04:36 pm Last Edit: Jul 16, 2012, 09:50 pm by elriri Reason: 1
Salut à tous !

Je vais bientôt recevoir mon shield wifi, et je cherche à avancer sur mon programme avant de le recevoir.

Il s'agit du modèle en pièce jointe, copie chinoise du modèle proposé par dfrobot.

Le shield communique avec le port série donc.

Pour le transfert de donnée PHP -> ARDUINO, je ne pense pas rencontrer de problème majeur, en revanche je ne comprends pas comment faire le trajet inverse du moins comment envoyer des données vers l'extérieur avec l'arduino.

En gros je veux juste envoyer un "String" vers ma page php pour qu'il la traite ensuite.

Quelqu'un ayant utilisé cette carte pour le même type d'application pourrait il m'éclairer sur la marche à suivre ?

Merci

al1fch

#1
Jul 10, 2012, 05:21 pm Last Edit: Jul 10, 2012, 05:28 pm by al1fch Reason: 1
Bonjour

Quote
Qui utilise ce shield wifi ?

Pas moi !!  Cette carte utilise un module WiFi  "WizFi-210"  de Wiznet  plutôt performant, mais assez récent et peu utilisé à ce jour dans le monde Arduino. ça devrait changer et je crois qu'ne librairie Arduino est en préparation chez Wiznet :
https://github.com/Wiznet/Arduino_WiFi_Shield (seul le hardware est mis en ligne pour l'instant, le software est pour l'instant vide)

Une description des fonctionalités du module WizFi-210 indique 'Client HTTP / HTTPS)' , il est donc envisageable d'envoyer la chaine en GET ou PUT. Avec un shield utilisant un module aussi récent il faut prévoir de mettre le nez dans la documentation. Il n'y a peut être aujourd'hui aucun sketch pret à l'emploi pour la fonction désirée.

elriri

Merci pour l'info !

En faite je cherchais pas au bon endroit.
Les sites donne juste le .pdf pour démarrer rapidement, mais là je viens de mettre la main sur le manuel complet qui décrit les commandes dispos.

Résolu en partie car maintenant va falloir essayer tout ça ^^

barbudor

Fais nous un retour quand tu auras joué avec
Ca nous interresse...
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

elriri

Oui je comptais le faire, mais en gros ça marche en ligne de commande avec Serial.print().

J'attends de faire les premiers essais pour déposer un exemple.

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 tutos et plein de bonnes choses 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.

elriri

Ok je vais chercher de ce côté car à part "ATH" je n'arrive pas à exécuter une commande plus longue tel que "AT+HTTPCOPEN=ndd.fr,80"...


elriri

#11
Jul 13, 2012, 11:02 pm Last Edit: Jul 13, 2012, 11:05 pm by elriri Reason: 1
Bon j'avance un peux, j'arrive à l'aide d'un SoftwareSerial qui m'affiche les réponses du module wifi à voir que mes commandes sont bien prises en compte mais retourne une erreur : [ERROR] sans plus de précision pourtant j'exécute une bête commande "AT+DNSLOOKUP=google.com" prise dans le manuel car utilisé comme exemple mais ça ne fonctionne pas...

Précision, mes commande sont seulement prises en compte quand j'utiliser print(), mais pas quand je les rentre dans mon terminal...

Badrocklo

Salut,

Une idée bête, mais si tu ne dit pas à la carte sur qu'elle borne wifi se connecter, peut-être qu'elle attend que tu lui donne avant de faire un ping.
Si cela fonctionne comme un carte wifi standard bien sur.

Bonne chance.

elriri

Justement je me posais la question mais les voyants indiquent que la carte est bien associé à mon Wifi, de plus quand j'envoi la commande "ATH" pour me dissocier, la led s'éteint et je suis obligé de redémarrer le module pour me reconnecter.

Marc56

#14
Jul 14, 2012, 09:52 am Last Edit: Jul 14, 2012, 10:04 am by Marc56 Reason: 1

Justement je me posais la question mais les voyants indiquent que la carte est bien associé à mon Wifi, de plus quand j'envoi la commande "ATH" pour me dissocier, la led s'éteint et je suis obligé de redémarrer le module pour me reconnecter.


En langage Hayes (commande modem)  'AT' ATH signifie ATtention Hold et est en général (pas toujours) suivi de quelque chose. Exemple ATH0 (ATHzéro = raccrocher la ligne). Donc à mon avis il manque quelque chose. C'est sans doute pour cela que ton module se bloque.

En mode commande modem, la commande la plus utile est ATZ ( = reset). À envoyer dès qu'on perd la main ou qu'on veut commencer un autre essai, car le modem ou assimilé conserve toute les commandes précédentes sauf redémarrage (sans sauvegarde)

PS. DFRobot est lui-même un fabricant Chinois
PS2 Tu devrais changer l'état [resolu] du topic, car visiblement le problème ne l'est pas encore  :smiley-slim:


Go Up