Après avoir acheter une arduino nano 33 iot, je tente de la connecter à mon point d'accès pour tester la fonctionnalité.
Cependant, mon arduino ne se connecte jamais à mon point d'accès alors que les identifiants sont bons, et qu'il s'agit du code d'exemple:
#include <WiFi.h>
char ssid[] = "test";
char pass[] = "motdepasse";
int status = WL_IDLE_STATUS;
WiFiServer server(80);
WiFiClient client;
void setup()
{
WiFi.begin(ssid, pass);
Serial.begin(9600);
while (status != WL_CONNECTED)
{
Serial.print("Connecting to Network named: "); Serial.println(ssid);
status = WiFi.begin(ssid, pass);
delay(1000);
}
}
Si vous savez comment faire, votre aide est la bienvenue
Bonjour
...il s'agit du code d'exemple
s'agit-il bien d'un code exemple dédié à la carte Nano 33 IOT ?
Il me semble que cette carte utilise une librairie particulière : WiFiNINA avec donc un
#include <WiFiNINA.h>
au lieu du
#include <WiFi.h>
Exemple sur cette page : https://docs.arduino.cc/tutorials/nano-33-iot/WiFi_connection
1 Like
Le minimum serait d'avoir void loop() {}
dans ton code !
#include <WiFi.h>
char ssid[] = "test";
char pass[] = "motdepasse";
int status = WL_IDLE_STATUS;
WiFiServer server(80);
WiFiClient client;
void setup()
{
WiFi.begin(ssid, pass);
Serial.begin(9600);
while (status != WL_CONNECTED)
{
Serial.print("Connexion au réseau nommé : "); Serial.println(ssid);
status = WiFi.begin(ssid, pass);
delay(1000);
}
}
void loop() {}
Si ca ne fonctionne pas, essaye de localiser l'erreur, par exemple grâce à Serial.println();
.
Pour minimiser les risques d'erreur, évite les varialbes si elles sont utilisées une seule fois dans le code.
#include <WiFi.h>
char ssid[] = "test";
int status = WL_IDLE_STATUS;
WiFiServer server(80);
WiFiClient client;
void setup(){
WiFi.begin(ssid, "motdepasse");
Serial.begin(9600);
while (status != WL_CONNECTED){
Serial.print("Connexion au réseau nommé "); Serial.println(ssid);
status = WiFi.begin(ssid, pass);
delay(500);
}
}
void loop() {}
2 Likes
Merci beaucoup! C'était totalement ça!
Merci beaucoup!
Il y avait bien un void loop dans mon programme mais étant donné qu'il n'y avait rien dedans, je ne voyais pas spécialement l'interêt de le mettre.
En ce qui concerne les variables, oui c'est vrai que je ne devrais pas passer par des variables, mais j'avais commencé à écrire ça car le but après était de tester du bruteforcing ^^ (funfact: trop long)
shiverleys:
En ce qui concerne les variables, oui c'est vrai que je ne devrais pas passer par des variables, mais j'avais commencé à écrire ça car le but après était de tester du bruteforcing ^^ (funfact: trop long)
Bonjour,
Dans ton exemple l'utilisation des variables ssid et pass est tout à fait justifiée (en fait ce serait encore mieux si elles étaient déclarées const).
Ca permet:
d'améliorer la lisibilité du programme
de regrouper les constantes qui peuvent être modifiées facilement au lieu d'être obligé de les rechercher dans le programme.
Les enlever était juste pour tenter de résoudre le problème.
Quand il y a un problème, il faut le localiser, grâce à des tests.
1 Like
system
Closed
December 6, 2022, 6:11am
8
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.