iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
自我挑戰組

無硬體也能玩物聯網!使用 Wokwi 模擬器與 MicroPython 打造 30 天 ESP32 實務系列 第 29 篇

MicroPython 在 ESP32 上的記憶體管理與常犯錯誤踩坑紀錄

  • 分享至 

  • xImage
  •  

今日目標
在前面 28 天裡,我們用 MicroPython 玩轉了各式各樣的感測器、螢幕與馬達。但在實務開發 IoT 專案時,常會遇到裝置跑一跑突然「無預警當機」、「重新開機」或是跳出 MemoryError 的錯誤。

今天我們不接新硬體,而是來聊聊 ESP32 的記憶體管理 ,並盤點開發 MicroPython 時最常踩的三大地雷與除錯秘訣。

程式碼
import time
import gc
from machine import Pin

gc.enable()
gc.collect()

print("=== ESP32 記憶體管理與監控測試啟動 ===")

counter = 0

while True:
free_mem = gc.mem_free()
allocated_mem = gc.mem_alloc()

print(f"--- 迴圈 #{counter} ---")
print(f"剩餘記憶體 (Free): {free_mem} bytes")
print(f"已使用記憶體 (Allocated): {allocated_mem} bytes")

temp_list = [i for i in range(100)]

gc.collect()

counter += 1

time.sleep(3)

心得
今天我們學會了如何透過 gc 模組來掌握 ESP32 的記憶體狀況。良好的記憶體管理與寫程式習慣,是讓物聯網裝置能夠「穩定運作數個月甚至數年」的關鍵。


上一篇
MicroPython 程式碼重構——使用 Class 封裝感測器邏輯
下一篇
30天 Wokwi + MicroPython 學習總結與未來進階專案建議
系列文
無硬體也能玩物聯網!使用 Wokwi 模擬器與 MicroPython 打造 30 天 ESP32 實務 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言