Bonjour à tous,
Voila, j'essaye de faire fonctionner le module wifi MRF24WB0MA avec mon Arduino.
J'ai choisit ce module car il est présent sur le WiShield et possède donc une librairie pour Arduino.
Seulement voila, impossible d'obtenir quoi que ce soit de fonctionnel...
Bon déjà pour la librairie je l'ai trouvée ici:
Avec les correctifs pour Arduino 1.0:
Jusque la, j'arrive à compiler sans erreur.
Pour la partie hardware, j'ai essayer de faire mon propre shield en partant de ça:
http://theiopage.blogspot.fr/2011/10/connecting-mrf24wb0ma-to-arduino.html
Mais j'ai aussi acheté la carte fille proposée par farnell au cas ou mon shield serait mal fait:
http://uk.farnell.com/microchip/ac164136-4/mrf24wb0ma-wi-fi-daughter-board/dp/1841433?MER=en-me-pd-r2-acce-smo
Mais aucune des deux carte ne marche... Je fait pourtant mes branchements exactement comme dans le Wishield:
Je relie le port SPI, l'alim et le reset et je met la pin "hibernate" à l'état bas (encore que ça se fait tout seul sur la carte fille de farnell).
Sur le Wishield il y a une LED d'indication de wifi qui est relié à la pin 8 de l'arduino, j'ai beau en placer une, je n'obtient pas le moindre scintillement.
Bon pour moi je n'ai pas fait de faute sur la partie hardware (du coup ce qui m'étonne c'est que la led ne s'allume pas....) en tout cas je suis sur que mon module est bien alimenté et que tout les contactes se font correctement.
Du coup peut-être que je configure mal mon réseau dans le code... Voila le début du code qui gère les paramètres réseaux:
#include <WiShield.h>
#define WIRELESS_MODE_INFRA 1
#define WIRELESS_MODE_ADHOC 2
// Wireless configuration parameters ----------------------------------------
unsigned char local_ip[] = {192,168,2,21}; // IP address of WiShield
unsigned char gateway_ip[] = {192,168,2,1}; // router or gateway IP address
unsigned char subnet_mask[] = {255,255,255,0}; // subnet mask for the local network
const prog_char ssid[] PROGMEM = {"belkin54g"}; // max 32 bytes
unsigned char security_type = 0; // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2
// WPA/WPA2 passphrase
const prog_char security_passphrase[] PROGMEM = {"12345678"}; // max 64 characters
// WEP 128-bit keys
// sample HEX keys
prog_uchar wep_keys[] PROGMEM = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, // Key 0
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 1
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 2
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Key 3
};
// setup the wireless mode
// infrastructure - connect to AP
// adhoc - connect to another WiFi device
unsigned char wireless_mode = WIRELESS_MODE_INFRA;
unsigned char ssid_len;
unsigned char security_passphrase_len;
Déjà j'ai un gros doute pour la première partie:
unsigned char gateway_ip[] = {192,168,2,1}; // router or gateway IP address
je reçois internet par satellite chez moi, le boitier de réception ne possède qu'une sortie ethernet et cette sortie est relié à un routeur wifi (belkin) pour avoir internet en wifi.
Pour l'adresse IP, si je tape 192,168,2,1 dans ma barre de recherche, j'ai accès aux paramètre de mon routeur, si je tape 192,168,1,1 j'ai accès à mon fournisseur d'accès (Numeo)... Du coup dans le code Arduino, je dois mettre quoi? .2.1 ou .1.1 ?
Ensuite:
unsigned char local_ip[] = {192,168,2,21}; // IP address of WiShield
La il faut une adresse libre c'est ça? Donc la je devrait être bon.
const prog_char ssid[] PROGMEM = {"belkin54g"}; /
La je sais pas si je dois mettre le nom de mon réseau internet ou le nom que je veux voir apparaitre pour identifier l'arduino?
Bon ensuite je met pas de clé de sécurité donc je cherche pas à configurer les clés.
Et le dernier point ou je bloque:
// setup the wireless mode
// infrastructure - connect to AP
// adhoc - connect to another WiFi device
unsigned char wireless_mode = WIRELESS_MODE_INFRA;
J'ai déjà essayer les deux mais je n'arrive pas a comprendre la différence. Il y en a un pour se connecter à un réseau wifi existant et un autre pour se connecter juste à une machine?
Bon et enfin je voudrais être sur d'une chose: normalement, je devrait bien être capable de créer mon propre réseau avec ce module, non?
Du coup pourquoi me demander l'adresse de mon routeur? Moi je voudrais être totalement indépendant de mon réseau internet et créer mon réseau avec l'arduino, mais je sais même pas si c'est le bon programme....
Enfin voila, si quelqu'un a déjà utilisé un module wifi et qu'il a réussi à le faire fonctionner, je veux bien un peu d'aide...
Je me demande aussi si il est possible d'utiliser la librairie wifi d'origine directement sur le module. Je n'ai pas réussis mais peut-être que c'est faisable.
