在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

用SPI玩轉(zhuǎn)WiFi,RT-Thread ESP-Hosted驅(qū)動深度適配指南 | 技術(shù)集結(jié)

RT-Thread官方賬號 ? 2025-07-09 19:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

還在為MCU的WiFi連接方案發(fā)愁?RT-Thread社區(qū)開源ESP-Hosted驅(qū)動,通過標(biāo)準(zhǔn)SPI接口即可實現(xiàn),并且該倉庫已整理成RT-Thread軟件包。RT-Thread ESP-Hosted項目在MIT license下作為一個整體,但包含第三方代碼在其他許可下。請仔細(xì)閱讀以下不同許可代碼的說明。

目錄


用途


概述


使用


硬件連接


構(gòu)建ESP32固件


檢查啟動


固件更新


芯片支持

1

用途


用于MCU的spi接口WiFi驅(qū)動,適用于已適配RT-Thread的MCU。

已接入RT-Thread的spi設(shè)備驅(qū)動和wlan框架,與硬件無關(guān)代碼。

該驅(qū)動使用rt-thread標(biāo)準(zhǔn)的spi設(shè)備通訊,wlan框架實現(xiàn)wifi命令行的支持

提供esp-idf命令一樣的WiFi API調(diào)用

上代碼:rt-thread_esp-hosted(https://github.com/Evlers/rt-thread_esp-hosted)


2

概述


該存儲庫已將ESP-Hosted-MCU適配于RT-Thread系統(tǒng),?前僅?持SPI總線協(xié)議,并使?RT-ThreadSPI Device進?SPI總線操作。


這個版本的ESP-Hosted提供:

?個標(biāo)準(zhǔn)的802.3?絡(luò)接?,?于發(fā)送和接收802.3幀

?持藍(lán)?/BLE的標(biāo)準(zhǔn)HCI接?

ESP32芯?配置和控制Wi-Fi的控制接?

?于升級ESP固件的OTA接?

ESP-Hosted-MCU解決?案利?主機現(xiàn)有的TCP/IP 和 藍(lán)牙/BLE 協(xié)議棧SPI/SDIO/UART 等硬件外設(shè)連接到ESP固件,軟件層非常薄。


雖然這個項目沒有為主機提供標(biāo)準(zhǔn)的802.11接口,但它提供了?種簡單的方法,既Remote Procedure Calls(RPCs)用于配置Wi-Fi。對于主機和ESP板之間的RPC,ESP-Hosted-MCU使用了Protobuf(https://developers.google.com/protocol-buffers),這是?種獨立于語?的數(shù)據(jù)序列化機制。


關(guān)于ESP-Hosted-MCU的詳細(xì)信息可以在ESP-Hosted README(https://github.com/Evlers/rt-thread_es

p-hosted/blob/master/esp-hosted/README.md)中找到。


3

使用


1添加這個倉庫

將存儲庫克隆到RT-Thread項目中的packageslibraries目錄。

在RT-Thread項目的librariespackages文件夾中,在其Kconfig文件中包含用于ESP-HostedKconfig文件。

例如,將ESP-Hosted包含在libraries目錄中:

menu"External Libraries" source"$RTT_DIR/../libraries/rt-thread_esp-hosted/Kconfig"endmenu

2配置 ESP-Hosted

env窗口中使用menuconfig命令

選中Using esp-hosted for espressif

→ExternalLibraries [*]Usingesp-hostedforespressif --->

進入Using esp-hosted for espressif菜單,配置esp-hosted:

---Usingesp-hosted for espressif ESP-HostedConfigure ---> # ESP-Hosted 配置Selectthe transport interface(SPI) ---> # 選擇傳輸接口 Slave chipset to be used(Slave as ESP32C6) ---> # 選擇從機芯片 [ ] Enable raw throughput transport ---- # 啟用原始吞吐量傳輸 [ ] Enable Transport level packet statistics # 啟用傳輸級別數(shù)據(jù)包統(tǒng)計(8) The maximum number of simultaneous sync rpc requests # 同步RPC請求的最大數(shù)量(8) The maximum number of simultaneous async rpc requests # 異步RPC請求的最大數(shù)量(20) The priority of the esp-hostedrpc thread # RPC線程的優(yōu)先級(5120) The stack size of the esp-hostedrpc thread # RPC線程的堆棧大小(20) The priority of the esp-hostedtransport thread # 傳輸線程的優(yōu)先級(1024) The stack size of the esp-hostedSPI thread # SPI線程的堆棧大小(8) The numberforesp-hostedSPI queue # SPI傳輸隊列的數(shù)量(esp-hosted)Setthe spi device name # SPI設(shè)備名稱(spi1)Setthe spi bus name # SPI總線名稱(30000000)Setthe maximum spi frequency(Hz) # SPI傳輸?shù)淖畲箢l率 Selectthe pin name ornumber(Name) ---> # 選擇引腳名稱或編號(PE.7)Setthe SPI CS pin name # SPI CS引腳名稱(PE.5)Setthedataready pin name # 數(shù)據(jù)就緒引腳名稱(PE.6)Setthe handshake pin name # 握手引腳名稱(PE.4)Setthe reset pin name # 復(fù)位引腳名稱 [*] Use thread initialization # 使用線程初始化(2048) The stack size of the init thread # 初始化線程的堆棧大小(20) The priority of the init thread # 初始化線程的優(yōu)先級 [*] Enable Bluetooth ---> # 啟用藍(lán)牙/BLE HCI接口 Selecthci interface(Usingvhci device drivers) ---> # 選擇HCI接口(vhci) The vhci device name # vhci設(shè)備名稱 Wi-FiConfigure ---> # Wi-Fi 配置(40) Max number of WiFistaticRX buffers # 靜態(tài)RX緩沖區(qū)最大數(shù)量(60) Max number of WiFi dynamic RX buffers # 動態(tài)RX緩沖區(qū)最大數(shù)量 Typeof WiFi TX buffers(Dynamic) ---> # WiFi TX緩沖區(qū)類型(16) Max number of WiFi cache TX buffers # WiFi TX緩存最大數(shù)量(40) Max number of WiFi dynamic TX buffers # TX動態(tài)緩沖區(qū)最大數(shù)量 [ ] WiFi CSI(Channel State Information) # Wi-Fi CSI [ ] WiFi AMPDU TX # AMPDU TX(數(shù)據(jù)聚合) [ ] WiFi AMPDU RX # AMPDU RX(數(shù)據(jù)聚合)(752) Max length of WiFi SoftAP Beacon # SoftAP Beacon最大長度(32) WiFi mgmt short buffer number # WiFi mgmt short buffer數(shù)量 [*] Enable WPA3-Personal # WPA3-Personal [ ] WiFi FTM # WiFi FTM [*] Power Managementforstation at disconnected # Wi-Fi PM [ ] WiFi GCMP Support(GCMP128 and GCMP256) # Wi-Fi GCMP [ ] WiFi GMAC Support(GMAC128 and GMAC256) # Wi-Fi GMAC(7) Maximum espnow encrypt peers number # espnow加密對等數(shù)量 [ ] Enable802.11R(Fast Transition) Support # 802.11R

ESP-Hosted Configure菜單中,主要是傳輸接口從機芯片以及傳輸以為的引腳配置,其他的默認(rèn)即可。


Select hci interface選項用于選擇使用vhci設(shè)備驅(qū)動或者NimBLE hci驅(qū)動 的HCI接口。


選擇 vhci設(shè)備驅(qū)動 將創(chuàng)建一個字符類型設(shè)備,該設(shè)備將模擬藍(lán)牙HCI接口。


選擇NimBLE hci 驅(qū)動將直接接入NimBLE協(xié)議棧。

Wi-Fi Configure菜單中,主要是關(guān)于ESP32WiFi參數(shù)配置。


WiFi AMPDU TXWiFi AMPDU RX選項建議關(guān)閉,在測試中發(fā)現(xiàn)開啟后,Wi-Fi容易丟包,可能是由于路由器不遵循標(biāo)準(zhǔn)協(xié)議導(dǎo)致。


4

硬件連接


4e73c638-5cb4-11f0-9cf1-92fbcf53809c.png

如果您熟悉esp-idf,您也可以嘗試修改引腳

或者使?Flash Download Tool(https://dl.espressif.com/public/flash_download_tool.zip) 燒錄firmware目錄中對應(yīng)芯片的固件。


5

構(gòu)建ESP32固件


$cdesp-hosted/slave$rm-rf sdkconfig build$idf.py set-target

其中 可以是 “esp32”, “esp32s2”, “esp32s3”, “esp32c2”, “esp32c3”, “esp32c5”, “esp32c6”

執(zhí)行以下命令配置項目

$idf.py menuconfig

這將打開項目配置窗口。 要選擇SPI傳輸接口,導(dǎo)航到ESP-Hosted Configuration -> Transport layer -> SPI interface -> select然后退出菜單配置。

要構(gòu)建并燒錄應(yīng)用程序到ESP設(shè)備,請運行

$idf.py -p build flash

收集ESP固件日志使用

$idf.py -p monitor


6

檢查啟動


1從機日志

在成功燒錄后,您應(yīng)該在ESP日志中看到以下信息:

I (412) NETWORK_ADAPTER:*********************************************************************I (422) NETWORK_ADAPTER: ESP-Hosted-MCU Slave FW version :: 1.0.0I (432) NETWORK_ADAPTER: Transport used :: SPI onlyI(442) NETWORK_ADAPTER:*********************************************************************

2主機日志

您應(yīng)該在主機日志中看到以下信息:

\ | /- RT - Thread Operating System/ | \ 5.0.2build Feb15202509:39:292006-2022CopyrightbyRT-Thread teamlwIP-2.1.2initialized![4] I/SFUD: Found a Winbond flash chip. Sizeis16777216bytes.[9] I/SFUD: norflash flash device initialized successfully.[14] I/SFUD: Probe SPI flash norflashbySPI device spiflash success.[I/FAL] RT-Thread Flash Abstraction Layer initialize success.[39] I/sal.skt: Socket Abstraction Layer initialize success.[I/FAL]The FAL blockdevice(filesystem) created successfully[154] I/SDIO: SD card capacity 31166976 KB.found part[0], begin: 2097152, size: 29.738GB[167] I/filesystem: sd card mount to '/sdcard'[1265] I/transport: Features supported are:[1266] I/transport: - WLAN over SPI[1269] I/transport: - HCI over SPI[1273] I/transport: - BLE only[1276] I/transport: Chipis: ESP32c6[1279] I/vhci.dev: Host BT Support: Enabled[1283] I/vhci.dev: BT Transport Type: vhci devices[2387] I/WLAN.dev: wlaninitsuccess[2424] I/WLAN.lwip: eth deviceinitok name:w0[2426] I/WLAN.dev: wlaninitsuccess[2444] I/WLAN.lwip: eth deviceinitok name:w1


7

固件更新


ESP-Hosted支持通過傳輸接口升級ESP32固件,升級過程如下:

msh />esp_ota /flash/network_adapter.binesp-hosted ota update startederasing the ota partition..writing: [==================================================] 100% 1084496 | 100 KB/sfirmware write success!!slave will restart after 5 sec

esp_ota命令可以支持在線下載或者本地文件作為固件升級包。

在線下載方式需要依賴webclient軟件包:

msh />esp_ota https://file.server.com/network_adapter.binesp-hosted ota update startederasing the ota partition..writing: [==================================================] 100% 1084496 | 81 KB/sfirmware write success!!slave will restart after 5 secmsh />


8

芯片支持



4e86ddcc-5cb4-11f0-9cf1-92fbcf53809c.png

‘x’ 表示不支持

‘o’ 表示已測試和支持

‘*’ 表示理論上支持,但未經(jīng)檢驗的


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

    關(guān)注

    12

    文章

    1915

    瀏覽量

    86840
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1801

    瀏覽量

    95718
  • WIFI
    +關(guān)注

    關(guān)注

    81

    文章

    5399

    瀏覽量

    208160
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1400

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于RT-ThreadSPI通訊

    ? ? ?sdk 目前還不支持 spi,沒有 spi 就失去了很多樂趣,如 easyflash、spi 的屏幕,藍(lán)訊的這次活動我接到了模擬 spi 的任務(wù),下面介紹如何寫
    的頭像 發(fā)表于 08-22 09:28 ?2161次閱讀

    BL808 RT-Thread Wi-Fi驅(qū)動適配

    BL808 WiFi 屬于 SOC 單芯片型無線 MCU,片上集成 WiFi 功能,移植 RT-Thread 過程中,需要使用 RT-Thread wlan 框架。
    的頭像 發(fā)表于 12-04 11:38 ?1287次閱讀

    RT-Thread設(shè)備驅(qū)動開發(fā)指南基礎(chǔ)篇—以先楫bsp的hwtimer設(shè)備為例

    RT-Thread設(shè)備驅(qū)動開發(fā)指南》書籍是RT-thread官方出品撰寫,系統(tǒng)講解RT-thread IO設(shè)備
    的頭像 發(fā)表于 02-20 16:01 ?2561次閱讀
    <b class='flag-5'>RT-Thread</b>設(shè)備<b class='flag-5'>驅(qū)動</b>開發(fā)<b class='flag-5'>指南</b>基礎(chǔ)篇—以先楫bsp的hwtimer設(shè)備為例

    基于MM32F5270開發(fā)板RT-Thread SPI驅(qū)動適配指南

    1、第一次給RT-Thread添加芯片SPI驅(qū)動  為MM32F5370開發(fā)板添加SPI驅(qū)動支持的過程。
    發(fā)表于 09-02 14:59

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發(fā)組(2015-03-31)。RT-Thread做為國內(nèi)有較大影響力的開源實時操作系統(tǒng),本文是RT
    發(fā)表于 11-26 16:06 ?0次下載

    RT-ThreadSPI的細(xì)節(jié)內(nèi)容

    作為通信協(xié)議的兩大基礎(chǔ),IIC和SPI兩者的應(yīng)用都非常廣泛,上一篇文章講過了RTT上IIC的移植與實踐。 《一步到位!教你RT-Thread上設(shè)備IIC驅(qū)動移植》 講完IIC,自然少不了SPI
    的頭像 發(fā)表于 09-30 15:35 ?4212次閱讀
    <b class='flag-5'>RT-Thread</b>上<b class='flag-5'>SPI</b>的細(xì)節(jié)內(nèi)容

    RT-Thread全球技術(shù)大會:螢石研發(fā)團隊使用RT-Thread技術(shù)挑戰(zhàn)

    RT-Thread全球技術(shù)大會:研發(fā)團隊使用RT-Thread技術(shù)挑戰(zhàn) ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 11:36 ?1565次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:螢石研發(fā)團隊使用<b class='flag-5'>RT-Thread</b>的<b class='flag-5'>技術(shù)</b>挑戰(zhàn)

    RT-Thread全球技術(shù)大會:RT-Thread測試用例集合案例

    RT-Thread全球技術(shù)大會:RT-Thread測試用例集合案例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:34 ?2388次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:<b class='flag-5'>RT-Thread</b>測試用例集合案例

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發(fā)表于 02-22 18:23 ?10次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手<b class='flag-5'>指南</b>

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    RT-Thread文檔_SPI 設(shè)備

    RT-Thread文檔_SPI 設(shè)備
    發(fā)表于 02-22 18:36 ?3次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>SPI</b> 設(shè)備

    RT-Thread設(shè)備驅(qū)動開發(fā)指南》基礎(chǔ)篇--以先楫bsp的hwtimer設(shè)備為例

    一、概述(一)RT-Thread設(shè)備驅(qū)動RT-Thread設(shè)備驅(qū)動開發(fā)指南》書籍是RT-thread
    的頭像 發(fā)表于 02-24 08:16 ?2675次閱讀
    《<b class='flag-5'>RT-Thread</b>設(shè)備<b class='flag-5'>驅(qū)動</b>開發(fā)<b class='flag-5'>指南</b>》基礎(chǔ)篇--以先楫bsp的hwtimer設(shè)備為例

    【好書推薦】RT-Thread設(shè)備驅(qū)動開發(fā)指南

    近年來國內(nèi)芯片產(chǎn)業(yè)和物聯(lián)網(wǎng)產(chǎn)業(yè)的快速崛起,行業(yè)發(fā)展迫切需要更多人才,尤其需要掌握嵌入式操作系統(tǒng)等底層技術(shù)的人才。隨著RT-Thread被更廣泛地應(yīng)用于行業(yè)中,開發(fā)者對嵌入式驅(qū)動開發(fā)的需求越來越
    的頭像 發(fā)表于 08-01 08:35 ?1307次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>設(shè)備<b class='flag-5'>驅(qū)動</b>開發(fā)<b class='flag-5'>指南</b>

    【S32K146 RT-thread】之 SPI驅(qū)動適配

    概述RT-ThreadSPI總線的驅(qū)動,抽象出了spibus的設(shè)備驅(qū)動,我們基于S32K146的硬件學(xué)習(xí)spibus設(shè)備驅(qū)動
    的頭像 發(fā)表于 11-01 08:11 ?1267次閱讀
    【S32K146 <b class='flag-5'>RT-thread</b>】之 <b class='flag-5'>SPI</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>適配</b>

    【S32K146 RT-Thread】之 使用SFUD組件驅(qū)動spi flash

    【S32K146 RT-Thread】之 使用SFUD組件驅(qū)動spi flash
    的頭像 發(fā)表于 11-21 01:05 ?1107次閱讀
    【S32K146 <b class='flag-5'>RT-Thread</b>】之 使用SFUD組件<b class='flag-5'>驅(qū)動</b><b class='flag-5'>spi</b> flash
    主站蜘蛛池模板: 国产在线精品美女观看 | 午夜在线播放视频在线观看视频 | 婷婷色在线播放 | 米奇精品一区二区三区 | 欧美无遮挡一区二区三区 | 久久天天躁狠狠躁夜夜免费观看 | 午夜在线视频网站 | 免费永久欧美性色xo影院 | 视频一区 在线 | 亚洲成人网在线 | 四虎最新永久免费网址 | 2022欧美高清中文字幕在线看 | 五月婷婷六月丁香 | 337p欧洲亚洲大胆艺术 | 日本三级在线视频 | 午夜视频啪啪 | 免费看欧美理论片在线 | 日本三级黄在线观看 | 香港经典a毛片免费观看爽爽影院 | 亚洲高清资源 | 欧美一级在线观看视频 | 黄黄网址| 高清视频 一区二区三区四区 | 欧美日本视频一区 | 农村妇女色又黄一级毛片卡 | 老司机51精品视频在线观看 | ak福利午夜在线观看 | 夜夜爱夜夜爽夜夜做夜夜欢 | 欧美第一色 | 国产看色免费 | 天天色天 | 婷婷爱五月 | 久久99热精品 | 高清人人天天夜夜曰狠狠狠狠 | 国产一级毛片国语版 | 高清一级做a爱视频免费 | 欧美一区二区视频 | 色香蕉在线观看 | 经典三级一区二区三区视频 | 无人区理论片手机看片 | 天天色综合三 |