Portage de la bibliothèque Wi-Fi Library - FreeRTOS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Portage de la bibliothèque Wi-Fi Library

La bibliothèque Wi-Fi FreeRTOS communique avec des pilotes Wi-Fi provenant d'un fournisseur. Pour plus d'informations sur la bibliothèque Wi-Fi FreeRTOS, consultezBibliothèque Wi-Fi FreeRTOSdans le guide de l'utilisateur de FreeRTOS.

Si votre appareil ne prend pas en charge la mise en réseau Wi-Fi, vous pouvez ignorer le portage la bibliothèque Wi-Fi FreeRTOS et démarrerPortage d'une pile TCP/IP.

Note

À des fins de qualification, votre appareil doit se connecter au AWS cloud. Si votre appareil ne prend pas en charge le Wi-Fi, vous pouvez utiliser une connexion Ethernet à la place. Un portage de la bibliothèque Wi-Fi FreeRTOS n'est pas obligatoire.

Prerequisites

Pour effectuer le portage de la bibliothèque Wi-Fi, vous avez besoin des éléments suivants :

Porting

freertos/vendors/vendor/boards/board/ports/wifi/iot_wifi.c contient des définitions vides d'un ensemble de fonctions de gestion Wi-Fi. Utilisez la bibliothèque de pilotes Wi-Fi provenant de fournisseurs pour implémenter au moins le jeu de fonctions répertoriées dans le tableau suivant.

Fonction Description
WIFI_On Active le module Wi-Fi et initialise les pilotes.
WIFI_ConnectAP Connexion au point d'accès Wi-Fi (PA).
WIFI_Disconnect Déconnexion d’un PA.
WIFI_Scan Réalisation d’un balayage réseau Wi-Fi.
WIFI_GetIP Récupération de l’adresse IP de l’interface Wi-Fi.
WIFI_GetMAC Récupération de l’adresse MAC de l'interface Wi-Fi.
WIFI_GetHostIP Récupération de l'adresse IP de l'hôte à partir d'un nom d'hôte utilisant un DNS.

freertos/libraries/abstractions/wifi/include/⁠iot_wifi.h fournit les informations requises pour mettre en œuvre ces fonctions.

Testing

Si vous utilisez un IDE pour générer des projets de test, vous devez configurer le portage de votre bibliothèque dans le projet IDE.

Configuration du projet de test IDE

Si vous utilisez un IDE pour le portage et le test, vous devez ajouter des fichiers source au projet de test IDE avant de pouvoir tester le code porté.

Important

Dans les étapes suivantes, assurez-vous d’ajouter les fichiers source à votre projet IDE depuis leur emplacement sur disque. Ne créez pas de copies de vos fichiers source.

Pour configurer la bibliothèque Wi-Fi dans le projet IDE

  1. Ajoutez le fichier source freertos/vendors/vendor/boards/board/ports/wifi/iot_wifi.c à votre projet IDE aws_tests.

  2. Ajoutez le fichier source aws_test_wifi.c au projet IDE aws_tests.

Configuration du fichier CMakeLists.txt

Si vous utilisez CMake pour générer votre projet de test, vous devez définir une cible de couche portable pour la bibliothèque dans votre fichier de liste CMake.

Pour définir la cible de couche portable d'une bibliothèque dans CMakeLists.txt, suivez les instructions de Couches portables FreeRTOS.

Le fichier de liste de modèles CMakeLists.txt sous freertos/vendors/vendor/boards/board/CMakeLists.txt inclut des exemples de définition cible de couche portable. Vous pouvez supprimer la mise en commentaire de la définition de la bibliothèque que vous portez et modifier celle-ci pour qu'elle corresponde à votre plateforme.

Voici un exemple de définition cible d'une couche portable pour la bibliothèque Wi-Fi.

# WiFi afr_mcu_port(wifi) target_sources( AFR::wifi::mcu_port INTERFACE "freertos/vendors/vendor/boards/board/ports/wifi/iot_wifi.c" )

Configuration de votre environnement de test local

Après avoir configuré la bibliothèque dans votre projet IDE, vous devez configurer des fichiers à tester.

Pour la configuration des fichiers source et d'en-tête pour les tests Wi-Fi

  1. Ouvrez freertos/vendors/vendor/boards/board/aws_tests/application_code/main.c et supprimez les directives du compilateur #if 0 et #endif dans les définitions de fonction de vApplicationDaemonTaskStartupHook(void) et prvWifiConnect(void).

  2. Si vous n'avez pas procédé au portage de la bibliothèque Secure Sockets, ouvrez freertos/libraries/freertos_plus/standard/utils/src/iot_system_init.c et commentez la ligne qui appelle SOCKETS_Init(). Lorsque vous atteindrez la section Portage de la bibliothèque Secure Sockets, vous serez invité à supprimer la mise en commentaire de cet appel de fonction d'initialisation.

  3. Ouvrez freertos/tests/include/aws_clientcredential.h et définissez les macros dans le tableau suivant pour le premier PA.

    Macro Value
    clientcredentialWIFI_SSID Le SSID Wi-Fi sous la forme d'une chaîne C (entre guillemets).
    clientcredentialWIFI_PASSWORD Le mot de passe Wi-Fi sous la forme d’une chaîne C (entre guillemets).
    clientcredentialWIFI_SECURITY L'un des éléments suivants :
    • eWiFiSecurityOpen

    • eWiFiSecurityWEP

    • eWiFiSecurityWPA

    • eWiFiSecurityWPA2

    eWiFiSecurityWPA2 est recommandé.

  4. Ouvrez freertos/libraries/abstractions/wifi/test/aws_test_wifi.h et définissez les macros dans le tableau suivant pour le deuxième PA.

    Macro Value
    testWIFI_SSID Le SSID Wi-Fi sous la forme d'une chaîne C (entre guillemets).
    testWIFI_PASSWORD Le mot de passe Wi-Fi sous la forme d’une chaîne C (entre guillemets).
    testWIFI_SECURITY L'un des éléments suivants :
    • eWiFiSecurityOpen

    • eWiFiSecurityWEP

    • eWiFiSecurityWPA

    • eWiFiSecurityWPA2

    eWiFiSecurityWPA2 est recommandé.

  5. Pour activer les tests Wi-Fi, ouvrez freertos/vendors/vendor/boards/board/aws_tests/config_files/aws_test_runner_config.h et définissez le paramètre testrunnerFULL_WIFI_ENABLED sur 1.

    Important

    Les tests suivants nécessitent un portage de la bibliothèque Secure Sockets et une exécution du serveur echo :

    • WiFiConnectionLoop

    • WiFiIsConnected

    • WiFiConnectMultipleAP

    Vous ne pourrez pas réussir ces tests tant que vous n'aurez pas procédé au portage de la bibliothèque Secure Sockets et démarré un serveur echo. Une fois que vous effectué le portage de la Secure Sockets et démarré un serveur echo, exécutez de nouveau la commande echo Wi-Fi pour vérifier que tous les tests sont concluants. Pour plus d'informations sur le portage de la bibliothèque Secure Sockets, consultez Portage de la bibliothèque Secure Sockets. Pour plus d'informations sur la configuration d'un serveur echo, consultez la section Configuration d'un serveur echo.

Exécution des tests

Pour exécuter les tests Wi-Fi

  1. Générez le projet de test, puis flashez-le sur votre appareil pour l'exécuter.

  2. Vérifiez les résultats de test dans la console UART.

    ...

Validation

Pour qualifier officiellement un périphérique pour FreeRTOS, vous devez valider le code source porté du périphérique avecAWS IoTDevice Tester. Suivez les instructions de la sectionUtiliserAWS IoTDevice Tester pour FreeRTOSdans le guide de l'utilisateur de FreeRTOS afin de configurer Device Tester pour la validation de port. Pour tester le port d'une bibliothèque spécifique, le groupe de test correct doit être activé dans le fichier device.json du dossier configs de Device Tester.

Une fois que vous avez terminé le portage de la bibliothèque Wi-Fi FreeRTOS sur votre appareil, vous pouvez démarrer le portage d'une pile TCP/IP. Pour obtenir des instructions, veuillez consulter Portage d'une pile TCP/IP.