ESP Insights 系列 #1 | 遠(yuǎn)程查看設(shè)備信息,快速解決固件問題
在軟件開發(fā)過程中,串口日志輸出和命令行調(diào)試等功能會在軟件接近 release 版本時被關(guān)閉。因此,即使軟件在 QA 測試中出現(xiàn)異常,開發(fā)人員也很難獲取設(shè)備日志來快速定位問題并進行修復(fù),甚至還可能需要通過拆機查看日志來分析異常原因。為解決這一問題,樂鑫開發(fā)了?ESP Insights,支持開發(fā)人員遠(yuǎn)程查看固件的運行狀態(tài)和日志,以便及時發(fā)現(xiàn)并解決固件問題,加快軟件開發(fā)進程。
ESP Insights 功能
運行 ESP Insights 的設(shè)備可以通過 Wi-Fi 將設(shè)備固件的運行狀態(tài)和日志上報至 Insights 云。Insights 云將所有信息進行整合,然后將數(shù)據(jù)可視化地展現(xiàn)在網(wǎng)頁端 ESP Insights 儀表板上,供開發(fā)人員查看。
ESP Insights 的 Preview 版本 (github.com/espressif/esp-insights#getting-started) 具有以下功能:
查看設(shè)備屬性(如名稱、ID、固件版本等)和設(shè)備狀態(tài)(如內(nèi)存使用情況、最大空閑塊、空閑堆值、Wi-Fi 信號強度等);
查看設(shè)備固件運行期間生成的日志:故障和告警等級的日志、固件崩潰時的回溯信息、重啟和其他自定義事件;
查看設(shè)備上報的當(dāng)前數(shù)據(jù),并按照時間線生成數(shù)據(jù)圖表;
支持自定義添加感興趣的指標(biāo)和變量。

ESP Insights 優(yōu)勢
1. 加速軟件產(chǎn)品的開發(fā)與發(fā)布
軟件產(chǎn)品通常要在正式發(fā)布前進行 Beta 測試。測試期內(nèi),用戶們會將產(chǎn)品在真實使用場景下出現(xiàn)的性能、穩(wěn)定性、可靠性等問題反饋給開發(fā)人員,并由他們進行處理和修復(fù)。在此過程中,開發(fā)人員往往需要花費大量的時間和精力定位問題并分析原因。而使用 ESP Insights,他們能夠遠(yuǎn)程查看設(shè)備的運行情況,并及時獲取異常事件的詳細(xì)信息,大大節(jié)省了處理問題的時間,加快了軟件開發(fā)和發(fā)布進程。ESP Insights 還會保存設(shè)備固件在崩潰前發(fā)生的異常事件,并在設(shè)備重啟后將數(shù)據(jù)上傳至云端,避免異常信息丟失。
2. 及時解決各類固件問題
開發(fā)人員能夠使用 ESP Insights 查看設(shè)備狀態(tài)(如可用內(nèi)存空間、最大空閑塊、Wi-Fi 信號強度等),分析得出設(shè)備各指標(biāo)的峰值,并在未來的固件版本中進行優(yōu)化。

ESP Insights 控制臺的日志中會記錄所有異常事件的詳細(xì)信息。開發(fā)人員能夠在用戶發(fā)現(xiàn)異常之前就及時處理問題,避免設(shè)備異常對用戶的實際使用造成影響。

3. 數(shù)據(jù)傳輸輕量簡潔且安全可靠
ESP Insights 與云連接共享 MQTT + TLS 加密通道傳輸設(shè)備數(shù)據(jù),保證用戶設(shè)備信息安全的同時,大大減少了用戶設(shè)備內(nèi)存的開銷。設(shè)備與云間傳輸?shù)臄?shù)據(jù)通過 CBOR 編碼進行了優(yōu)化,大大節(jié)省了數(shù)據(jù)傳輸帶寬。后續(xù) ESP Insights 還將把設(shè)備數(shù)據(jù)與來自云服務(wù)的命令和控制數(shù)據(jù)整合到同一 MQTT 消息中,通過減少 MQTT 消息的數(shù)量進一步節(jié)省成本。
開發(fā)和使用 ESP Insights
目前,ESP Insights 的 Preview 版本需要與?ESP RainMaker?配合使用,基于 ESP RainMaker 進行設(shè)備身份驗證和云端數(shù)據(jù)傳輸。后續(xù)的新版 ESP Insights 還將支持對接其他云平臺。
樂鑫將不斷探索和完善 ESP Insights 的功能,有效助力軟件開發(fā)者們高效地構(gòu)建更穩(wěn)健的軟件產(chǎn)品。您可以點此查看在 ESP32 上設(shè)置 ESP Insights 的文檔教程;也可以聯(lián)系樂鑫的客戶支持團隊 espressif.com/sales?獲取更多相關(guān)信息。