91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談Zephyr ESP32 wifi如何使用

ZephyrProject ? 來(lái)源:ZephyrProject ? 作者:ZephyrProject ? 2021-06-01 10:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在Zephyr ESP32 wifi驅(qū)動(dòng)簡(jiǎn)析一文中簡(jiǎn)要分析了esp32 wifi如何集成進(jìn)Zephyr,本文接著說(shuō)明要如何使用esp32 wifi。

從前文可知由于esp32 wifi的驅(qū)動(dòng)和ethernt L2對(duì)接,因此在zephyr下只要通過(guò)簡(jiǎn)單的配置就可以在應(yīng)用層使用socket通過(guò)wifi進(jìn)行網(wǎng)絡(luò)通信,而不需要去關(guān)心esp32 wifi驅(qū)動(dòng)的細(xì)節(jié)。

配置方法

進(jìn)行下面配置后開(kāi)機(jī),esp32就會(huì)自動(dòng)取連接配置好的WIFI,并拿到IP地址,之后應(yīng)用通過(guò)socket編程即可

1

2

# 配置啟動(dòng)WIFI,使用ESP32 WIFI,必須

CONFIG_WIFI=y

CONFIG_WIFI_ESP32=y

# 配置使用網(wǎng)絡(luò)和L2 Ethernet, 必須

CONFIG_NETWORKING=y

CONFIG_NET_L2_ETHERNET=y

# IPV4/IPV6任選, 必須

CONFIG_NET_IPV6=n

CONFIG_NET_IPV4=y

# DHCP開(kāi)啟,可選

CONFIG_NET_DHCPV4=y

# 開(kāi)啟DHCP后要使用NET_MGMT通知DHCP完成

CONFIG_NET_MGMT=y

CONFIG_NET_MGMT_EVENT=y

# hal esp的wpa_supplicant依賴mbedtls,必須

CONFIG_MBEDTLS=y

CONFIG_MBEDTLS_ENTROPY_ENABLED=y

CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y

CONFIG_MBEDTLS_ECP_ALL_ENABLED=y

# 配置連接WIFI的SSID和密碼,必須

CONFIG_ESP32_WIFI_SSID=“myssid”

CONFIG_ESP32_WIFI_PASSWORD=“mypassword”

# 配置自動(dòng)啟動(dòng)WIFI連接,非必須,如果不配置需要另外添加代碼使用esp hal API進(jìn)行連接

CONFIG_ESP32_WIFI_STA_AUTO=y

示例測(cè)試

使用samples etsocketsdumb_http_server 示例來(lái)演示esp32 作為server,電腦可以通過(guò)wifi訪問(wèn)該server.

電腦IP 192.168.101.108

Zephyr server IP 192.168.101.105

修改配置

1

2

3

4

5

6

# Network driver config

CONFIG_TEST_RANDOM_GENERATOR=y

# Network address config

CONFIG_NET_CONFIG_SETTINGS=y

CONFIG_WIFI=y

CONFIG_WIFI_ESP32=y

CONFIG_HEAP_MEM_POOL_SIZE=98304

CONFIG_NETWORKING=y

CONFIG_NET_L2_ETHERNET=y

CONFIG_NET_IPV6=n

CONFIG_NET_IPV4=y

CONFIG_NET_DHCPV4=y

CONFIG_NET_TCP=y

CONFIG_NET_SOCKETS=y

CONFIG_NET_SOCKETS_POSIX_NAMES=y

CONFIG_NET_MGMT=y

CONFIG_NET_MGMT_EVENT=y

CONFIG_NET_LOG=y

CONFIG_NET_SHELL=y

CONFIG_MBEDTLS=y

CONFIG_MBEDTLS_ENTROPY_ENABLED=y

CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y

CONFIG_MBEDTLS_ECP_ALL_ENABLED=y

CONFIG_ESP32_WIFI_SSID=“AP8”

CONFIG_ESP32_WIFI_PASSWORD=“2885887452”

CONFIG_ESP32_WIFI_STA_AUTO=y

# Networking tweaks

# Required to handle large number of consecutive connections,

# e.g. when testing with ApacheBench.

CONFIG_NET_TCP_TIME_WAIT_DELAY=0

# Network debug config

CONFIG_NET_LOG=y

#CONFIG_NET_SHELL=y

編譯代碼并下載

1

2

west build -p -b esp32 zephyrproject/zephyr/samples/net/sockets/dumb_http_server

west flash --esp-device /dev/ttyS11

運(yùn)行l(wèi)og, 最后幾句Connection,就是PC瀏覽器在訪問(wèn)server

1

2

3

4

5

uart:~$ I (828) wifi:wifi driver task: 3ffb2280, prio:2, stack:3584, core=0

I (829) wifi:wifi firmware version: 1865b55

I (829) wifi:wifi certification version: v7.0

I (831) wifi:config NVS flash: disabled

I (835) wifi:config nano formating: disabled

I (839) wifi:Init data frame dynamic rx buffer num: 32

I (843) wifi:Init management frame dynamic rx buffer num: 32

I (849) wifi:Init management short buffer num: 32

I (853) wifi:Init dynamic tx buffer num: 32

I (857) wifi:Init static rx buffer size: 1600

I (861) wifi:Init static rx buffer num: 10

I (865) wifi:Init dynamic rx buffer num: 32

phy_version: 4500, 0cd6843, Sep 17 2020, 1507, 0, 2

I (1001) wifi:mode : softAP (c457f8:dd)

I (1002) wifi:Total power save buffer number: 16

I (1002) wifi:Init max length of beacon: 752/752

I (1007) wifi:Init max length of beacon: 752/752

I (1012) wifi:mode : sta (c457f8:dc

*** Booting Zephyr OS build v2.6.0-rc1-300-g6ce0f2ee6606 ***

Single-threaded dumb HTTP server waits for a connection on port 8080.。。

I (1137) wifi《1,0》, old:《1,1》, ap:《255,255》, sta:《1,0》, prof:1

I (1785) wifi init -》 auth (b0)

I (1831) wifi auth -》 assoc (0)

I (1835) wifi assoc -》 run (10)

[0001.020,000] 《inf》 net_config: Initializing network

[0001.020,000] 《inf》 net_config: Waiting interface 1 (0x3ffb01f8) to be up.。。

I (2044) wifi:connected with AP8, aid = 1, channel 1, BW20, bssid = c0dd89:7f

I (2044) wifi WPA2-PSK, phy: bgn, rssi: -53

I (2047) wifi:pm start, type: 1

[0001.023,000] 《inf》 esp_event: WIFI_EVENT_STA_START

[0001.023,000] 《inf》 net_config: Interface 1 (0x3ffb01f8) coming up

[0001.023,000] 《inf》 net_config: Running dhcpv4 client.。。

uart:~$ I (2120) wifi:AP‘s beacon interval = 102400 us, DTIM period = 1

[0002.051,000] 《inf》 esp_event: WIFI_EVENT_STA_CONNECTED

[0006.220,000] 《inf》 net_dhcpv4: Received: 192.168.101.105

[0006.220,000] 《inf》 net_config: IPv4 address: 192.168.101.105

[0006.220,000] 《inf》 net_config: Lease time: 7200 seconds

[0006.220,000] 《inf》 net_config: Subnet: 255.255.255.0

[0006.220,000] 《inf》 net_config: Router: 192.168.101.1

uart:~$ Connection #0 from 192.168.101.108

Connection from 192.168.101.108 closed

Connection #1 from 192.168.101.108

Connection from 192.168.101.108 closed

電腦瀏覽器訪問(wèn)http://192.168.101.105:8080/結(jié)果

Net Shell測(cè)試ping電腦結(jié)果:

1

2

3

4

5

uart:~$ net ping 192.168.101.108

PING 192.168.101.108

28 bytes from 192.168.101.108 to 192.168.101.105: icmp_seq=0 ttl=128 time=153 ms

28 bytes from 192.168.101.108 to 192.168.101.105: icmp_seq=1 ttl=128 time=30 ms

28 bytes from 192.168.101.108 to 192.168.101.105: icmp_seq=2 ttl=128 time=7 ms

其它

再次說(shuō)明由于Zephyr沒(méi)有對(duì)esp32的scan/connect/disconnect進(jìn)行集成封裝,如果應(yīng)用中要做wifi管理,需要應(yīng)用程序直接調(diào)用esp hal API來(lái)實(shí)現(xiàn)。例如,如果沒(méi)有配置CONFIG_ESP32_WIFI_STA_AUTO=y, 就需要在應(yīng)用代碼中加入下面流程,才能完成wifi連接

1

if (!IS_ENABLED(CONFIG_ESP32_WIFI_STA_AUTO)) {

wifi_config_t wifi_config = {

.sta = {

.ssid = CONFIG_ESP32_WIFI_SSID,

.password = CONFIG_ESP32_WIFI_PASSWORD,

},

};

esp_err_t ret = esp_wifi_set_mode(WIFI_MODE_STA);

ret |= esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config);

ret |= esp_wifi_connect();

if (ret != ESP_OK) {

LOG_ERR(“connection failed”);

}

}

如果應(yīng)用要用socket編程,需要添加下面配置項(xiàng)

1

2

CONFIG_NET_SOCKETS=y

CONFIG_NET_SOCKETS_POSIX_NAMES=y

參考

https://docs.zephyrproject.org/latest/samples/boards/esp32/wifi_station/README.html

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2167

    瀏覽量

    159299
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1862

    瀏覽量

    155801
  • 電腦
    +關(guān)注

    關(guān)注

    16

    文章

    1811

    瀏覽量

    71990
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73944

原文標(biāo)題:Zephyr ESP32 wifi使用簡(jiǎn)述

文章出處:【微信號(hào):ZephyrProject,微信公眾號(hào):ZephyrProject】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    無(wú)需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!

    無(wú)需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設(shè)備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?805次閱讀
    無(wú)需安裝!在瀏覽器里就能玩轉(zhuǎn)<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266,這個(gè)神器絕了!

    ESP32 Wi-Fi 控制 LED 燈的原理

    在智能家居、物聯(lián)網(wǎng)設(shè)備中,用手機(jī)通過(guò)Wi-Fi控制燈光、風(fēng)扇或插座,已經(jīng)非常普遍。而在嵌入式開(kāi)發(fā)中,ESP32是最常用的Wi-Fi模塊之一。本文將帶你系統(tǒng)理解:ESP32是如何通過(guò)Wi-Fi實(shí)現(xiàn)遠(yuǎn)程
    的頭像 發(fā)表于 01-09 19:04 ?282次閱讀
    <b class='flag-5'>ESP32</b> Wi-Fi 控制 LED 燈的原理

    ESP32藍(lán)牙驅(qū)動(dòng)MAX98357對(duì)音頻音樂(lè)播放

    本文介紹了MAX98357音頻模塊的基本特性,并利用ESP32的藍(lán)牙功能程序驅(qū)動(dòng)此模塊,最后用手機(jī)藍(lán)牙連接ESP32播放手機(jī)音樂(lè)
    的頭像 發(fā)表于 12-19 19:55 ?2633次閱讀
    <b class='flag-5'>ESP32</b>藍(lán)牙驅(qū)動(dòng)MAX98357對(duì)音頻音樂(lè)播放

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件
    的頭像 發(fā)表于 11-28 07:27 ?2288次閱讀

    #ESP32S3野牛小智

    ESP32
    丙丁先生
    發(fā)布于 :2025年11月25日 08:34:06

    ESP32-WROOM-32 技術(shù)規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《ESP32-WROOM-32 技術(shù)規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 11-11 17:27 ?0次下載

    ESP8266和ESP32開(kāi)發(fā)板常見(jiàn)的2種下載方式

    ESP32ESP8266是性價(jià)比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項(xiàng)目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz
    的頭像 發(fā)表于 11-10 20:30 ?954次閱讀
    <b class='flag-5'>ESP</b>8266和<b class='flag-5'>ESP32</b>開(kāi)發(fā)板常見(jiàn)的2種下載方式

    樂(lè)鑫ESP32-C6和ESP32-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    樂(lè)鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多協(xié)議樞紐,集成Wi-Fi6、藍(lán)牙5、Zigbee和Thread,適合智能家居網(wǎng)關(guān)和Matter
    的頭像 發(fā)表于 10-28 14:17 ?2007次閱讀
    樂(lè)鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    ESP32-S3的MicroPython開(kāi)發(fā)環(huán)境搭建

    本文通過(guò)搭建Thonny IDE開(kāi)發(fā)環(huán)境,了解了如何給ESP32-S3燒錄MircoPython固件和MircoPython應(yīng)用程序。
    的頭像 發(fā)表于 09-11 16:02 ?1624次閱讀
    <b class='flag-5'>ESP32</b>-S3的MicroPython開(kāi)發(fā)環(huán)境搭建

    專為 ESP32-P4C5 核心板打造的高效開(kāi)發(fā)利器

    SDK+詳盡文檔,新手秒上手,高手效率翻倍!雙芯片設(shè)計(jì),釋放澎湃性能ESP32-P4C5核心板采用樂(lè)鑫科技的ESP32-P4+ESP32-C5雙芯架構(gòu)!·ESP32-P
    的頭像 發(fā)表于 08-11 18:19 ?1190次閱讀
    專為 <b class='flag-5'>ESP32</b>-P4C5 核心板打造的高效開(kāi)發(fā)利器

    ESP32-運(yùn)行網(wǎng)頁(yè)服務(wù)器(Web Server)-實(shí)用篇

    在前一篇文章《ESP32-運(yùn)行網(wǎng)頁(yè)服務(wù)器(WebServer)-入門篇》,我們介紹了ESP32運(yùn)行網(wǎng)頁(yè)服務(wù)器(WebServer)的原理,然后我們基于ESP32實(shí)現(xiàn)了一個(gè)demo代碼;看到很多同學(xué)都留言發(fā)表了自己的看法,有很多同
    的頭像 發(fā)表于 07-28 18:05 ?3642次閱讀
    <b class='flag-5'>ESP32</b>-運(yùn)行網(wǎng)頁(yè)服務(wù)器(Web Server)-實(shí)用篇

    ESP32開(kāi)發(fā)板元件資料

    ESP32開(kāi)發(fā)板元件
    發(fā)表于 07-21 14:47 ?15次下載

    樂(lè)鑫ESP32-C5全面進(jìn)入量產(chǎn)

    樂(lè)鑫信息科技 (688018.SH) 宣布,ESP32-C5 現(xiàn)已全面進(jìn)入量產(chǎn)。
    的頭像 發(fā)表于 05-06 16:50 ?1381次閱讀

    樂(lè)鑫ESP32-C5全面進(jìn)入量產(chǎn)!啟明云端樂(lè)鑫科技代理商

    樂(lè)鑫信息科技(688018.SH)宣布,ESP32-C5現(xiàn)已全面進(jìn)入量產(chǎn)。作為行業(yè)首款2.4&5GHz雙頻Wi-Fi6的RISC-VSoC,ESP32-C5同時(shí)集成Bluetooth5(LE
    的頭像 發(fā)表于 04-30 18:10 ?1231次閱讀
    樂(lè)鑫<b class='flag-5'>ESP32</b>-C5全面進(jìn)入量產(chǎn)!啟明云端樂(lè)鑫科技代理商

    ESP32運(yùn)行網(wǎng)頁(yè)服務(wù)器 (Web-Server)-入門篇

    什么是ESP32WebServer?ESP32WebServer是在ESP32微控制器上運(yùn)行的一個(gè)嵌入式網(wǎng)頁(yè)服務(wù)器。它能夠處理HTTP請(qǐng)求并作出響應(yīng),使用戶可以通過(guò)網(wǎng)絡(luò)瀏覽器與設(shè)備進(jìn)行通訊和交互
    的頭像 發(fā)表于 03-09 14:24 ?7545次閱讀
    <b class='flag-5'>ESP32</b>運(yùn)行網(wǎng)頁(yè)服務(wù)器 (Web-Server)-入門篇