iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
Software Development

從零打造邊緣運算閘道器:Raspberry Pi 與 Linux 底層軟硬整合實戰系列 第 2

[Day 02] 架構對決:Raspberry Pi (Linux) vs MCU (RTOS) 該怎麼選?

  • 分享至 

  • xImage
  •  

大家好,我是 will2108。昨天我們談到了為何需要「邊緣運算閘道器 (Edge Gateway)」,今天我們要來面對所有硬體工程師在專案初期都會遇到的靈魂拷問:「我到底該選哪一種晶片?」

在打造這套系統時,我們面臨了極端的技術需求:既要能以微秒級的精度連續採集感測器資料,又要能把資料加密存進虛擬隨身碟,最後還得透過 SFTP/HTTPS 送上雲端。

這時候,兩大硬體陣營的優缺點就血淋淋地攤在我們面前了。

陣營一:單晶片微電腦 (MCU + RTOS)

例如大家熟悉的 STM32 或是 ESP32,它們通常跑的是 FreeRTOS 等即時作業系統 (Real-Time OS)。

  • 優勢 (硬即時 / Hard Real-Time):這是它的主場。當你要求它每隔 1 毫秒去讀取一次 ADC(類比數位轉換器),它就是 1 毫秒去讀一次,誤差極小。這對於醫療級或工業級的高精度感測至關重要。
  • 痛點:當你要它做「進階的檔案系統管理(例如掛載 FAT32)」、「複雜的 USB 複合設備 (Composite Device) 驅動」,甚至要加上「SSL/TLS 網路加密憑證」時,你會寫 C 寫到想哭,而且晶片的記憶體 (SRAM) 一下子就被吃光了。

陣營二:微型電腦 (Raspberry Pi + Linux)

例如我們這次選用的 Raspberry Pi Zero 2 W,它搭載了一套完整的 Linux 作業系統。

  • 優勢:有強大的 Python 生態系,要建立 SFTP 伺服器、寫入 CSV 檔案、或者利用 Linux 底層的 ConfigFS 把自己偽裝成隨身碟,簡直如魚得水。它有 Giga 級別的 RAM 可以揮霍。
  • 痛點 (軟即時 / Soft Real-Time):Linux 是一個「非即時」的作業系統。它的 CFS (Completely Fair Scheduler) 排程器為了公平分配 CPU 資源,隨時會中斷你的程式去處理背景任務。如果你用 Pi 直接去讀取超高頻的感測器,你會發現資料夾雜著無法預期的延遲 (Jitter),這在專業量測中是災難性的。

小孩子才做選擇:異質架構 (Heterogeneous Architecture)

與其勉強某一方去做它不擅長的事,我們最後決定採用業界最穩定的**「異質架構」**:讓專業的來!

我們將系統一分為二:

  1. Edge Sensor 邊緣感測器 (MCU 陣營):專心做苦力。它沒有網路、沒有複雜的檔案系統,只負責用極高的精準度採集資料,然後將資料整理成簡單的封包。
  2. Data Gateway 閘道器 (Linux 陣營):我們的樹莓派。它就像是個大腦與倉庫,專門接收前端 MCU 傳來的數據,將其加密 (.encsv)、存進虛擬 FAT32 硬碟 (piusb.bin),並負責閃爍 LED 燈號來與人類互動,最後把資料拋上雲端或交給 PC。

這兩者之間,我們採用了最古老、最單純、卻也最抗干擾的 UART (序列埠) 來作為跨界溝通的橋樑。

為什麼是 UART?

在 SPI、I2C 與 UART 之間,我們之所以選擇 UART,是因為它只需要 3 根線 (TX, RX, GND) 就能實現穩定的長距離雙向通訊。這在充滿電磁干擾的工業/醫療現場,是保命的關鍵。

明天的 [Day 03],我們就要來拆解這條 UART 通訊線上的秘密:「 Daisy Chain (菊鏈) 請求-回應模式」 是如何確保我們在低耗電的情況下,絕對不會遺漏任何一筆珍貴的資料!我們明天見!


上一篇
[Day 01] 開賽宣言:當終端設備遇上雲端,為何我們需要邊緣運算閘道器?
下一篇
[Day 03] 最古老也最可靠:使用 UART 打造邊緣設備的 Daisy Chain 通訊協定
系列文
從零打造邊緣運算閘道器:Raspberry Pi 與 Linux 底層軟硬整合實戰5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言