iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

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

這是一份從無到有的軟硬整合踩坑血淚史。本系列將帶領讀者深入邊緣運算 (Edge Computing) 的深水區。從硬體架構抉擇、探究 Linux 核心的 Device Tree 與 MMIO 位址、使用 ConfigFS 手工打造複合式 USB 設備,到解決致命的 FAT32 雙腦分裂危機。最後更拋棄傳統 OS 排程,利用 Python 打造「搶佔式軟即時排程器」。這是一趟結合硬體、作業系統底層與軟體工程的硬核修煉之旅。

參賽天數 26 天 | 共 26 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21 - 軟即時架構 (Soft Real-Time):自己當交通警察,打造搶佔式任務排程

在上一篇文章中,我們看清了殘酷的現實:如果讓系統中的各個執行緒 (Threads) 各自為政、直接操作 GPIO 控制 LED 燈號,最終只會演變成一場資源爭奪...

2026-09-06 ‧ 由 will2108 分享
DAY 22

Day 22 - 優先權設計:如何確保「致命錯誤」的紅燈永遠不會被「待機」的綠燈覆蓋?

昨天的文章中,我們成功建立了一個統一發號施令的 LEDController,並實作了基於 cancel_flag 的搶佔機制。現在,只要呼叫 request_a...

2026-09-07 ‧ 由 will2108 分享
DAY 23

Day 23 - 如何優雅地殺死 Python Thread?世代計數器 (Generation Counter) 的妙用

在前幾天的文章中,我們探討了如何透過「軟即時排程器」與「優先權設計」來管理邊緣閘道器 (Edge Gateway) 上的硬體狀態 (LED 指示燈)。我們實作了...

2026-09-08 ‧ 由 will2108 分享
DAY 24

[Day 24] 硬體通訊的眉角:time.sleep() 帶來的災難與 Debounce (防彈跳) 實戰

大家好,我是 [您的名字/暱稱]。在前面的天數裡,我們探討了多執行緒 (Multi-threading) 的架構、優先級設計,以及如何優雅地清理那些失控的 Th...

2026-09-09 ‧ 由 will2108 分享
DAY 25

Day 25:從隱性狀態到嚴謹架構:淺談有限狀態機 (FSM) 如何徹底解決爭奪鬧劇

🎯 問題情境 (The Problem) 在邊緣運算閘道器 (EdgeNode) 的開發中,我們設計了許多指示燈與系統狀態來反映機台當下的狀況。例如: 插上設...

2026-09-10 ‧ 由 will2108 分享
DAY 26

Day 26:開源前的準備:實戰機敏資訊去敏與自動化發布檢查

🎯 問題情境 (The Problem) 在邊緣運算閘道器 (EdgeNode) 的研發過程中,工程團隊通常會在測試階段將各種伺服器 IP、SFTP 連線帳密、...

2026-09-11 ‧ 由 will2108 分享