Suite à la présentation dans un précédent article « Comment lire et générer un QrCode avec ZXing« , nous verrons comment utiliser ces mêmes QrCodes afin de connecter votre device à un réseau Wifi.

Procédure:


  1. On génère un QrCode qui contient le SSID du réseau ainsi que sa Clé, le tout sérialisé en JSon.
  2. On fait appel à la bibliothèque ZXing afin de lire et décoder le QrCode.
  3. On fait appel à la biliothèque WiFiAdapter de WinRT afin de se connecter au réseau correspondant.

Générer le QrCode contenant les informations de connexion


Pour rappel, notre projet est une applicaiton universelle (UWP) qui possède une unique vue contenant:

  • Un bouton pour générer le QrCode
  • Un contrôle image afin d’afficher le QrCode

Le projet détaillé est présent dans l’article: lire et générer un QrCode avec ZXing

  • Dans notre cas, on crée un simple dictionnaire contenant 2 clés: ssid et passphrase.
  • Ce dictionnaire est ensuite sérialisé en JSon à l’aide de la bibliothèque de newtonsoft.
  • On crée ensuite le QrCode contenant nos informations à l’aide de la bibliothèque ZXing.

Lire et déchiffrer Le QrCode


  • On fait appel à la bibliothèque ZXing afin de lire et déchiffrer le QrCode avec la méthode Scan() .
  • On déserialize notre objet JSon vers un dictionnaire de chaînes de caractères à l’aide de la bibliothèque de newtonsoft.
  • On fait appel à la méthode qui nous connectera au réseau Wifi en lui transmettant le SSID du réseau ainsi que sa passphrase

Se connecter à un réseau Wifi à l’aide d’un SSID et d’une passphrase


On entre dans le vif du sujet.  Maintenant qu’on a le SSID ainsi que la passphase du réseau sur lequel on souhaite se connecter, on fait appel à la bibliothèque WiFiAdapter de WinRt .

  • On fait appel à la méthode

    afin de récupérer les cartes wifi disponibles sur notre device.
  • On lance ensuite le scan des réseaux visibles par la méthode

    de la bibliothèque native DeviceInformation . Attention il s’agit d’une méthode asynchrone.
  • On vérifie si notre réseau est disponible dans la liste des réseaux trouvés
  • Si notre réseau est disponible, on s’y connecte en précisant le SSID et la passphrase sous forme de PasswordCredential

Et voilà sauf erreur, le device est maintenant connecté au réseau précisé.

Résumé


  • On utilise la bibliothèque ZXing afin de créer et déchiffrer les QrCode
  • Pour se connecter au réseau on a besoin de son SSID ainsi que de sa passphrase
  • On récupère les cartes wifi disponibles puis on scan les réseaux disponibles
  • On utilise la méthode ConnectAsync de l’adaptateur en lui précisant le SSID et la passphrase du réseau.