<progress id="jlsnq"><code id="jlsnq"></code></progress>

<strong id="jlsnq"><del id="jlsnq"></del></strong>
    <mark id="jlsnq"></mark>

    <legend id="jlsnq"><table id="jlsnq"></table></legend>
    <small id="jlsnq"></small>
  • <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

      <strong id="jlsnq"></strong>

      24小時聯系電話:18217114652、13661815404

      中文

      您當前的位置:
      首頁>
      電子資訊>
      行業資訊>
      ESP8266 操作 WIFI 模...

      行業資訊

      ESP8266 操作 WIFI 模式


      ESP8266 操作 WIFI 模式

      我們將 ESP8266 連接到預先存在的 WIFI 網絡。它是項目中常用的方法,尤其是當有興趣訪問互聯網時。

      對于這些情況,ESP8266 作為網絡上的運行。但是我們可以找到沒有WIFI網絡連接的場景。在這些情況下,我們還可以使用 ESP8266 嗎?

      ESP8266 操作模式

      ESP8266 WiFi 模塊可以在 2 種不同模式下運行:

      STA (該模塊作為一個站運行,可用于連接到接入點)。

      AP (該模塊創建一個具有可自定義 SSID 和密碼的網絡。我們將討論每種模式的工作原理、其局限性以及如何使用

      STA模式

      我們使用 STA 模式將 ESP8266 連接到預先存在的 Wi-Fi 網絡。此連接由一個接入點建立,該接入點將負責管理信息流量。


      Arduino 平臺上配置和使用,我們使用 ESP8266WiFi.h 庫。該庫使用簡單且功能強大,為我們提供了配置 WiFi 模塊的所有工具,而不會讓我們用標志和寄存器過載。

      對于我們的配置,還有兩個相關的函數,begin() config()。

      開始()函數

      begin() 函數需要一些必要的參數,其他可選的。這是因為該函數屬于重載類型,在調用函數時提供了更大的靈活性。舉個更好的例子,讓我們看看 begin() 函數的完整形式和最小形式:

      完整形式:begin(ssid, password, channel, bssid, connect)

      最小形式:begin(ssid, password)

      相同的功能,兩種調用方式。兩者都有效。這是因為它是在庫中使用不止一種聲明格式構建的。

      我們來看看它接受的參數:

      SSID:我們要連接的網絡的名稱。必填字段,最多可包含 32

      password : 所選必填字段的密碼,必須在 8 64 個字符之間。

      channel:定義帶寬 此參數是可選的,在具有許多不同網絡的區域中很有用。選擇好的信道可以最大限度地減少干擾并增加網絡覆蓋范圍。如果省略,它將被自動選中。

      bssid:另外一個可選參數。如果設置為 true,該函數將返回它所連接的 AP MAC

      Connect:一個布爾參數,如果設置為 false,將保存函數中定義的參數,但不會連接到

      此信息將保存在 FLASH 的保留區域中,如果連接丟失,將自動嘗試重新連接。

      另一個重要的點是,默認情況下,該站被配置為 DHCP(動態主機配置協議)客戶端。這意味著在連接時,ESP8266 會向接入點詢問 IP 地址。如果 AP 啟用了 DHCP,我們將在那里配置的網絡范圍內收到一個隨機 IP。

      配置()函數

      config() 函數對于站點等連接不是必需的。但是,如果您想使用固定 IP 地址連接到網絡,則需要它。該函數具有以下格式:

      config(local_ip, gateway, subnet, dns1, dns2)其中參數代表:

      local_ip:我們要分配給

      網關:接入點 IP 地址。

      子網:我們將要訪問的網絡的 IP 掩碼

      dns1 dn2DNS 服務器(域名服務器)的 IP 地址的可選字段。

      當我們調用 config() 函數時,會自動禁用 DHCP 模式。然后站會強制使用我們選擇的地址。當通過沒有 DHCP 服務器的網絡連接時,或者當具有固定地址是基本項目要求時,此方法很有用。

      選擇IP地址和子網時需要小心,好像和網絡配置不兼容,我們會連接,但我們將無法與任何東西交互。

      在圖像中,我們有一個作為站的配置和連接代碼。


      接入點模式 (AP)

      AP 模式下,ESP8266 創建其 WiFi 網絡,允許站點連接到它。下圖應該可以幫助您更好地了解它的工作原理。ESP8266配置為AP,代替了路由器在網絡中的作用(有一定的局限性,但原理是一樣的)。

      嚴格來說,這種模式的名稱是Soft Access Point,因為作為AP的功能不使用任何等同于普通AP的硬件資源。它就像一個虛擬 AP。這不會影響健康,但會嚴重影響性能。

      主要限制是它可以管理的連接數。雖然廠商建議最多連接8個站,但是超過5個就會有嚴重的問題。如果你的應用數據流量很大,我建議你限制為4個連接。

      另一個限制是創建的網絡未連接到 Internet。因此請記住,這是適用于在本地網絡和少數設備上運行良好的應用程序的模型。

      這種格式的一個示例應用是訪問控制系統。用手機靠近,連接ESP8266網絡,獲得開門權限。

      設置此模式與設置站點非常相似。我們有一個用于開始的重載函數和另一個用于配置的重載函數。

      softAP() 函數

      它相當于我們的車站模式 begin() 函數。

      softAP(ssid):創建一個沒有密碼的開放網絡。

      softAP(ssid, password, channel, hidden, max_connection):創建一個受保護的網絡。

      讓我們為每個參數取一個:

      SSID:我們網絡的名稱,最多可以包含 63 這是角色中唯一的必填字段,不能為空。

      密碼:此字段包含工作站連接時需要輸入的密碼。如果沒有通知,網絡將是開放的,可以在沒有任何安全性的情況下訪問。如果包含一個,則必須至少包含 8 個字符,遵循 WPA2-PSK 網絡安全標準。

      Channel : 正如我們為站討論的,這個字段定義了 wifi 操作 它必須接收一個從 1 13 的數值。如果沒有通知,它將接收 1 作為默認值。

      Hidden : 如果設置為 true,SSID 將不可見且無法被標識符檢測到(例如在您手機的 WiFi 網絡列表中。如果站寫,網絡仍然可以連接

      Max_connection:定義允許的最大站數。接收從 0 8 的值,默認值為 4。

      softAPConfig() 函數

      此函數設置一些參考 IP 地址的參數。它的格式為:WiFi.softAPConfig(local_ip, gateway, subnet)

      其中參數代表:

      Local_ip : 接入點的 IP 地址

      網關:網關的IP 地址(這是站將用作交換機的地址)

      子網:定義 IP 范圍

      使用該代碼,您將配置一個對您的手機或計算機可見的簡單接入點。

      STA + AP 模式

      顧名思義,esp8266 將同時作為一個站點(能夠連接到網絡)和一個接入點(允許站點連接到它)運行。

      這種方法背后的目的是在網狀網絡配置中使用 esp8266。這個想法很有趣,但是如果作為 AP 運行時性能還不是很出色,可以想象為 AP STA。

      這種格式的文檔非常稀缺,在某種程度上,制造商本身已經放棄了。樂鑫在推出 ESP8266 的繼任者 ESP32 時,包含了一個特定的 MESH 庫。

      請輸入搜索關鍵字

      確定
      色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
      <progress id="jlsnq"><code id="jlsnq"></code></progress>

      <strong id="jlsnq"><del id="jlsnq"></del></strong>
        <mark id="jlsnq"></mark>

      <legend id="jlsnq"><table id="jlsnq"></table></legend>
      <small id="jlsnq"></small>
    1. <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

        <strong id="jlsnq"></strong>