Et c’est reparti : mes robots n’arrivent plus à se connecter à mon réseau Wifi. L’aventure avait commencé la.
J’ai donc ressayé les mêmes procédures :
changement de canal Wifi : ça marche pas
reboot du routeur : ça marche pas
inversion des batteries : ça marche pas
J’étais dans l’expectative. Et puis je me suis demandé si je pouvais automatiser la configuration des robots...
En regardant la doc des web services (qu’on peut encore trouver sur le net), j’ai vu qu’il y avait un web service pour configurer cette connexion !!! Il y en a meme un autre pour scanner les reseaux wifi environnants !!!
Donc, l’appli android de configuration doit utiliser ces web services.
Reste à automatiser :
1 : on se connecte au reseau Wifi du robot (via un raspberry 3 qui est connecté au reseau local via du RJ45 et qui peut donc se connecter en Wifi sur un autre réseau)
#activation de l’interface reseau /sbin/ifconfig wlan0 up #scan du wifi /sbin/iw dev wlan0 scan | grep <ssid_du_robot> #connection au reseau /usr/bin/nmcli d wifi connect
On voit qu’il faut installer Network-Manager, donc attention à vos parametrages réseau ...
2 : envoyer la config au robot via le web service. Et on a un nouveau probleme : le reseau affecte un ip en 192.168.0.100 alors que le robot est en 192.168.1.3 !!! Bizarre, non ?
3 : ajouter une route pour pouvoir communiquer avec le robot
/sbin/route add -net 192.168.1.3 netmask 255.255.255.255 gw 192.168.1.3 dev wlan0
4 : envoyer la config via un curl
/usr/bin/curl http://192.168.1.3/configure.json -d "name=irobot_no_1&ssid=ssid_de_mon_routeur&sec=wpa&key=mot_de_passe_de_mon_routeur
ET CA MARCHE !!!
J’ai ensuite mis tout ça dans un beau script qui fait pas mal d’autres choses (test via un ping, log, etc...) et j’ai automatisé tout ça avec un cron. J’ai eu pas mal de reconnexions pendant 24 h et puis, tout est redevenu normal : les robots ont gardé leur configuration...
Je soupçonne maintenant un petit malin qui tente de casser des wifi (le piratage de wifi demande de lancer commande de desauthentification pour récupérer le handshake)
Au moins, maintenant, mes robots restent connectés, je vais pouvoir me lancer à la chasse au pirate ;-)