Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

WLAN-Bibliothek - Kostenlos RTOS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

WLAN-Bibliothek

Wichtig

Diese Bibliothek wird im RTOS Amazon-Free-Repository gehostet, das veraltet ist. Wir empfehlen, dass Sie hier beginnen, wenn Sie ein neues Projekt erstellen. Wenn Sie bereits über ein bestehendes kostenloses RTOS Projekt verfügen, das auf dem inzwischen veralteten RTOS Amazon-Free-Repository basiert, finden Sie weitere Informationen unter. Leitfaden zur Migration des kostenlosen RTOS Github-Repositorys von Amazon

Übersicht

Die Free RTOS Wi-Fi-Bibliothek fasst portspezifische Wi-Fi-Implementierungen zu einer gemeinsamen Lösung zusammenAPI, die die Anwendungsentwicklung und Portierung für alle Free-qualifizierten Mainboards mit Wi-Fi-Funktionen vereinfacht. RTOS Mithilfe dieser gemeinsamen API Schnittstelle können Anwendungen über eine gemeinsame Schnittstelle mit ihrem Wireless-Stack auf niedrigerer Ebene kommunizieren.

Abhängigkeiten und Anforderungen

Die Free RTOS Wi-Fi-Bibliothek benötigt den Free RTOS + TCP Core.

Features

Die WLAN-Bibliothek enthält die folgenden Funktionen:

  • Support für WEPWPA,WPA2, und WPA3 Authentifizierung

  • Zugriffspunkt-Scanning

  • Energiemanagement

  • Netzwerk-Profiling

Weitere Informationen zu den Funktionen der WLAN-Bibliothek finden Sie unten.

WLAN-Modi

WLAN-Geräte können sich in einem von drei Modi befinden: Station, Zugriffspunkt oder P2P. Sie können den aktuellen Modus eines WLAN-Geräts abrufen, indem Sie WIFI_GetMode aufrufen. Sie können den WLAN-Modus eines Geräts festlegen, indem Sie WIFI_SetMode aufrufen. Das Umschalten des Modus durch Aufruf von WIFI_SetMode trennt das Gerät (wenn es bereits mit einem Netzwerk verbunden ist).

Stationsmodus

Stellen Sie Ihr Gerät auf Stationsmodus ein, um die Karte mit einem vorhandenen Zugriffspunkt zu verbinden.

Access Point (AP)-Modus

Stellen Sie Ihr Gerät auf AP-Modus ein, um das Gerät zu einem Zugriffspunkt zu machen, über das andere Geräte eine Verbindung herstellen können. Wenn sich Ihr Gerät im AP-Modus befindet, können Sie ein anderes Gerät mit Ihrem RTOS Free-Gerät verbinden und die neuen Wi-Fi-Anmeldeinformationen konfigurieren. Rufen Sie WIFI_ConfigureAP auf, um den AP-Modus zu konfigurieren. Rufen Sie WIFI_StartAP auf, um Ihr Gerät in den AP-Modus zu versetzen. Rufen Sie WIFI_StopAP auf, um den AP-Modus zu deaktivieren.

Anmerkung

Kostenlose RTOS Bibliotheken bieten keine Wi-Fi-Bereitstellung im AP-Modus. Sie müssen die zusätzlichen Funktionen, einschließlich DHCP HTTP Serverfunktionen, bereitstellen, um den AP-Modus vollständig unterstützen zu können.

P2P-Modus

Stellen Sie Ihr Gerät auf P2P-Modus ein, um mehreren Geräten zu erlauben, sich miteinander ohne Zugriffspunkt zu verbinden.

Sicherheit

Das WLAN API unterstützt die WPA3 Sicherheitstypen WEP WPAWPA2,, und. Wenn sich ein Gerät im Stationsmodus befindet, müssen Sie beim Aufruf der Funktion WIFI_ConnectAP den Netzwerksicherheitstyp angeben. Wenn sich ein Gerät im AP-Modus befindet, kann das Gerät so konfiguriert werden, dass es einen der unterstützten Sicherheitstypen verwendet:

  • eWiFiSecurityOpen

  • eWiFiSecurityWEP

  • eWiFiSecurityWPA

  • eWiFiSecurityWPA2

  • eWiFiSecurityWPA3

Scannen und Verbinden

Um nach nahegelegenen Zugriffspunkten zu suchen, stellen Sie Ihr Gerät auf Stationsmodus und rufen Sie die Funktion WIFI_Scan auf. Wenn Sie über den Scan ein gewünschtes Netzwerk finden, können Sie sich mit dem Netzwerk verbinden, indem Sie WIFI_ConnectAP aufrufen und die Anmeldeinformationen für das Netzwerk angeben. Sie können ein WLAN-Gerät vom Netzwerk trennen, indem Sie WIFI_Disconnect aufrufen. Weitere Informationen zum Scannen und Verbinden finden Sie unter Beispielverwendung und API-Referenz.

Energiemanagement

Verschiedene WLAN-Geräte haben unterschiedliche Energieanforderungen – je nach Anwendung und Stromquellen. Ein Gerät kann immer eingeschaltet sein (um die Latenz zu reduzieren) oder es kann intermittierend verbunden sein und in einen Energiesparmodus wechseln, wenn WLAN nicht erforderlich ist. Die Schnittstelle API unterstützt verschiedene Energieverwaltungsmodi wie Always-On, Low-Power-Modus und Normalmodus. Sie legen den Energiesparmodus für ein Gerät mit der Funktion WIFI_SetPMMode fest. Den aktuellen Energiesparmodus eines Gerätes erhalten Sie durch Aufruf der Funktion WIFI_GetPMMode.

Netzwerkprofile

Mit der WLAN-Bibliothek können Sie Netzwerkprofile im nichtflüchtigen Speicher Ihrer Geräte speichern. Auf diese Weise können Sie Netzwerkeinstellungen speichern, damit sie abgerufen werden können, wenn sich ein Gerät wieder mit einem WLAN-Netzwerk verbindet. So ist es nicht mehr erforderlich, Geräte erneut bereitzustellen, nachdem sie mit einem Netzwerk verbunden wurden. WIFI_NetworkAdd fügt ein Netzwerkprofil hinzu. WIFI_NetworkGet ruft ein Netzwerkprofil ab. WIFI_NetworkDel löscht ein Netzwerkprofil. Die Anzahl der speicherbaren Profile hängt von der Plattform ab.

Konfiguration

Um die WLAN-Bibliothek nutzen zu können, müssen Sie mehrere IDs in einer Konfigurationsdatei definieren. Weitere Informationen zu diesen IDs finden Sie unter API-Referenz.

Anmerkung

Die Bibliothek enthält nicht die erforderliche Konfigurationsdatei. Sie müssen eine erstellen. Achten Sie bei der Erstellung Ihrer Konfigurationsdatei darauf, dass Sie alle Board-spezifischen Konfigurationskennungen angeben, die Ihr Board benötigt.

Initialisierung

Bevor Sie die Wi-Fi-Bibliothek verwenden können, müssen Sie zusätzlich zu den kostenlosen RTOS Komponenten einige platinenspezifische Komponenten initialisieren. Gehen Sie unter Verwendung der Datei vendors/vendor/boards/board/aws_demos/application_code/main.c als Vorlage für die Initialisierung wie folgt vor:

  1. Entfernen Sie die Beispiel-WLAN-Verbindungslogik in main.c, wenn Ihre Anwendung WLAN-Verbindungen verarbeitet. Ersetzen Sie den folgenden DEMO_RUNNER_RunDemos()-Funktionsaufruf:

    if( SYSTEM_Init() == pdPASS ) { ... DEMO_RUNNER_RunDemos(); ... }

    Mit einem Aufruf Ihrer eigenen Anwendung:

    if( SYSTEM_Init() == pdPASS ) { ... // This function should create any tasks // that your application requires to run. YOUR_APP_FUNCTION(); ... }
  2. Rufen Sie WIFI_On() auf, um Ihren WLAN-Chip zu initialisieren und einzuschalten.

    Anmerkung

    Einige Boards erfordern möglicherweise zusätzliche Hardware-Initialisierung.

  3. Übergeben Sie eine konfigurierte WIFINetworkParams_t-Struktur an WIFI_ConnectAP(), um Ihr Board mit einem verfügbaren WLAN-Netzwerk zu verbinden. Weitere Informationen zu der WIFINetworkParams_t-Struktur finden Sie unter Beispielverwendung und API-Referenz.

API-Referenz

Eine vollständige API Referenz finden Sie unter APIWi-Fi-Referenz.

Beispielverwendung

Herstellen einer Verbindung zu einem bekannten AP

#define clientcredentialWIFI_SSID "MyNetwork" #define clientcredentialWIFI_PASSWORD "hunter2" WIFINetworkParams_t xNetworkParams; WIFIReturnCode_t xWifiStatus; xWifiStatus = WIFI_On(); // Turn on Wi-Fi module // Check that Wi-Fi initialization was successful if( xWifiStatus == eWiFiSuccess ) { configPRINT( ( "WiFi library initialized.\n") ); } else { configPRINT( ( "WiFi library failed to initialize.\n" ) ); // Handle module init failure } /* Setup parameters. */ xNetworkParams.pcSSID = clientcredentialWIFI_SSID; xNetworkParams.ucSSIDLength = sizeof( clientcredentialWIFI_SSID ); xNetworkParams.pcPassword = clientcredentialWIFI_PASSWORD; xNetworkParams.ucPasswordLength = sizeof( clientcredentialWIFI_PASSWORD ); xNetworkParams.xSecurity = eWiFiSecurityWPA2; // Connect! xWifiStatus = WIFI_ConnectAP( &( xNetworkParams ) ); if( xWifiStatus == eWiFiSuccess ) { configPRINT( ( "WiFi Connected to AP.\n" ) ); // IP Stack will receive a network-up event on success } else { configPRINT( ( "WiFi failed to connect to AP.\n" ) ); // Handle connection failure }

Suche nach in der Nähe APs

WIFINetworkParams_t xNetworkParams; WIFIReturnCode_t xWifiStatus; configPRINT( ("Turning on wifi...\n") ); xWifiStatus = WIFI_On(); configPRINT( ("Checking status...\n") ); if( xWifiStatus == eWiFiSuccess ) { configPRINT( ("WiFi module initialized.\n") ); } else { configPRINTF( ("WiFi module failed to initialize.\n" ) ); // Handle module init failure } WIFI_SetMode(eWiFiModeStation); /* Some boards might require additional initialization steps to use the Wi-Fi library. */ while (1) { configPRINT( ("Starting scan\n") ); const uint8_t ucNumNetworks = 12; //Get 12 scan results WIFIScanResult_t xScanResults[ ucNumNetworks ]; xWifiStatus = WIFI_Scan( xScanResults, ucNumNetworks ); // Initiate scan configPRINT( ("Scan started\n") ); // For each scan result, print out the SSID and RSSI if ( xWifiStatus == eWiFiSuccess ) { configPRINT( ("Scan success\n") ); for ( uint8_t i=0; i<ucNumNetworks; i++ ) { configPRINTF( ("%s : %d \n", xScanResults[i].cSSID, xScanResults[i].cRSSI) ); } } else { configPRINTF( ("Scan failed, status code: %d\n", (int)xWifiStatus) ); } vTaskDelay(200); }

Portierung

Die Implementierung von iot_wifi.c muss die in iot_wifi.h definierten Funktionen implementieren. Zumindest muss die Implementierung eWiFiNotSupported für alle nicht wesentlichen oder nicht unterstützten Funktionen zurückgeben.

Weitere Informationen zur Portierung der Wi-Fi-Bibliothek finden Sie unter Portierung der Wi-Fi-Bibliothek im kostenlosen RTOS Portierungsleitfaden.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.