Ceci est mon premier post, petite présentation sommaire : Jean-Claude, 40 ans, travaillant dans les réseaux informatiques. Je suis loin d'être un vrai dev, je me limite habituellement à faire quelques scripts.
J'ai besoin d'aide car je bute sur ce que j'espère être une bricole.
J'ai un ESP8266 qui est client d'un réseau wifi "wifi01". Pas de soucis.
Je souhaite mesurer avec cet ESP le RSSI d'autres réseaux wifi (sur lesquels je ne me connecterai pas).
Pour le moment je scanne les réseaux à proximité (WiFi.scanNetworks();
) et je passe cette liste de réseaux en revue pour en mesurer le RSSI. Ça fonctionne parfaitement. Le seul problème c'est que le scan dure un peu plus de 2 secondes. Dans mon application c'est trop long. Je pourrai me contenter de la moitié mais pas plus.
J'ai cru comprendre que le scan n'est pas nécessaire. D'autant plus que je connais les noms des réseaux que je veux mesurer et ils ne changent jamais.
J'ai trouvé ceci : WiFi - Arduino Reference
Si je comprend bien, il suffit de donner à la fonction WiFi.RSSI(); en paramètre le SSID du réseau dont je souhaite connaitre le RSSI ?
Bien entendu, je poste car cela ne fonctionne pas. Je ne dois forcement pas faire ce qu'il faut.
Y aurai il parmi vous, quelqu'un qui soit familiarisé avec ça et qui puisse me dire ?
la librairie que vous pointez (faite pour le wifi shield) n'est pas la même que celle des ESP8266
faut regarder plutôt de ce côté là (jetez un oeil dans scanNetworks)
Scan for Networks
Scanning for networks takes hundreds of milliseconds to complete. This may be done in a single run when we are triggering scan process, waiting for completion, and providing result - all by a single function. Another option is to split this into steps, each done by a separate function. This way we can execute other tasks while scanning is in progress. This is called asynchronous scanning. Both methods of scanning are documented below
Ceci est mon premier post, petite présentation sommaire : Jean-Claude, 40 ans, travaillant dans les réseaux informatiques. Je suis loin d'être un vrai dev, je me limite habituellement à faire quelques scripts.
J'ai besoin d'aide car je bute sur ce que j'espère être une bricole.
J'ai un ESP8266 qui est client d'un réseau wifi "wifi01". Pas de soucis.
Je souhaite mesurer avec cet ESP le RSSI d'autres réseaux wifi (sur lesquels je ne me connecterai pas).
Pour le moment je scanne les réseaux à proximité (WiFi.scanNetworks();
) et je passe cette liste de réseaux en revue pour en mesurer le RSSI. Ça fonctionne parfaitement. Le seul problème c'est que le scan dure un peu plus de 2 secondes. Dans mon application c'est trop long. Je pourrai me contenter de la moitié mais pas plus.
J'ai cru comprendre que le scan n'est pas nécessaire. D'autant plus que je connais les noms des réseaux que je veux mesurer et ils ne changent jamais.
J'ai trouvé ceci : WiFi - Arduino Reference
Si je comprend bien, il suffit de donner à la fonction WiFi.RSSI(); en paramètre le SSID du réseau dont je souhaite connaitre le RSSI ?
Bien entendu, je poste car cela ne fonctionne pas. Je ne dois forcement pas faire ce qu'il faut.
Y aurai il parmi vous, quelqu'un qui soit familiarisé avec ça et qui puisse me dire ?
En vous remerciant,
JC.
Bonsoir
sous l'iDE arduino et avec l'environnement ESP8266 (V2.3.0)
A ma connaissance il n'est pas possible d'avoir le RSSI d'un SSID "donné" sans passer par une phase de scan
Un SSID "identique" peut etre "presenté" par plusieurs BSSID
(I.e Cas des box qui diffusent par exemple les SSID FREEWIFI,orange, etc ) un petit log exemple
Je ne crois pas qu'il soit non plus possible de demander directement le RSSI d'un BSSID connu.
Mais je prend quand meme un joker
Artouste:
Je ne crois pas qu'il soit non plus possible de demander directement le RSSI d'un BSSID connu.
Mais je prend quand meme un joker
je ne crois pas non plus. il faut un premier SCAN (en scanNetworksAsync pour pas tout bloquer longtemps) et ensuite on peut interroger avec WiFi.RSSI(networkItem) ou networkItem est l'indice dans le tableau des réseaux trouvés
J-M-L:
je ne crois pas non plus. il faut un premier SCAN (en scanNetworksAsync pour pas tout bloquer longtemps) et ensuite on peut interroger avec WiFi.RSSI(networkItem) ou networkItem est l'indice dans le tableau des réseaux trouvés
Bonsoir J-M-L
Je n'ai pas approfondi, mais il me semble avoir lu qq part que les "RSSI" ne sont pas dynamiquement mis à jour.
la valeur renvoyé par un
WiFi.RSSI(networkItem)sera toujours la même pour le même indice,sans "nouveau scan"
ah c'est possible - j'ai jamais trop joué avec ça (parce que c'est tellement influencé par la présence d'obstacles que ça ne veut pas dire grand chose à mon avis (l'eau est un grand bloquer d'onde Wi-Fi dans ces fréquences et les humains sont constitués de bcp d'eau..)
J'ai fait des recherches de mon coté et effectivement on récupère le RSSI uniquement lors du scan.
Pour mettre à jour le RSSI, il faut impérativement refaire un scan !