色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

支持 OTA 更新的MCU很多 為何 ESP32這么受歡迎?

得捷電子DigiKey ? 來源:未知 ? 2023-11-01 20:30 ? 次閱讀

物聯網 (IoT) 產品的設計者需要不斷地評估平臺和組件的選擇,以降低成本和功率,同時提高性能和加快連接應用的設計。目前有相當多的解決方案可供選擇,但設計者面臨的挑戰是,一旦部署,如何進行無線空中下載 (OTA) 更新以保持設備固件的更新。

關鍵是要看一下現有的平臺,看看它們有哪些額外的工具和支持來支持 OTA 更新。這樣的支持可以大大簡化過程,但前期可能需要一些關注。

本文討論了 OTA 基本原理,以及為什么它是幾乎每個物聯網系統都需要支持的關鍵功能,盡管開發者面臨著諸多挑戰。然后以EspressifSystemsESP32支持藍牙Wi-Fi微控制器以及相關模塊、套件和 ESP 物聯網開發框架 (ESP-IDF) 為例,展示如何打造一個 OTA 分區,并利用 otatool.py 腳本在應用仍在運行時執行固件更新。

OTA 更新介紹

大多數開發團隊的核心重點是實現其產品的特定功能,也就是產品差異化業務邏輯。然而,每個物聯網產品都有一個基本功能集,需要在設備的整個生命周期內進行部署、配置和維護。安全更新是一個很好的例子。鑒于需要執行這些更新,在評估一個合適的開發平臺時,一個重要但容易被忽視的功能是引導程序或固件 OTA (FOTA) 更新(有時只稱為 OTA)能力。

OTA 為工程師提供了根據技術和業務要求遠程維護和升級其產品的能力,而不需要派維護人員到設備上或讓終端客戶主動對設備做一些更新。相反,所有這些成本都可以通過讓設備在后臺默默地或在半夜操作之類“停工”時間內升級其固件方式來消除。

OTA 架構可以有許多不同的形式和配置,從定制的解決方案一直到云提供商提供的標準實現方案。圖 1 中可以看到一個典型的架構實例。

wKgaomVCRfuAEMFvAAGoF_7OcIQ498.png圖 1:OTA 架構概覽展示在現場向所部署設備更新應用固件的示例過程。(圖片來源:BeningoEmbedded Group)

在這個例子中,一個OEM 使用亞馬遜網絡服務 (AWS) 物聯網內核上傳新的固件版本,然后使用內置的作業功能將更新部署到現場的設備。這只是眾多例子中的一個,幾乎每個云供應商都有類似的解決方案。

今天有許多支持OTA 的微控制器可供選擇。一個廣受低成本系統和制造商歡迎的微控制器是ESP32。ESP32 之所以如此受歡迎,有以下幾個原因:

  • 它有一個集成的微控制器,有 Wi-Fi/藍牙認證模塊可用

  • 低成本

  • 開源開發環境和軟件框架,如 ESP-IDF 和 ESP 音頻開發框架 (ESP-ADF)

  • 許多現有的應用實例可在網上免費獲得

選擇一個ESP32 模塊進行 OTA 測試

有幾種不同的ESP32 模塊和開發板可供用戶購買,以便了解 OTA 實例。以Adafruit3405ESP32 Huzzah Feather 板為例(圖 2)。這是一塊低成本的開發板,包括對 ESP32 進行編程的所有電路,并通過一個 USB 連接器為其供電。

wKgaomVCRfyAVQ5bAAQR0TIhDZU276.png圖 2:3405 Huzzah Feather 板包含一個 ESP32 WROOM-32D 認證型 Wi-Fi/藍牙模塊,帶 4 Mb 閃存。該板包括所有必要的硬件,可通過 USB 編程和與模塊通信。(圖片來源:Adafruit) 3405 的核心是一個ESP32-WROOM-32D模塊,它配備了 4 Mb 閃存、Wi-Fi、藍牙和一套完整的外設,幾乎適用于任何應用。

另一塊可以使用的開發板是 Espressif Systems 的ESP32-LYRATD-SYNA音頻板(圖 3)。該開發板包括ESP32-WROVER-B模塊。?

wKgaomVCRfyABmY3AAf3r3Oo-FU295.png圖3 :ESP32-LYRATD-SYNA 板基于 ESP32 WROVER-B 認證型 Wi-Fi/藍牙模塊,帶 4 Mb 閃存。除了能夠讓設計者通過 USB 編程和與模塊通信外,它還具有開發音頻應用所需的電路。(圖片來源:EspressifSystems)

ESP32-LYRATD-SYNA模塊也有 4 Mb 閃存,以及用于音頻應用的所有電路。該板包括一個音頻編解碼器、一個音頻放大器以及耳機和揚聲器插孔,以全面測試音頻應用。

最后一塊可用于OTA 測試的開發板是 Espressif 的ESP32-S2-SAOLA-1RI開發板(圖 4)。說到開發板,這款最不昂貴的。該板包含一個 ESP32 Wrover 模塊,以及對該芯片進行編程的電路。除了它所包含的引腳可以很容易地放到試驗板上進行測試外,沒有任何其他的裝飾。

wKgaomVCRfyAaBWiAATAC93f6fY352.png圖 4:基于 Wrover 模塊的 ESP32-S2-SAOLA-1RI 是一塊裸開發板,成本低,但包括足夠的電路來對板載模塊編程。(圖片來源:Espressif Systems)

為測試而選擇的具體板子并不太重要,因為每個 ESP32 模塊都利用了 ESP-IDF。這個框架旨在通過包括驅動程序、中間件、RTOS 以及對本文而言很重要的引導程序和 OTA 庫,從而為開發者簡化了軟件開發活動。

引導程序允許開發者利用 OTA 更新,并在主要應用仍在運行時對內存進行分區以更新固件,這有助于最大限度地減少停機時間。引導程序的設置一開始可能看起來很復雜,但如果指導得當,是很簡單的。

OTA 開發工作流

ESP32 的 OTA 開發工作流將根據業務需求和產品組件選擇而略有不同。例如,一個利用 AWS 的團隊可能會使用 AWS 的入門指南和例子來啟動其 ESP32 OTA 解決方案。另一方面,一個正在定制自己解決方案的公司也可能會利用ESP32 的說明文檔。在這篇文章中,我們要看的是 ESP32 層面內容,而不是在云端。原因是這些內容是通用的,適用于 ESP32 的 OTA,無論使用哪個云提供商或解決方案。

一般來說,在ESP32 上設置 OTA 更新的過程包括以下步驟:

  • 配置 ESP32 分區表

  • 下載支持 OTA 的固件

  • 開發一個工具,充當服務器,推送新的固件

  • 最新的固件下載到ESP32 上

  • 調換到新應用

很明顯,這是簡化的方法。開發人員應再次查看圖 1 以了解整個固件更新過程。這個過程可能相當復雜,所以建議利用位于GitHub上的現有 ESP32 OTA 實例。這些例子提供了幾個關鍵實例,如:

  • HTTPS OTA

  • 本地 OTA

  • 簡單 OTA

  • OTA 工具(python 腳本示例)

圖 5 顯示了部署和更新過程的步驟。開發者需要先執行紅色的步驟,將 OTA 解決方案部署到 ESP32 模塊上。橙色的步驟是下一步,執行這些步驟是為了推進 OTA 更新。wKgaomVCRfyAJCvVAASUAjNzucg002.png圖 5:位于GitHub 上的 Espressif Systems OTA 更新例子為開發者提供了幾個簡單的例子,以讓其 ESP32 執行 OTA 更新。(圖片來源:Espressif Systems)

為 OTA 配置一個 ESP32 應用程序

ESP32 包含一個分區表,描述了什么類型的數據位于微控制器上以及它的位置。例如,一個標準的 ESP32 分區表看起來像表 1。

wKgaomVCRf2AJQuJAADXBzm9Cmw109.png表 1:標準 ESP32 分區表顯示了數據的類型及其在微控制器上的位置。(表格來源:BeningoEmbedded)有一個工廠應用,然后是 NVS 庫和物理層 (PHY) 初始化(init) 數據部分。為了使用 OTA 功能,該表需要更新,以便除了主要(工廠)應用外,還要為 OTA 更新固件指定存儲器位置。對于 OTA,通常有兩個分區被分配用于更新。一個是正在更新的固件,一個是正在下載的固件,它將成為最新版本。這使得工廠應用能夠保持不變。更新后的 OTA 分區表將看起來像表 2。

wKgaomVCRf2AGXCSAAFZaW0t8Gs808.png表2:典型的 ESP32 更新 OTA 分區表。(表格來源:Beningo Embedded)如表所示,現在有一個ota_0 和 一個ota_1 應用部分,其大小為 1Mb,此外還有一個數據部分 (otadata),是為更新過程分配的 RAM。這個表可以由開發者修改和更新,以適應應用。

為了運行 OTA 例子,有一套簡單的說明,列在 GitHub 的“如何使用實例”部分。該部分描述了如何構建應用并對其進行編程。

還有 otatool,可以用來更新固件。這個腳本通常用于:

  • 讀取、寫入和擦除OTA 分區

  • 切換引導分區

  • 切換到工廠分區
該示例腳本可以通過使用命令在終端運行該示例來執行。

./otatool_example.sh

或者使用Python。

pythonotatool_example.py

當談到為 OTA 配置 ESP32 時,確保分區的設置是一個關鍵步驟。

使用的技巧和訣竅

EPS32 OTA 解決方案可以加速和簡化開發者的固件更新方案。為了防止解決方案成為開發負擔,有幾個“技巧和訣竅”應該牢記在心。

如果可能的話,利用該公司的云供應商所包含的現有 OTA 框架。這可以極大地簡化開發和集成。

使用低成本的開發板來測試 OTA 功能和引導程序。ESP32 有幾個選項,可能需要一些實驗來確定哪一個是最適合手頭的應用。

對于定制解決方案,可利用 GitHub 上的 ESP32 OTA 實例。

對于產品作為Wi-Fi 路由器或集線器的應用,考慮將固件鏡像下載到外部存儲器,并從大容量存儲設備執行更新。

花一些時間查看關于分區表的 ESP32 說明文檔。這與典型的微控制器實現有點不同。

出于安全考慮,最好禁用應用回滾。如果應用可以回滾到以前的版本,潛在的攻擊者就有可能推送一個帶有已知漏洞的版本,并破壞系統。

遵循這些“技巧和決竅”的開發者會發現,當他們試圖利用 ESP32 或任何其他 OTA 解決方案時,他們可以節省大量的時間并免受煎熬。

結語

OTA 更新是越來越多的物聯網和嵌入式系統的一個重要功能。開發人員需要很好地掌握這種功能的有效實現方法,以便在設計和開發過程中以及在產品出廠后節省前期時間。ESP32 無線微控制器已經廣泛用于各種類型的設備,如上所述,它有一個現成的OTA 解決方案。通過利用 ESP-IDF 和相關的模塊和平臺,并使用一些基于經驗的技巧和決竅,開發者可以大大減輕他們的設計時間,并完成他們的 OTA 解決方案并使之可靠地運行。

秘技知識學不停 專屬福利享不停

就等您加入!

點此登記

賺積分、換好禮

立即到「會員權益」查看您的禮遇! 如有任何問題,歡迎聯系得捷電子DigiKey的客服團隊

中國(人民幣)客服

wKgaomVCRf2AWlNjAAADBaTNctA797.png400-920-1199wKgaomVCRf6ABJDUAAADAQryhLs407.png服務支持 > 聯系客服 > 微信客服wKgaomVCRf6AcXgTAAADNUSMvSY694.pngservice.sh@digikey.comwKgaomVCRf6AboFsAAACyRJDcPk772.png QQ在線實時咨詢:4009201199

中國(美金)/ 香港客服

wKgaomVCRf2AWlNjAAADBaTNctA797.png

400-882-4440

wKgaomVCRf2AWlNjAAADBaTNctA797.png852-3104-0500wKgaomVCRf6AcXgTAAADNUSMvSY694.pngchina.support@digikey.comwKgaomVCRf6ADQsvAACBLhwpIzY806.png

wKgaomVCRf6AM3_bAAJQEo9UZ9g111.png

點擊下方“閱讀原文”查看更多

讓我知道你在看wKgaomVCRf-ADn5bAAAD385SHbk553.png


原文標題:支持 OTA 更新的MCU很多 為何 ESP32這么受歡迎?

文章出處:【微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 得捷電子
    +關注

    關注

    1

    文章

    255

    瀏覽量

    8851

原文標題:支持 OTA 更新的MCU很多 為何 ESP32這么受歡迎?

文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【AI技術支持ESP32-S3模組EspBleOTA搜索不到ble_ota例程的藍牙問題處理

    啟明云端/01問題描述在智能標識牌上使用ESP32-S3-WROOM-1U模組,ESP-IDF版本為idf5.0.2時,客戶在ESP32-S3模組燒錄運行
    的頭像 發表于 12-13 18:06 ?199次閱讀
    【AI技術<b class='flag-5'>支持</b>】<b class='flag-5'>ESP32</b>-S3模組EspBleOTA搜索不到ble_<b class='flag-5'>ota</b>例程的藍牙問題處理

    esp8266和esp32區別是什么

    的內存選項,包括最小512KB的RAM和最大16MB的閃存。 Wi-Fi和藍牙 : ESP8266 :支持2.4GHz Wi-Fi。 ESP32支持2.4GHz Wi-Fi和藍牙5
    的頭像 發表于 08-19 18:16 ?5478次閱讀

    esp32用什么軟件編程

    。 概述 ESP32具有豐富的外設接口和靈活的編程方式,支持多種編程語言和開發環境。本文將詳細介紹ESP32的編程軟件,包括開發環境、編程語言、庫函數、開發工具等。 開發環境 2.1 Arduino IDE Arduino ID
    的頭像 發表于 08-19 17:24 ?3615次閱讀

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么區別?ESP32-WROOM-32 后綴字母代表的意思是?

    相信很多人心里都有這樣的疑問,今天就教大家怎么區分它們。 32D和32U是同一個芯片ESP32-D0WD的模組,主要區別的天線模式,分別是板載和IPEX外接天線。 32E是用的升級版的芯片
    的頭像 發表于 07-17 10:09 ?1w次閱讀
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么區別?<b class='flag-5'>ESP32</b>-WROOM-32 后綴字母代表的意思是?

    請問怎么使用ardunio工程打開esp32-cam的menuconfig使能OTA

    我的esp32-cam想實現OTA升級,結果發現系統的OTA支持好像沒打開。 但是由于IDE使用的ardunio,工程配置和分區表和idf的工程都不一樣。 請問怎么樣才能打開men
    發表于 06-20 07:44

    ESP32-S2-Kaluga-1更新了重新編譯的camera代碼,比出廠時噪點多很多怎么解決?

    ESP32-S2-Kaluga-1 更新了重新編譯的git上camera的代碼, 發現屏幕上的圖像比出廠時噪點多很多,顆粒大很多,請問是哪里配置需要修改呢? 感謝!
    發表于 06-19 07:15

    請問ESP32是否支持串口在線升級?

    請問ESP32是否支持串口在線升級。對OTA升級例程進行修改,將http傳輸改為串口傳輸,是否可行。
    發表于 06-18 06:30

    請問esp32 ota升級如何獲取更新進度?

    所用的是esp32-s2 idf:4.4調用esp_https_ota API進行固件升級,想獲取更新進度,但不知道怎么實現,有人做過或者有思路指點一下嗎?
    發表于 06-14 07:20

    esp32s3進行https-OTA時,出現wifi:m f null更新失敗怎么解決?

    使用的IDF為4.4.3,芯片為esp32s3F4R2.在進行https-ota時,進行到esp_https_ota_begin()出現了wifi:m f null的log然后HTTPS OT
    發表于 06-13 08:27

    ESP32對Flash加密后能否使用OTA進行后續的維護更新

    ESP32對Flash加密后能否使用OTA進行后續的維護更新
    發表于 06-07 08:21

    請問ESP32S3的OTA過程是否支持保存燒寫進度,掉電重啟后從掉電前位置開始燒寫?

    請問ESP32S3的OTA過程是否支持保存燒寫進度,掉電重啟后從掉電前位置開始燒寫? 例如OTA數據共需要20幀進行傳輸,傳輸了10幀數據并通過e
    發表于 06-05 08:10

    借助ESP32-S3主控MCU、ChirpLAN?小網關搭建大網絡

    借助先進的ESP32-S3主控MCU,ChirpLAN?小網關為您帶來前所未有的網絡體驗。
    的頭像 發表于 03-14 10:02 ?1051次閱讀

    ESP32-P4開發板問題揭秘!

    導讀ESP32-P4是一款高性能MCU支持超大片上內存,具有強大的圖像和語音處理能力。該款MCU包含一個高性能(HP)系統和一個低功耗(LP)系統。HP系統由RISC-V雙核處理器驅
    的頭像 發表于 02-24 08:03 ?1815次閱讀
    <b class='flag-5'>ESP32</b>-P4開發板問題揭秘!

    如何從ESP32中刪除OTA

    通過 Arduino IDE 和示例等對 ESP32 Dev 32 模塊進行了一些 OTA 測試,一切正常。 現在我們想恢復到正常的串行/USB 編程,雖然我們似乎可以編程一個新程序,但它只是恢復到現有的 OTA 程序。 有沒有
    發表于 01-31 07:37

    ESP32-C3模塊使用問題集錦| C3的串口日志該如何禁用?

    ESP32-C3因為功能強大、低功耗一直廣受歡迎,客戶在使用過程中,也是有很多疑問。下面小啟整理了一些C3模塊實際應用客戶遇到的問題,做出解答,大家如果也有關于C3模塊的問題,可以評論區提出來
    的頭像 發表于 01-09 08:03 ?1014次閱讀
    <b class='flag-5'>ESP32</b>-C3模塊使用問題集錦| C3的串口日志該如何禁用?
    主站蜘蛛池模板: 成人bt下载| 国产永久免费高清在线观看| 中文字幕在线播放视频| 久草热8精品视频在线观看| 国精产品一区一区三区有限在线 | 亚洲永久精品ww47app| 野花日本完整版在线观看免费高清| 夜月视频直播免费观看| 中文字幕绝色少妇性| 99久久免费只有精品| 超级乱淫片午夜电影网99| 4k岛国精品午夜高清在线观看| 97人妻碰视频在线观看| 菠萝视频高清版在线观看| 国产精品人妻无码久久久蜜桃| 和美女啪啪啪动态图| 久久人妻少妇嫩草AV无码| 欧美97色伦综合网| 黑兽在线观看高清在线播放樱花| 久久www免费人成_看片高清| 美女的让男人桶爽网站| 日韩精品无码久久一区二区三| 羞羞答答dc视频| 武汉美女洗澡| 伊人久久大香线蕉影院95| 99日影院在线播放| 国产精品手机在线视频| 久久中文字幕免费高清| 強姧伦久久久久久久久| 亚洲zooz人禽交xxxx| 91麻豆精品一二三区在线| 高H各种PLAY全肉NP| 九九在线免费视频| 日本中文一区| 亚洲综合视频| 成人bt下载| 久久艹综合| 三级全黄a| 亚洲.日韩.欧美另类| 专干老肥熟女视频网站300部| 大桥未久电影在线观看|