大家好,我是 will2108。歡迎來到《從零打造邊緣運算閘道器:Raspberry Pi 與 Linux 底層軟硬整合實戰》系列!
在接下來的 30 天裡,我將毫無保留地分享一個從無到有、跨越軟硬體鴻溝的真實開發血淚史。這不是一篇教你怎麼「讓樹莓派閃爍 LED 燈」的新手教學,而是一場深入 Linux 核心、USB OTG 黑魔法、甚至為了效能而拋棄作業系統內建排程的硬核修煉。
什麼是邊緣運算閘道器 (Edge Gateway)?
在萬物聯網的時代,我們習慣了把所有資料無腦往雲端倒。但在某些極度嚴苛的場景(例如:工業機台、封閉式醫療設備、沒有穩定網路的偏鄉),設備通常有以下痛點:
-
只懂古老的語言:很多專業設備只能透過最原始的 UART / RS-232 吐出資料,根本不懂什麼是 HTTP 或 TCP/IP。
-
容錯率極低:它可能正在監測極度關鍵的數據(微秒級別的訊號取樣),如果為了處理網路斷線而卡住 CPU,後果不堪設想。
-
不能隨便上網:基於資安考量,終端感測器 (Edge Sensor) 通常不被允許直接連上外網。
這時候,我們就需要一個**「邊緣運算閘道器 (Data Gateway)」**來當作橋樑。
我們的異質架構設計 (Heterogeneous Architecture)
為了解決上述痛點,我們採用了一套雙劍合璧的設計:
-
前端節點 (MCU Node / RTOS):負責「極度即時且精準」的感測。它不需要懂複雜的網路與檔案系統,只要專心採集數據,然後透過 UART 序列埠把資料丟出來。
-
中樞閘道器 (DataGateway - 也就是本系列的主角):一台搭載 Linux 的 Raspberry Pi。它負責接收 UART 傳來的涓涓細流、將資料封裝成加密格式,然後身兼數職:
- 有網路時,它是個 SFTP/HTTPS 雲端上傳機。
- 插上 USB 線時,它又會瞬間變成一顆 FAT32 隨身碟,讓 Windows 電腦能直接讀取檔案。
前端負責「絕對的即時」,後端負責「海量資料管理與跨系統相容」,這就是我們這 30 天要挑戰的終極目標。
未來 30 天的航線預告
這趟旅程充滿了地雷與深水區,我們將會一起經歷:
-
Linux 底層探險:解開 MMIO 位址 (
0x3F980000) 與 Device Tree 的秘密。
-
USB ConfigFS 黑魔法:純手工打造複合式 USB 設備,並搞定 Windows 煩人的驅動列舉機制。
-
檔案系統生存戰:當 PC 與 Pi 同時想寫入同一個虛擬磁碟時,如何解決毀滅性的「雙腦分裂 (Split-Brain)」危機?
-
軟即時排程架構 (Soft Real-Time):作業系統內建的排程器為何會導致 GPIO 腳位爭奪戰?我們如何用 Python 自製「搶佔式優先權排程器」與「世代計數器」?
準備好跟我一起潛入邊緣運算的深水區了嗎?我們明天 [Day 02] 見!